OpenCV处理彩色图像的直方图均衡化(C++版本)
发布时间
阅读量:
阅读量
首先对图像的亮度进行均衡化处理,以观察处理效果。具体操作步骤为:将图像颜色空间从BGR转换为YCrCb,随后仅对Y通道进行直方图均衡化处理,最后再将其转换回BGR颜色空间。
以下为实现该功能的代码:
#include
#include
#include "opencv2/core.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
const char* keys =
{
"{help h usage ? | | print this message}"
"{@image | | Image to process}"
};
cv::Mat equalize_y_channel( cv::Mat &src_img )
{
cv::Mat result;
cv::Mat ycrcb;
cv::cvtColor( src_img, ycrcb, cv::COLOR_BGR2YCrCb);
std::vectorcv::Mat channels;
cv::split( ycrcb, channels );
//仅对Y通道进行均衡化处理
cv::equalizeHist( channels[0], ch
全部评论 (0)
还没有任何评论哟~
