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

wordpress 上线到centos电商seo是什么意思

wordpress 上线到centos,电商seo是什么意思,网站开发页面,网站开发公司能不能去目录 一、直方图 1、计算并显示直方图 2、使用matplotlib方法绘制直方图(不划分小的子区间) 3、使用opencv的方法绘制直方图 (划分16个小的子亮度区间) 4、绘制彩色图像的直方图,将各个通道的直方图值都画出来 二、…

目录

一、直方图

 1、计算并显示直方图

2、使用matplotlib方法绘制直方图(不划分小的子区间)

3、使用opencv的方法绘制直方图 (划分16个小的子亮度区间)

4、绘制彩色图像的直方图,将各个通道的直方图值都画出来

二、直方图均衡化

(1)绘制原图的直方图

 (2)绘制经过直方图均衡化后的图片的直方图

(3)自适应直方图均衡化(局部直方图处理)

三、直方图均衡化的应用

1. 增强图像对比度

2. 提升图像视觉效果

3. 统一图像灰度分布

4. 适用于低对比度图像

总结


一、直方图

直方图:是图像中像素强度分布的图形表达方式,统计各个强度像素值的个数。

直方图的作用:例如视频中。通过标记帧和帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变换。

灰度值在0 - 255范围之间总共 256 个值,可以将我们的范围划分为子部分(称为bins),例如我们可以将这些像素亮度值划分为16个区间值,【0,15】、【16,31】,这两个就是两个亮度区间,它表示会统计亮度值在0到15的所有像素点的个数。

 1、计算并显示直方图

cv2.calcHist(images,channels,mask,histSize,ranges)  计算图像的直方图,用于表示图像中像素灰度级别的分布情况.
images: 原图像图像格式为 uint8 或 float32。当传入函数时应 用中括号 [] 括来例如[img]

channels: 表示传入的图像通道数。如果输入图像是灰度图它的值就是 [0]。
          如果是彩色图像 的传入的参数可以是 [0][1][2] 它们分别对应着 BGR。

mask: 掩模图像。统计整幅图像的直方图就把它为None。但是如果你想统计图像某一部分的直方图,你就制作一个掩模图像并使用它。

histSize:BINS的数目。也需用中括号括来   (分成多少个区间)
  BINS :上面的直方图显示了每个像素值的像素数,即从0到255。即您需要256个值才能显示上述直方图。
      但是请考虑一下,如果您不需要单独查找所有像素值的像素数,而是在像素值间隔内查找像素数,
      例如,您需要找到介于 0 到 15 之间的像素数,然后是 16 到 31、32到47...、240 到 255。
      您只需要 16 个值来表示直方图。
因此,只需将整个直方图拆分为 16 个子部分,每个子部分的值就是其中所有像素计数的总和。
这每个子部分都称为"BIN"。在第一种情况下,条柱数为256(每个像素一个),而在第二种情况下,它只有16。BINS 在 OpenCV 文档中由术语histSize表示。

ranges: 像素值范围常为 [0 256]

2、使用matplotlib方法绘制直方图(不划分小的子区间)

 这里使用了 numpy 的 ravel 函数,将多维数组拉成一维数组。

img =cv2.imread('../data/310.jpg',cv2.IMREAD_GRAYSCALE)# 转成一维
a=img.ravel()# 使用 matplotlib 的 hist 函数绘制直方图。
plt.hist(a,bins=256)
plt.show()# 参数解释:
# - a:一维数组,即图像的像素值组成的数组。
# - bins=256:指定直方图的条数,即灰度级的数量。

效果:可以看出下面结果中有0~256的亮度值的统计情况 

 

3、使用opencv的方法绘制直方图 (划分16个小的子亮度区间)

#这里的calcHist参数在上面有介绍,这里是对img图片做直方图统计,采用灰度图,即零通道,未设置掩膜,划分为16个区间,亮度值统计[0,256]的值
phone_hist = cv2.calcHist([img],[0],None,[16],[0,256])
plt.plot(phone_hist)#使用calcHist的值绘制曲线图
plt.show()

