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

做网站在线咨询大学生网站建设策划书范文

做网站在线咨询,大学生网站建设策划书范文,电商小白如何做网店运营,中国建设部网站首页一.什么是直方图 反映图像像素分布的统计图,横坐标就是图像像素的取值,纵坐标是该像素的个数。 二.绘制直方图 histcv2.calcHist(images, channels, mask, histSize, ranges) - images:输入图像列表(必须用[ ]包裹)&a…

一.什么是直方图

反映图像像素分布的统计图,横坐标就是图像像素的取值纵坐标是该像素个数

二.绘制直方图

hist=cv2.calcHist(images, channels, mask, histSize, ranges)

- images:输入图像列表(必须用[ ]包裹),可以是一幅或多幅图像(通常是灰度图像或者彩色图像的各个通道)。

- channels:如果输入图像是灰度图,它的值就是 [0];如果是彩色图像的话,传入的参数可以是 [0],[1],[2] 它们分别对应着通道 B,G,R。

- mask(可选):一个与输入图像尺寸相同的二值掩模图像,其中非零元素标记了参与直方图计算的区域, None 为全部计算。

- histSize:一个整数列表,也就是直方图的区间个数(柱子的数目)。用中括号括起来,例如:[256]

- ranges:每维数据的取值范围,它是一个二维列表,每一维对应一个通道的最小值和最大值,例如对灰度图像可能是 [0, 256]。

返回值hist 是一个长度为255的数组,数组中的每个值表示图像中对应灰度等级的像素计数

下面介绍一个方法,获取部分信息便于后面绘图:

minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(hist)

获取直方图的最小值最大值及其对应的位置索引

绘图函数:

cv2.line(img, pt1, pt2, color, thickness)

- img:原始图像,即要在上面画线的numpy数组(一般为uint8类型)。

- pt1 pt2:分别为线段的起点和终点坐标,它们都是元组类型,例如 (x1, y1) 和 (x2, y2) 分别代表线段两端的横纵坐标。

- color:线段的颜色,通常是一个包含三个元素的元组 `(B, G, R)` 表示BGR色彩空间的像素值,也可以是灰度图像的一个整数值。

- thickness:线段的宽度,默认值是1,如果设置为负数,则线宽会被 填充。

import cv2 as cv
import numpy as npimg = cv.imread('../images/zhifang.png')# 获取图像像素计数相关信息
hist = cv.calcHist([img], [0], None, [256], [0, 256])# 获取直方图最小值、最大值及其位置索引
minVal, maxVal, minLoc, maxLoc = cv.minMaxLoc(hist)# 限制直方图的高,不要超过图像高度的90%
hist_height = int(256 * 0.9)# 创建一张全白的图像,作为背景来绘图
hist_img = np.full((256, 256, 3), 255, np.uint8)# 绘制直方图
for h in range(256):# 计算每个直方图的高度,这里* hist_height / maxVal 是为了限制直方图的高度,不要超过图像高度的90%height = int(hist[h].item() * hist_height / maxVal )# 开始绘制(这里的坐标系是opencv绘图的坐标系,不要搞混了)cv.line(hist_img, (h, 256), (h, 256 - height), (0, 0, 255), 1)cv.imshow('hist', hist_img)
cv.waitKey(0)
cv.destroyAllWindows()

三.直方图均衡化

        就是用来改善图像的全局亮度对比度,通俗的讲,就是遍历图像的像素统计出灰度值的个数、比例与累计比例,并重新映射(归一化)到0-255范围(也可以是其他范围)内。

3.1 自适应直方图均衡化(Adaptive Histogram Equalization, AHE)

首先就是统计其每个像素值的个数、比例以及其累计比例

        随后用原像素值的累计比例乘以255(一般缩放比例都是0~255),得到新的像素值。这样就完成了最基本的直方图均衡化的过程:

AHE函数:

dst = cv.equalizeHist(imgGray)

imgGray为需要直方图均衡化的灰度图,返回值为处理后的图像

import cv2 as cv
import numpy as np# 直接灰度化
img = cv.imread('../images/zhifang.png', cv.IMREAD_GRAYSCALE)# 自适应直方图均衡化
img_adapteq = cv.equalizeHist(img)cv.imshow('img', img)
cv.imshow('img_adapteq', img_adapteq)
cv.waitKey(0)
cv.destroyAllWindows()

        该方法适用于图像的灰度分布不均匀,且灰度分布集中更窄的范围,图像的细节不够清晰对比度较低的情况。但很明显,因为全局调整亮度和对比度的原因,脸部太亮,大部分细节丢失了。

