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

java做网站开发成本高十大广告联盟

java做网站开发成本高,十大广告联盟,长沙最大的广告公司,wordpress媒体库插件文章目录 一、图像直方图二、图像直方图的作用三、使用matplotlib方法绘制直方图2.使用opencv的方法绘制直方图(划分16个小的子亮度区间)3、绘制彩色图像的直方图 四、直方图均衡化1、绘制原图的直方图2、绘制经过直方图均衡化后的图片的直方图3、自适应…

文章目录

  • 一、图像直方图
  • 二、图像直方图的作用
  • 三、使用matplotlib方法绘制直方图
    • 2.使用opencv的方法绘制直方图(划分16个小的子亮度区间)
    • 3、绘制彩色图像的直方图
  • 四、直方图均衡化
    • 1、绘制原图的直方图
    • 2、绘制经过直方图均衡化后的图片的直方图
    • 3、自适应直方图均衡化
      • 1)概念
      • 2)步骤
      • 3)代码实现


一、图像直方图

图像直方图是描述图像像素值分布情况的统计图形。它表示了图像中不同像素值的数量或频率。
在这里插入图片描述

在图像直方图中,横轴表示像素值的范围,通常为0-255,纵轴表示像素值的数量或频率。直方图的每一个条柱代表某个像素值范围内像素的数量或频率。例如,柱子的高度表示图像中具有该像素值的像素的数量或出现的频率。
在这里插入图片描述
在这里插入图片描述

二、图像直方图的作用

  • 分析图像的亮度分布
    通过直方图可以了解图像中不同亮度值的像素数量,从而判断图像的亮度分布情况。例如,如果直方图中灰度级别集中在低亮度区域,说明图像较暗;如果直方图分布在高亮度区域,则说明图像较亮。

  • 判断图像的对比度
    直方图的宽度反映了图像的对比度。直方图宽度越大,表示图像中像素值分布越分散,对比度越高;相反,直方图宽度越窄,表示图像中像素值分布越集中,对比度越低。

  • 检测图像的亮度和色彩偏移
    通过比较不同颜色通道的直方图,可以判断图像是否存在亮度或色彩偏移。例如,如果红色通道的直方图偏向左侧,则说明图像偏向较暗的红色,存在亮度偏移。

  • 图像增强和调整
    通过分析直方图,可以根据图像的特点进行增强和调整。例如,可以通过直方图均衡化来增强图像的对比度;可以通过直方图匹配来调整图像的色彩和亮度分布。

  • 阈值分割
    直方图可以用于确定图像的阈值,用于分割图像中的目标物体和背景。通过直方图的谷底或者双峰可以确定一个适合的阈值值,将图像分成两个部分。

三、使用matplotlib方法绘制直方图

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

在这里插入图片描述

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

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

统计的值为每个亮度区间内属于该亮度值的像素点个数。
在这里插入图片描述

3、绘制彩色图像的直方图

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()

在这里插入图片描述

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

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

在这里插入图片描述
在这里插入图片描述

3、自适应直方图均衡化

1)概念

传统的直方图均衡化方法是将整个图像的直方图变成均匀分布,但在某些情况下,图像的局部区域可能存在过亮或过暗的问题。自适应直方图均衡化通过将图像分成多个小的局部区域,并对每个局部区域进行直方图均衡化,从而避免了全局均衡化带来的问题。

2)步骤

  • 将图像分成多个不重叠的小块,每个小块称为一个局部区域。
  • 对每个局部区域进行直方图均衡化,得到均衡化后的局部区域。
  • 将均衡化后的局部区域重新拼合,得到最终的均衡化图像。

3)代码实现

(接上面代码)

clahe = cv2.createCLAHE(clipLimit=1,tileGridSize=(16,16))   # 通过类创建了一个均衡化对象
# clipLimit表示对比度的限制,tileGridSize表示图像均匀划分的小块大小
phone_clahe = clahe.apply(phone)  # 将均衡化对象应用到图片phone上得到均衡化处理后的图片phone_clahe
res = np.hstack((phone,phone_equalize,phone_clahe))  # 将原图、直方图均衡化后的图像、自适应直方图均衡化后的图像,水平方向合并
cv2.imshow("phone_equalize",res)
cv2.waitKey(0)

在这里插入图片描述


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

相关文章:

  • 找做网站公司经验磁力猫torrentkitty官网
  • 台州市城乡建设规划局网站网络销售技巧和话术
  • iis建设的网站无法访问百度教育官网
  • 用空间做网站如何做好安全西安竞价托管公司
  • 东莞网站建设公司企业360识图
  • 珠海品牌机械网站建设2023新一轮病毒叫什么名字
  • 新疆住房和城乡建设部网站新站点seo联系方式
  • 华人频道青岛网站考研培训机构排名
  • 外贸网站外贸网站建设行吗西安优化seo
  • 海珠区建网站公司花都网络推广seo公司
  • 竞价网站与竞价网站之间做友情链接广告联盟怎么赚钱
  • 重庆门户网站长沙优化排名推广
  • phpcms网站seo怎么做宁波seo
  • 又做投资的网站吗最近军事新闻热点大事件
  • 简单网站制作惠州seo排名外包
  • 餐饮手机微网站怎么做矿坛器材友情交换
  • 珠海网站建seo搜索引擎优化教程
  • 企业高端网站建设公司网站seo公司
  • 上海人才网最新招聘信息官方网站苹果aso优化
  • python建设网站实例网站seo教材
  • 有没有专门做建筑造价的私单网站福州百度推广电话
  • 网络工程师工作张家口网站seo
  • 网站建设平台计划书郑州百度快照优化
  • 智能手表网站百度联盟app
  • 淘宝可以在哪些网站上面打做推广上海优化外包公司排名
  • wordpress 代码特征优化大师是什么意思
  • 长沙市建设发展集团有限公司网站什么软件可以免费发广告
  • 网站建设推广公司需要哪些岗位软文代写多少钱一篇
  • 网站建设公司讯息东莞优化网站制作
  • 网站登记备案查询百度电话