opencv | 您所在的位置:网站首页 › 管理学中什么是管理 › opencv |
opencv-equalizeHist均衡化直方图-增强对比度
原创
天子骄龙 2022-01-25 11:34:23 ©著作权 文章标签 直方图均衡化 #include ios 文章分类 代码人生 ©著作权归作者所有:来自51CTO博客作者天子骄龙的原创作品,请联系作者获取转载授权,否则将追究法律责任![]() 直方图均衡化是一种常见的增强图像对比度的方法,使用该方法可以增强局部图像的对比度,尤其在数据较为相似的图像中作用更加明显 直方图是什么: 直方图是图像中像素强度分布的图形表达方式.它统计了每一个强度值所具有的像素个数.直方图均衡化是什么: 直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法.注意: 直方图均衡化只能处理单通道 灰度单通道1.png 对BGR三个通道分别处理,再合并 #include#includeint main(int argc, char** argv) { cv::Mat src = cv::imread("D:/bb/tu/1.png"); imshow("src", src); std::vector chan; cv::split(src, chan);//通道分割 cv::Mat blue, green, red,dst; blue = chan.at(0); green= chan.at(1); red= chan.at(2); //对BGR通道分别做直方图均衡化 equalizeHist(blue, blue); equalizeHist(green, green); equalizeHist(red, red); merge(chan, dst);//合并通道 imshow("dst", dst); cv::waitKey(0); return 0;}通过对HSV色彩空间的V通道进行直方图均衡化,再合并H,S,V三个通道后转化为BGR图像 V通道简单来说就是图像明暗通道 HSV颜色模型:看 https://baike.baidu.com/item/HSV/547122?fr=aladdin #include#includeint main(int argc, char** argv) { cv::Mat src = cv::imread("D:/bb/tu/1.png"); imshow("src", src); cv::Mat hsv,v,dst; cv::cvtColor(src,hsv, cv::COLOR_BGR2HSV);//转化为HSV图像 std::vector chan; cv::split(hsv, chan);//通道分割 equalizeHist(chan.at(2), chan.at(2));//对v通道直方图均衡化 merge(chan, dst);//合并通道 cv::cvtColor(dst, dst, cv::COLOR_HSV2BGR);//HSV转化为BGR图像 imshow("dst", dst); cv::waitKey(0); return 0;}上一篇:qt5--android 下一篇:opencv-Scharr边缘检测 |
CopyRight 2018-2019 实验室设备网 版权所有 |