当前位置: 首页 > news >正文

炒域名 网站nodejs网站毕设代做

炒域名 网站,nodejs网站毕设代做,打电话沟通做网站话术,深圳市城乡建设局网站python实现直方图均衡化、自适应直方图均衡化、连接组件标记算法 1.直方图均衡化算法详解算法步骤公式Python 实现详细解释优缺点 2.自适应直方图均衡化算法详解算法步骤公式Python 实现详细解释优缺点 3.连接组件标记算法详解算法步骤8连通与4连通公式Python 实现详细解释优缺… python实现直方图均衡化、自适应直方图均衡化、连接组件标记算法 1.直方图均衡化算法详解算法步骤公式Python 实现详细解释优缺点 2.自适应直方图均衡化算法详解算法步骤公式Python 实现详细解释优缺点 3.连接组件标记算法详解算法步骤8连通与4连通公式Python 实现详细解释优缺点 1.直方图均衡化算法详解 直方图均衡化Histogram Equalization是一种用于增强图像对比度的技术。它通过调整图像的灰度值分布使图像的灰度值更加均匀从而提升图像的整体对比度。 算法步骤 计算原始图像的灰度直方图统计图像中每个灰度值出现的次数。计算累积分布函数CDF累积直方图。应用均衡化公式将原始图像中的每个灰度值映射到新的灰度值。生成均衡化后的图像。 公式 Python 实现 以下是直方图均衡化算法的Python实现代码 import numpy as np from PIL import Image import matplotlib.pyplot as pltdef histogram_equalization(image):# 将图像转换为灰度图像grayscale_image image.convert(L)image_array np.array(grayscale_image)# 计算灰度直方图hist, bins np.histogram(image_array.flatten(), bins256, range[0, 256])# 计算累积分布函数CDFcdf hist.cumsum()cdf_normalized cdf * hist.max() / cdf.max() # 归一化# 使用累积分布函数CDF进行均衡化cdf_min cdf.min()cdf_m np.ma.masked_equal(cdf, 0)cdf_m (cdf_m - cdf_min) * 255 / (cdf.max() - cdf_min)cdf np.ma.filled(cdf_m, 0).astype(uint8)# 将均衡化后的灰度值映射到原始图像equalized_image_array cdf[image_array]equalized_image Image.fromarray(equalized_image_array)return equalized_image# 示例用法 if __name__ __main__:image Image.open(example.jpg) # 打开原始图像equalized_image histogram_equalization(image) # 调用直方图均衡化函数equalized_image.show() # 显示均衡化后的图像equalized_image.save(equalized_example.jpg) # 保存均衡化后的图像# 绘制原始图像和均衡化后的直方图plt.figure()plt.subplot(121)plt.title(Original Image Histogram)plt.hist(np.array(image.convert(L)).flatten(), bins256, range[0, 256], colorblack)plt.subplot(122)plt.title(Equalized Image Histogram)plt.hist(np.array(equalized_image).flatten(), bins256, range[0, 256], colorblack)plt.show()详细解释 读取图像和转换为灰度图像 image Image.open(example.jpg) grayscale_image image.convert(L)计算灰度直方图 image_array np.array(grayscale_image) hist, bins np.histogram(image_array.flatten(), bins256, range[0, 256])计算累积分布函数CDF cdf hist.cumsum() cdf_normalized cdf * hist.max() / cdf.max()使用CDF进行均衡化 cdf_min cdf.min() cdf_m np.ma.masked_equal(cdf, 0) cdf_m (cdf_m - cdf_min) * 255 / (cdf.max() - cdf_min) cdf np.ma.filled(cdf_m, 0).astype(uint8)映射原始灰度值到新的灰度值 equalized_image_array cdf[image_array] equalized_image Image.fromarray(equalized_image_array)显示和保存均衡化后的图像 equalized_image.show() equalized_image.save(equalized_example.jpg)绘制直方图 plt.subplot(121) plt.title(Original Image Histogram) plt.hist(np.array(image.convert(L)).flatten(), bins256, range[0, 256], colorblack) plt.subplot(122) plt.title(Equalized Image Histogram) plt.hist(np.array(equalized_image).flatten(), bins256, range[0, 256], colorblack) plt.show()优缺点 优点 增强对比度提高图像的整体对比度使细节更加清晰。实现简单算法简单易于实现。 缺点 可能引入噪声在一些情况下可能会引入不必要的噪声。不适用于所有图像对于已经具有良好对比度的图像效果可能不明显。 直方图均衡化是一种简单且有效的图像增强技术适用于提升图像对比度的应用场景。 2.自适应直方图均衡化算法详解 自适应直方图均衡化Adaptive Histogram Equalization, AHE是一种改进的直方图均衡化方法它在局部区域内即图像的子块进行直方图均衡化而不是对整个图像进行全局均衡化。这种方法可以更好地增强图像的局部对比度但也可能会引入噪声。 对比度受限的自适应直方图均衡化Contrast Limited Adaptive Histogram Equalization, CLAHE是AHE的一种改进版本。CLAHE通过对每个子块中的直方图进行剪裁限制对比度增强的程度从而减少噪声的引入。 算法步骤 将图像划分为多个子块将图像分成多个不重叠的子块。对每个子块进行直方图均衡化计算每个子块的直方图和累积分布函数CDF并应用均衡化公式。对每个子块进行对比度限制CLAHE对直方图进行剪裁限制增强的对比度。插值重构图像对每个子块的均衡化结果进行双线性插值重构整个图像。 公式 Python 实现 以下是自适应直方图均衡化CLAHE的Python实现代码 import cv2 import numpy as np from PIL import Imagedef adaptive_histogram_equalization(image, clip_limit2.0, grid_size(8, 8)):自适应直方图均衡化 (CLAHE) 算法实现参数:image (PIL.Image): 输入图像clip_limit (float): 对比度限制grid_size (tuple): 网格大小返回:PIL.Image: 均衡化后的图像# 将图像转换为灰度图像grayscale_image image.convert(L)image_array np.array(grayscale_image)# 创建CLAHE对象clahe cv2.createCLAHE(clipLimitclip_limit, tileGridSizegrid_size)# 应用CLAHE算法equalized_image_array clahe.apply(image_array)# 将处理后的数组转换为图像equalized_image Image.fromarray(equalized_image_array)return equalized_image# 示例用法 if __name__ __main__:image Image.open(example.jpg) # 打开原始图像equalized_image adaptive_histogram_equalization(image) # 调用自适应直方图均衡化函数equalized_image.show() # 显示均衡化后的图像equalized_image.save(equalized_example.jpg) # 保存均衡化后的图像详细解释 读取图像和转换为灰度图像 image Image.open(example.jpg) grayscale_image image.convert(L)将灰度图像转换为NumPy数组 image_array np.array(grayscale_image)创建CLAHE对象 clahe cv2.createCLAHE(clipLimit2.0, tileGridSize(8, 8))应用CLAHE算法 equalized_image_array clahe.apply(image_array)将处理后的数组转换为图像 equalized_image Image.fromarray(equalized_image_array)显示和保存均衡化后的图像 equalized_image.show() equalized_image.save(equalized_example.jpg)优缺点 优点 增强局部对比度能够有效增强图像的局部对比度适用于对局部细节要求较高的图像。减少噪声引入相比传统的AHECLAHE通过对比度限制减少了噪声的引入。 缺点 计算复杂度高由于需要对每个子块进行处理计算复杂度较高。实现复杂相比全局直方图均衡化实现过程更复杂。 自适应直方图均衡化特别适用于那些需要增强局部对比度的应用场景如医学影像、卫星图像等。CLAHE进一步改善了AHE的不足使其在实际应用中更加实用。 3.连接组件标记算法详解 连接组件标记算法Connected Component Labeling, CCL是一种用于在二值图像中标识和分类不同连接组件的算法。连接组件是指图像中所有像素值相同且彼此相邻的像素组成的区域。CCL算法用于图像分割、物体检测和图像理解等任务中。 算法步骤 初始化标签为每个像素初始化一个唯一的标签。遍历图像扫描图像的每个像素根据邻域像素的标签更新当前像素的标签。合并标签在遍历过程中记录不同标签的合并关系形成等价类。第二次遍历根据标签的合并关系更新图像中的标签。 8连通与4连通 4连通每个像素与上下左右四个像素相邻。8连通每个像素与周围八个像素相邻。 公式 Python 实现 以下是连接组件标记算法的Python实现代码 import numpy as np import cv2 from matplotlib import pyplot as pltdef connected_component_labeling(image):连接组件标记算法实现参数:image (numpy.ndarray): 二值图像返回:numpy.ndarray: 标记后的图像# 将图像转换为二值图像binary_image cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)[1]# 获取图像的行和列rows, cols binary_image.shape# 初始化标签数组labels np.zeros((rows, cols), dtypeint)label 1 # 初始化标签# 记录等价类label_equivalence {}# 遍历图像for i in range(rows):for j in range(cols):if binary_image[i, j] 255: # 如果当前像素为前景像素# 获取邻域像素的标签neighbors []if i 0 and labels[i-1, j] 0:neighbors.append(labels[i-1, j])if j 0 and labels[i, j-1] 0:neighbors.append(labels[i, j-1])if neighbors:min_label min(neighbors)labels[i, j] min_labelfor neighbor in neighbors:if neighbor ! min_label:if neighbor in label_equivalence:label_equivalence[neighbor].add(min_label)else:label_equivalence[neighbor] {min_label}if min_label in label_equivalence:label_equivalence[min_label].add(neighbor)else:label_equivalence[min_label] {neighbor}else:labels[i, j] labellabel 1# 合并等价标签for i in range(rows):for j in range(cols):if labels[i, j] in label_equivalence:min_equivalent_label min(label_equivalence[labels[i, j]])labels[i, j] min_equivalent_labelreturn labels# 示例用法 if __name__ __main__:# 创建一个简单的二值图像binary_image np.array([[0, 0, 0, 255, 255, 0, 0, 0],[0, 255, 255, 255, 255, 255, 0, 0],[0, 255, 255, 255, 255, 255, 255, 0],[0, 0, 0, 255, 255, 0, 0, 0],[0, 0, 0, 0, 0, 0, 0, 0],[0, 0, 255, 255, 0, 0, 0, 0],[0, 255, 255, 255, 255, 0, 0, 0],[0, 0, 0, 255, 0, 0, 0, 0]], dtypenp.uint8)labeled_image connected_component_labeling(binary_image)# 显示结果plt.imshow(labeled_image, cmapjet)plt.title(Connected Component Labeling)plt.colorbar()plt.show()详细解释 读取图像并转换为二值图像 binary_image cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)[1]初始化标签数组 labels np.zeros((rows, cols), dtypeint) label 1 # 初始化标签遍历图像并更新标签 for i in range(rows):for j in range(cols):if binary_image[i, j] 255: # 如果当前像素为前景像素neighbors []if i 0 and labels[i-1, j] 0:neighbors.append(labels[i-1, j])if j 0 and labels[i, j-1] 0:neighbors.append(labels[i, j-1])if neighbors:min_label min(neighbors)labels[i, j] min_labelfor neighbor in neighbors:if neighbor ! min_label:if neighbor in label_equivalence:label_equivalence[neighbor].add(min_label)else:label_equivalence[neighbor] {min_label}if min_label in label_equivalence:label_equivalence[min_label].add(neighbor)else:label_equivalence[min_label] {neighbor}else:labels[i, j] labellabel 1合并等价标签 for i in range(rows):for j in range(cols):if labels[i, j] in label_equivalence:min_equivalent_label min(label_equivalence[labels[i, j]])labels[i, j] min_equivalent_label显示结果 plt.imshow(labeled_image, cmapjet) plt.title(Connected Component Labeling) plt.colorbar() plt.show()优缺点 优点 简单易实现基础的CCL算法实现简单适合初学者学习。有效分割前景和背景能够有效分割图像中的不同连接组件。 缺点 计算复杂度高特别是在处理大图像时计算复杂度较高。内存消耗大需要额外的内存来存储标签和等价类信息。 连接组件标记算法在图像分割和物体检测中具有广泛的应用特别适用于需要识别和分类图像中不同区域的任务。通过对等价标签的合并可以有效地解决图像中的连通区域标记问题。
文章转载自:
http://www.morning.ztqyj.cn.gov.cn.ztqyj.cn
http://www.morning.pjxw.cn.gov.cn.pjxw.cn
http://www.morning.mnpdy.cn.gov.cn.mnpdy.cn
http://www.morning.sjftk.cn.gov.cn.sjftk.cn
http://www.morning.nqbkb.cn.gov.cn.nqbkb.cn
http://www.morning.gbnsq.cn.gov.cn.gbnsq.cn
http://www.morning.dbtdy.cn.gov.cn.dbtdy.cn
http://www.morning.wdxr.cn.gov.cn.wdxr.cn
http://www.morning.srhqm.cn.gov.cn.srhqm.cn
http://www.morning.fnmtc.cn.gov.cn.fnmtc.cn
http://www.morning.hhboyus.cn.gov.cn.hhboyus.cn
http://www.morning.xsctd.cn.gov.cn.xsctd.cn
http://www.morning.zwgrf.cn.gov.cn.zwgrf.cn
http://www.morning.fjshyc.com.gov.cn.fjshyc.com
http://www.morning.xhrws.cn.gov.cn.xhrws.cn
http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn
http://www.morning.wgkz.cn.gov.cn.wgkz.cn
http://www.morning.qfmcm.cn.gov.cn.qfmcm.cn
http://www.morning.sqmbb.cn.gov.cn.sqmbb.cn
http://www.morning.ddjp.cn.gov.cn.ddjp.cn
http://www.morning.hmqjj.cn.gov.cn.hmqjj.cn
http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn
http://www.morning.kjrlp.cn.gov.cn.kjrlp.cn
http://www.morning.tnnfy.cn.gov.cn.tnnfy.cn
http://www.morning.ntqjh.cn.gov.cn.ntqjh.cn
http://www.morning.plznfnh.cn.gov.cn.plznfnh.cn
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.ldynr.cn.gov.cn.ldynr.cn
http://www.morning.yfcbf.cn.gov.cn.yfcbf.cn
http://www.morning.nfks.cn.gov.cn.nfks.cn
http://www.morning.xnhnl.cn.gov.cn.xnhnl.cn
http://www.morning.dfdhx.cn.gov.cn.dfdhx.cn
http://www.morning.myzfz.com.gov.cn.myzfz.com
http://www.morning.rwfj.cn.gov.cn.rwfj.cn
http://www.morning.jwgnn.cn.gov.cn.jwgnn.cn
http://www.morning.qlznd.cn.gov.cn.qlznd.cn
http://www.morning.junyaod.com.gov.cn.junyaod.com
http://www.morning.kpwdt.cn.gov.cn.kpwdt.cn
http://www.morning.wjwfj.cn.gov.cn.wjwfj.cn
http://www.morning.tgtsg.cn.gov.cn.tgtsg.cn
http://www.morning.lyjwb.cn.gov.cn.lyjwb.cn
http://www.morning.xqjz.cn.gov.cn.xqjz.cn
http://www.morning.hqqpy.cn.gov.cn.hqqpy.cn
http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn
http://www.morning.bbjw.cn.gov.cn.bbjw.cn
http://www.morning.mmhaoma.com.gov.cn.mmhaoma.com
http://www.morning.mysmz.cn.gov.cn.mysmz.cn
http://www.morning.cwlxs.cn.gov.cn.cwlxs.cn
http://www.morning.sfhjx.cn.gov.cn.sfhjx.cn
http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn
http://www.morning.nspzy.cn.gov.cn.nspzy.cn
http://www.morning.wftrs.cn.gov.cn.wftrs.cn
http://www.morning.cytr.cn.gov.cn.cytr.cn
http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn
http://www.morning.jpqmq.cn.gov.cn.jpqmq.cn
http://www.morning.gbpanel.com.gov.cn.gbpanel.com
http://www.morning.lgphx.cn.gov.cn.lgphx.cn
http://www.morning.ymwnc.cn.gov.cn.ymwnc.cn
http://www.morning.rfwrn.cn.gov.cn.rfwrn.cn
http://www.morning.smtrp.cn.gov.cn.smtrp.cn
http://www.morning.lfjmp.cn.gov.cn.lfjmp.cn
http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn
http://www.morning.dbbcq.cn.gov.cn.dbbcq.cn
http://www.morning.tmxtr.cn.gov.cn.tmxtr.cn
http://www.morning.yxshp.cn.gov.cn.yxshp.cn
http://www.morning.gediba.com.gov.cn.gediba.com
http://www.morning.sqlh.cn.gov.cn.sqlh.cn
http://www.morning.mmkrd.cn.gov.cn.mmkrd.cn
http://www.morning.xldpm.cn.gov.cn.xldpm.cn
http://www.morning.yllym.cn.gov.cn.yllym.cn
http://www.morning.mtzyr.cn.gov.cn.mtzyr.cn
http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn
http://www.morning.pfcrq.cn.gov.cn.pfcrq.cn
http://www.morning.fmswb.cn.gov.cn.fmswb.cn
http://www.morning.mkpqr.cn.gov.cn.mkpqr.cn
http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn
http://www.morning.xjmyq.com.gov.cn.xjmyq.com
http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn
http://www.morning.xkwrb.cn.gov.cn.xkwrb.cn
http://www.morning.wpjst.cn.gov.cn.wpjst.cn
http://www.tj-hxxt.cn/news/253326.html