效果,统计的值为每个亮度区间内属于该亮度值的像素点个数

4、绘制彩色图像的直方图,将各个通道的直方图值都画出来

img=cv2.imread('zl.jpg')
color=('b','g','r')    #设置绘制的折线图每条线的颜色
for i,col in enumerate(color):    #依次遍历三个颜色通道histr=cv2.calcHist([img],[i],None,[256],[0,256])    #依次计算每个通道的直方图值plt.plot(histr,color=col)    #绘制折线图
plt.show()

效果:分别统计了不同颜色通道下的直方图

二、直方图均衡化

直方图均衡化:直方图均衡化是一种图像增强技术,它可以通过增加图像的对比度和亮度来改善图像的质量。直方图均衡化通过将图像的像素值分布均匀化来实现这一目标。
在Python OpenCV中,可以使用cv2.equalizeHist()函数来实现直方图均衡化。该函数将输入图像转换为灰度图像,并将其像素值分布均匀化,从而增强图像的对比度和亮度。下面是将不均衡的直方图均衡化之后的结果。

(1)绘制原图的直方图

woman = cv2.imread('ja.jpg',cv2.IMREAD_GRAYSCALE)
# # # phone_hist = cv2.calcHist([phone],[0],None,[256],[0,256])
plt.hist(woman.ravel(), bins=256)#numpy中的ravel将数组多维度拉成一维数组
plt.show()

 可以看出图像的亮度值集中在50左右

 

 (2)绘制经过直方图均衡化后的图片的直方图

phone_equalize = cv2.equalizeHist(woman)
plt.hist(phone_equalize.ravel(), bins=256)#numpy中的ravel将数组多维度拉成一维数组
plt.show()

与原图对比,直方图均衡化是对全局做均衡化,这使亮度值很大的像素点增多了,表现在图像上就是图像整体变亮。 

 

(3)自适应直方图均衡化(局部直方图处理)

普通直方图均衡化(HE)通过全局灰度变换增强对比度,但对噪声敏感且可能过度放大局部噪声(如暗部噪声)。自适应直方图均衡化(AHE) 将图像划分为多个子块(tiles),对每个子块独立进行直方图均衡化,从而实现局部对比度增强,避免全局均衡化的缺陷。

改进版:限制对比度的自适应直方图均衡化(CLAHE, Contrast-Limited AHE):在 AHE 基础上,通过设定灰度值裁剪阈值(clip limit),防止子块内噪声或纹理被过度增强,是实际应用中更常用的方法。

主要优点

  • 局部对比度增强:针对不同区域的局部特征调整对比度,适合光照不均或局部细节丰富的图像(如医学影像、卫星图像)。
  • 抑制噪声放大:通过裁剪阈值(clip limit)限制子块内直方图的峰值,避免噪声或纹理被过度增强。
  • 保留细节与自然感:相比全局均衡化,CLAHE 在增强局部细节的同时,减少过增强导致的伪影(如棋盘效应)。

函数:cv2.createCLAHE([, clipLimit[, tileGridSize]]) 

参数说明:
clipLimit:设定子块内直方图均衡化时的灰度值裁剪阈值,单位为 “像素数 / 面积”(即每个灰度级允许的最大像素数密度)。可选项,默认值 8
titleGridSize:设定子块的大小(行数 × 列数),单位为像素。可选项,默认值 (8,8)。
  • titleGridSize取值影响
    • 较小尺寸(如 4x4):局部细节增强更精细,但计算量增加,可能引入棋盘效应(需通过插值缓解)。
    • 较大尺寸(如 16x16):局部处理更粗糙,适合全局对比度增强需求,减少分块边界的影响。

创建一个自适应直方图对像,并将上面的woman这张图像传入

clahe = cv2.createCLAHE(clipLimit=1, tileGridSize=(16,16))#通过类创建了一个局部均衡化对象
phone_clahe = clahe.apply(woman)
plt.hist(phone_clahe.ravel(), bins=256)#numpy中的ravel将数组多维度拉成一维数组
plt.show()

