opencv 您所在的位置:网站首页 管理学中什么是管理 opencv

opencv

2023-04-20 17:31| 来源: 网络整理| 查看: 265

opencv-equalizeHist均衡化直方图-增强对比度 原创

天子骄龙 2022-01-25 11:34:23 ©著作权

文章标签 直方图均衡化 #include ios 文章分类 代码人生

©著作权归作者所有:来自51CTO博客作者天子骄龙的原创作品,请联系作者获取转载授权,否则将追究法律责任 opencv-equalizeHist均衡化直方图-增强对比度_直方图均衡化

 直方图均衡化是一种常见的增强图像对比度的方法,使用该方法可以增强局部图像的对比度,尤其在数据较为相似的图像中作用更加明显

直方图是什么:

直方图是图像中像素强度分布的图形表达方式.它统计了每一个强度值所具有的像素个数.

直方图均衡化是什么:

直方图均衡化是通过拉伸像素强度分布范围来增强图像对比度的一种方法.

注意: 直方图均衡化只能处理单通道

灰度单通道 

1.png

opencv-equalizeHist均衡化直方图-增强对比度_ios_02

#include#includeint main(int argc, char** argv) { cv::Mat src = cv::imread("D:/bb/tu/1.png"); imshow("src", src); cv::Mat gray, dst; cvtColor(src, gray, cv::COLOR_BGR2GRAY); equalizeHist(gray, dst);//直方图均衡化 imshow("dst", dst); cv::waitKey(0); return 0;}

opencv-equalizeHist均衡化直方图-增强对比度_#include_03

彩色图方法一 

对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;}

opencv-equalizeHist均衡化直方图-增强对比度_直方图均衡化_04

彩色图方法二 

通过对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;}

opencv-equalizeHist均衡化直方图-增强对比度_#include_05

收藏 评论 分享 举报

上一篇:qt5--android

下一篇:opencv-Scharr边缘检测



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有