您的位置:首页 > 运维架构

opencv3的直方图均衡化

2017-05-15 20:24 489 查看
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;//包含cv命名空间

int main()
{

Mat src_img = imread("D:\\1.png");//imread()函数载入图像
//从文件中读入图像,注意图像路径最好不要用相对路径,因为CLion生成的exe不在当前目录下。
if(src_img.empty())
{
fprintf(stderr, "Can not load image\n");//如果读入图像失败,返回错误信息
return -1;
}
vector <Mat> splitBGR(src_img.channels());//定义向量存储各通道图片的向量
split(src_img,splitBGR);//对各个通道进行直方图均衡化

for (int i = 0; i < src_img.channels(); ++i) {
equalizeHist(splitBGR[i],splitBGR[i]);
}

//显示图像
imshow("origin image and equalization operation", src_img);//imshow()函数显示图像
Mat mergeImg,dst_img;
merge(splitBGR,mergeImg);//合并通道
mergeImg.copyTo(dst_img);//复制图像

//cvtColor(dst_img,dst_img,CV_BGR2RGB);//打开文件时已完成BGR到RGB的转化
imshow(" after equalization operation", dst_img);//imshow()函数显示图像
waitKey();

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  opencv opencv3-0