自适应直方图均衡化则是划分子块均衡化会减少分块边界的影响。 

 使用hstack()函数水平堆叠上面的三张图片用于对比,直方图均衡化与自适应直方图均衡化的区别

  • hstackhconcat):水平堆叠,沿列方向扩展。
  • vstackvconcat):垂直堆叠,沿行方向扩展(对应函数为 np.vstack 和 cv2.vconcat)。
res = np.hstack((woman,phone_equalize,phone_clahe))
cv2.imshow('phone_equalize',res)
cv2.waitKey(0)

 从左到右依次是原图、直方图均衡化、自适应直方图均衡化

三、直方图均衡化的应用

1. 增强图像对比度

  • 原理:将图像中原本集中的灰度范围 “拉伸” 到更宽的动态范围,使图像中不同灰度级的像素分布更均匀(直方图趋于平坦)。
  • 效果:让原本对比度低、细节模糊的图像(如暗部过暗或亮部过亮)变得更清晰,暗部和亮部的细节更容易分辨。
  • 示例:在医学影像(如 X 光片)中,均衡化可增强组织间的对比度,便于医生观察病灶。

2. 提升图像视觉效果

  • 通过均衡化,图像中原本难以区分的灰度区域(如相近的明暗过渡)会变得层次分明,整体视觉效果更自然。
  • 例如:修复老照片时,均衡化可改善因曝光不足或过度导致的细节丢失。

3. 统一图像灰度分布

  • 将图像的灰度直方图调整为近似均匀分布,使像素灰度值覆盖更广泛的范围。
  • 这为后续的图像处理任务(如图像分割、特征提取、模式识别等)提供更优质的输入,提升算法效果。

4. 适用于低对比度图像

  • 特别适合处理因光照不均、传感器噪声等导致对比度低下的图像(如阴天拍摄的照片、卫星遥感图像),通过均衡化恢复图像细节。

总结

直方图均衡化通过重新分配像素的灰度值,将图像的动态范围最大化利用,使图像从 “对比度不足” 转变为 “层次丰富”,是图像处理中基础且高效的增强手段。其本质是通过数学变换(累积分布函数,CDF)实现灰度的非线性映射,从而优化视觉效果和后续处理的可行性。

http://www.dtcms.com/wzjs/566827.html

相关文章:

  • 上海专业网站建设哪家好广州住房公积金建设银行预约网站首页
  • 一起做网站女装夏季裙asp静态网站源码
  • 广州割双眼皮网站建设wordpress网站托管
  • 外贸网站论文重庆网站建设坤思特
  • 个人网站建立教程网站推广的方式有哪几种
  • 正在建设中的网站可算违规看不到的网站
  • wordpress大前端整站信阳制作网站ihanshi
  • 网站优化的前景郑州河北建设工程信息网站
  • 买网站做seo龙岩高风险地区
  • 成都网站建设制作苏州优秀网站设计
  • 公司网站建设费会计处理启动培训网站建设的请示
  • 网站建设补充协议品牌网站制作公司
  • app官方网站专业的培训行业网站模板
  • 恐龙网站建设网站建设职位有什么
  • 安徽省招标投标信息网官方网站泰安集团网站建设费用
  • 成都网站成都网站制作公司苏州网站建设公司找哪家
  • 做古建的那些网站比较适合国内谷歌网站SEO优化
  • asp网站后台管理系统源码wordpress自适应手机主题
  • jsp网站建设 书籍南京手机app开发公司
  • 超市网站源码网站建设的用户名和密码代码
  • 深圳有多少网站建设公司1个服务器可以做多少个网站
  • 网站建设策划书网站发布与推广网站开发中涉及的两种服务器
  • 建立网站的信息集成过程成都网站建设 雷
  • 建设银行网站如何查询开户行企业融资需要准备哪些资料
  • jquery在网站开发实例运用wordpress后台仅显示当前主题
  • 哈尔滨精致网站建设怎么做vip网站
  • 兄弟网站制作下载网站软件免费安装
  • 做企业网站需要的人.net做网站的吗
  • wordpress图片站点云南网站开发公司
  • 网站页面设计培训静宁县建设局网站