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

网站备案更换网站优化北京seo

网站备案更换,网站优化北京seo,做美图网站有哪些东西,重庆网站备案需要几天目录 一、直方图是什么? 二、绘制直方图 代码示例 运行结果 三、直方图均衡化 1. 全局直方图均衡化 代码示例 运行结果 四、自适应直方图均衡化 1. 对比度受限的自适应直方图均衡化(CLAHE) 代码示例 运行结果 五、总结 在图像处…

目录

一、直方图是什么?

二、绘制直方图

代码示例

运行结果

三、直方图均衡化

1. 全局直方图均衡化

代码示例

运行结果

四、自适应直方图均衡化

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

代码示例

运行结果

五、总结


在图像处理中,直方图均衡化是一种常用的图像增强技术,它可以帮助我们改善图像的对比度和亮度,使图像的细节更加清晰。本文将详细介绍直方图均衡化的原理和实现方法,并通过代码示例进行说明。

一、直方图是什么?

直方图是一种统计工具,用于表示图像中像素值的分布情况。具体来说,直方图的横坐标是像素值(从 0 到 255),纵坐标是每个像素值出现的频率(即像素数量)。通过直方图,我们可以直观地了解图像的亮度分布情况。

例如,如果一幅图像的直方图集中在左侧(低灰度值区域),说明图像整体偏暗;如果集中在右侧(高灰度值区域),说明图像整体偏亮。

二、绘制直方图

在 OpenCV 中,可以使用 cv2.calcHist() 函数来计算图像的直方图。这个函数会返回一个数组,表示每个灰度值的像素数量。

代码示例

以下是一个绘制直方图的函数:

import cv2
import numpy as npdef show_bins(img2):# 计算直方图bins = cv2.calcHist([img2], [0], None, [256], [0, 256])print(bins)# 获取直方图的最小值和最大值min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(bins)print(min_val, max_val, min_loc, max_loc)# 创建一个空白图像用于绘制直方图img_bins = np.zeros((512, 512, 3), dtype=np.uint8)dm = 450 / max_val  # 缩放比例# 绘制直方图for index, el in enumerate(bins):cv2.line(img_bins, (index + 100, 490), (index + 100, int(490 - el[0] * dm)), (0, 0, 255), 2)cv2.imshow("img_bins", img_bins)cv2.waitKey(0)return img_bins

运行结果

运行上述代码后,你会看到一个窗口显示了图像的直方图。横坐标是像素值,纵坐标是每个像素值的频率。

三、直方图均衡化

直方图均衡化是一种改善图像对比度的技术。它的目标是将图像的直方图分布调整为均匀分布,从而使图像的亮度和对比度更加均衡。

1. 全局直方图均衡化

全局直方图均衡化是对整个图像进行均衡化处理。它通过重新映射像素值,使图像的直方图分布更加均匀。

在 OpenCV 中,可以使用 cv2.equalizeHist() 函数来实现全局直方图均衡化。

代码示例

def test002():# 读取图像img = cv2.imread("./zhifang.png")img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 绘制原始图像的直方图bins_img = show_bins(img2)cv2.imshow("bins_img", bins_img)cv2.imshow("img2", img2)# 进行直方图均衡化eq_img2 = cv2.equalizeHist(img2)eq_bins_img = show_bins(eq_img2)cv2.imshow("eq_bins_img", eq_bins_img)cv2.imshow("eq_img2", eq_img2)cv2.waitKey(0)cv2.destroyAllWindows()

运行结果

运行上述代码后,你会看到均衡化后的图像对比度明显提高,直方图分布也更加均匀。

四、自适应直方图均衡化

全局直方图均衡化虽然可以改善图像的整体对比度,但在某些情况下可能会导致局部细节丢失。为了解决这个问题,可以使用自适应直方图均衡化(AHE)。

自适应直方图均衡化将图像划分为多个小块,对每个小块分别进行直方图均衡化处理。这样可以更好地保留局部细节。

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

CLAHE 是一种改进的自适应直方图均衡化方法,它通过限制对比度增强的程度,避免了噪声的过度放大。

在 OpenCV 中,可以使用 cv2.createCLAHE() 函数来创建 CLAHE 对象,然后使用 .apply() 方法对图像进行均衡化处理。

代码示例

import cv2
import numpy as npdef test_clahe():# 读取图像img = cv2.imread("./zhifang.png")img2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 创建 CLAHE 对象clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8, 8))# 应用 CLAHEclahe_img2 = clahe.apply(img2)# 绘制原始图像和均衡化后的图像cv2.imshow("Original Image", img2)cv2.imshow("CLAHE Image", clahe_img2)cv2.waitKey(0)cv2.destroyAllWindows()

运行结果

运行上述代码后,你会看到 CLAHE 处理后的图像对比度更高,同时局部细节也得到了更好的保留。

五、总结

直方图均衡化是一种非常实用的图像增强技术,可以帮助我们改善图像的对比度和亮度。通过本文的介绍和代码示例,相信你已经对直方图均衡化有了更深入的理解。

  • 全局直方图均衡化:适用于整体对比度较低的图像。

  • 自适应直方图均衡化(CLAHE):适用于局部对比度较低且需要保留细节的图像。

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

相关文章:

  • 来推网站seo是什么意思知乎
  • 怎么制作网站建设营销型网站建设
  • 做网站和做公众号seo管理软件
  • 自己做的网站如何百度能搜索搜索引擎优化的方法和技巧
  • 公司做网站多下载班级优化大师app
  • php做的网站seo智能优化公司
  • vs怎么添加图片做网站中小企业管理培训班
  • 网站建设服务费增值税多少提升网站权重的方法
  • 梅州做网站多少钱360免费建站网页链接
  • 做网站有费用吗百度下载安装到桌面
  • 无锡江阴做网站公司厦门seo搜索引擎优化
  • 北京网站制作收费标准市场调研
  • 如何建立公司网站?新闻头条今日要闻10条
  • php网站开发方案嵌入式培训
  • 做网站为什么选择竞网智赢google搜索优化方法
  • 临泉县建设局网站微信指数是什么意思
  • 网站建设 长沙网络营销推广合作
  • 做门户网站需要学什么知识网址申请注册
  • 带数据库的网站做域名注册流程
  • 南浔城乡建设局网站哈尔滨seo关键词
  • 绍兴网站建设 微德福seo sem论坛
  • 品牌策划公司命名做seo排名
  • go网站开发俄罗斯引擎搜索
  • 杭州哪家公司网站做的好建站公司网站源码
  • 一年网站维护618网络营销策划方案
  • 北京做网站哪家公司最好最新nba排名
  • 北京西站是疫情区吗互联网营销专家
  • 广州建设外贸网站app注册推广团队
  • 哪里有做微商网站查询百度关键词排名
  • 企业网站 asp源码东莞搜索优化