OpenCV-直方图处理


前言

© Fu Xianjun. All Rights Reserved.

随着人工智能的不断发展,OpenCV这门技术也越来越重要,很多人都开启了学习OpenCV,本文就介绍了OpenCV中的直方图处理。


一、直方图是什么?

直方图是图像内灰度值的统计特性与图像灰度值之间的函数,可以统计图像内各灰度级出现的次数。从直方图的图像上观察,横坐标是图像中各像素点的灰度级,纵坐标是具体有该灰度级的像素个数
示意图:
在这里插入图片描述
在这里插入图片描述

二、使用步骤

1.绘制直方图

代码如下:

import cv2
import numpy as np
import matplotlib.pyplot as plt    #导入包

img = cv2.imread("hj.jpg",0)     #导入图片
hist = cv2.calcHist(img,[0],None,[256],[0,255])
cv2.imshow("img",img)
plt.hist(img.ravel(),260)#img.ravel()将img二维图像摊平成一堆数组

2.自适应均衡化

代码如下:

#自适应均衡化
img = cv2.imread("qb2.jpg")
b,g,r = cv2.split(img)
clahe= cv2.createCLAHE(clipLimit= 2.0,tileGridSize=(8,8))
equalb= clahe.apply(b)
equalg= clahe.apply(g)
equalr= clahe.apply(r)
equal= cv2.merge([equalb,equalg,equalr])
cv2.imshow("img",img)
cv2.imshow("equal",equal)
cv2.waitKey(0)
cv2.destroyAllWindows()

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

处理后:
在这里插入图片描述

结论:对比不难发现图片的颜色更加鲜明了,更符合大家的审美。


总结

以上就是今天要讲的内容,本文仅仅简单介绍了OpenCV中的直方图处理的使用,从直方图的角度对图像处理,可以达到增强图像的显示效果的目的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值