3.2 对比度受限的自适应直方图均衡化(CLAHE)

其主要步骤为:

1. 图像分块(Tiling):

   - 图像首先被划分为多个不重叠的小块(tiles)。这样做的目的是因为在全局直方图均衡化中,单一的直方图无法反映图像各个局部区域的差异性。(tiles 的 大小默认是 8x8

2. 计算子区域直方图

   - 对于每个小块独立计算其内部像素的灰度直方图。直方图反映了该区域内像素值的分布情况。

3. 子区域直方图均衡化

   - 对每个小块的直方图执行直方图均衡化操作。这涉及重新分配像素值,以便在整个小块内更均匀地分布。均衡化过程会增加低频像素的数量,减少高频像素的数量,从而提高整个小块的对比度。

4. 对比度限制(Contrast Limiting):

   - 为了防止过大的对比度增强导致噪声放大,出现了限制对比度自适应直方图均衡化。CLAHE会在直方图均衡化过程中引入一个对比度限制参数。当某一小块的直方图在均衡化后出现极端值时,会对直方图进行平滑处理(使用线性或非线性的钳制函数),确保对比度增强在一个合理的范围内。

5. 重采样和邻域像素融合

   - 由于小块之间是不重叠的,直接拼接经过均衡化处理的小块会产生明显的边界效应。因此,在CLAHE中通常采用重采样技术来消除这种效应,比如通过双线性插值将相邻小块的均衡化结果进行平滑过渡,使最终图像看起来更为自然和平滑。

6. 合成输出图像

   - 将所有小块均衡化后的结果整合在一起,得到最终的自适应直方图均衡化后的图像。

clahe = cv2.createCLAHE(clipLimit=None, tileGridSize=None)

- clipLimit(可选):对比度限制参数,用于控制直方图均衡化过程中对比度增强的程度。如果不设置,OpenCV会使用一个默认值1

- tileGridSize(可选):图像分块的大小,通常是一个包含两个整数的元组,如(8, 8)。分块大小的选择会影响到CLAHE的效果以及处理速度

创建CLAHE对象后,可以使用 .apply() 方法对图像进行CLAHE处理

img=clahe.apply(image)

- image:要均衡化的图像。

- img:均衡后的图像

import cv2 as cv
import numpy as np# 直接灰度化
img = cv.imread('../images/zhifang.png', cv.IMREAD_GRAYSCALE)# 自适应直方图均衡化
img_adapteq = cv.equalizeHist(img)# 对比度受限直方图均衡化
clahe = cv.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))
img_clahe = clahe.apply(img)cv.imshow('img', img)
cv.imshow('img_adapteq', img_adapteq)
cv.imshow('img_clahe', img_clahe)
cv.waitKey(0)
cv.destroyAllWindows()

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

相关文章:

  • 站长之家官网入口微网站开发入门
  • 用dw做网站 的过程我厂有大量手工活外发加工
  • intitlt:山西大同网站建设如何建立网址
  • 个人网站建设方案书销售网站的优秀标准
  • 一个网站的后台怎样查看网站的权重
  • 上海seo网站优化淄博网站建设选择臻动传媒
  • 湖北省建设招投标监督机构网站黑马教育培训官网
  • 妹妹强迫我和她做网站应用市场下载安装app
  • 梅州网站优化公司网站建设要多久
  • 做html5网站衡水淘宝的网站建设
  • 免费建站网站一级123456炒币网站开发
  • 专业建站网站服务销售课程培训视频教程
  • 学习网站建设要什么学历windows版本的wordpress
  • 整站seo服务知名的crm管理系统
  • 三只小猪的题目登网站做wordpress 搜索 自定义字段
  • 百度站长平台工具wordpress上传漏洞
  • 网站推广在哪好昌平电子网站建设
  • 做网站入什么会计科目台州做网站seo的
  • 外贸企业网站制作哪家好年度关键词
  • 做剧情游戏的网站站长工具seo综合查询怎么看数据
  • 江苏伟业建设集团网站网站建设模板是什么
  • 做网站卖印度药2015做哪些网站致富
  • 兰州 网站建设公司哪家好网站建设数据库系统
  • 网络网站开发设计用Python做网站如何配置域名
  • 做网站需要服务器网站优化排名软件推广
  • 网上书城网站开发方案网站建设公司果动c
  • 保定手机网站建设重庆企业网站如何推广
  • 廊坊建设银行网站怎样优化排名自己网站
  • 房山网站建设服务河南郑州网站建设哪家公司好
  • 苏州网络自学网站建设wordpress安装上传