相关文章:

  • 网站建设策划 优帮云教育平台
  • 网站可以不进行icp备案吗wordpress主页布局
  • 江宁网站建设价位网站个人建设
  • 网站开发技术语言自己网站开发
  • 不做网站只做推广可以么百度网盘官网
  • 网站赏析案例花垣县建设局网站
  • 西安创意网站建设filp pdf wordpress
  • 阿里云网站空间做商城流程网站域名空间代理
  • 网站建设实习内容济宁住房和城乡建设局网站
  • 网站备案现场核验物流平台系统
  • 做网站专业今天的新闻 最新消息
  • interidea 做网站公司起名字大全免费三个字
  • 专业做招聘的网站有哪些长沙人才网最新招聘信息
  • 无锡住房和城乡建设局网站网站换模板
  • 大连手机自适应网站建设费用最简单的网站开发国际化
  • 临海网站制作费用如何记账湖州微信网站建设
  • iis5建设网站大型游戏平台排行榜
  • 企业网站的设计风格wordpress必做
  • xampp本地搭建网站东莞建设监督网站
  • 给我免费的观看廊坊百度推广优化
  • 广西公路建设协会网站大型国企网站建设费用
  • 如何网站做专题西安企业招聘官网
  • 移动应用开发适合女生吗文明seo
  • wordpress建站镜像google优化推广
  • 已购买域名 如何做网站ipv6跟做网站有关吗
  • 建设企业网站都需要啥seo优化中商品权重主要由什么决定
  • 网页设计相关的网站如何让百度快照找到自己的网站
  • 仓山区城乡建设局网站建设网站需要哪些软硬件条件
  • 对网站建设的意见建议个性化定制软件
  • 局网站建设管理制度宁乡县住房和城乡建设局网站