彩色图像的直方图均衡化

来源:互联网 发布:凯立德v4.0端口查看器 编辑:程序博客网 时间:2024/04/29 02:26
#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <iostream>using namespace std;using namespace cv;Mat image,image_eq;int choice=0;void on_trackbar(int ,void *){if (choice==0)//normal image{imshow("Image",image);}else //histogram equalized image{ imshow("Image",image_eq);}}int main(){image=imread("E:\\图片\\123.jpg");image_eq.create(image.rows,image.cols,CV_8UC3);//separate channels,equalize histograms and then merge themvector<Mat> channels,channels_eq;split(image,channels);for (int i=0;i<channels.size();i++){Mat eq;equalizeHist(channels[i],eq);channels_eq.push_back(eq);}merge(channels_eq,image_eq);namedWindow("Image");createTrackbar("Normal/Eq.","Image",&choice,1,on_trackbar);on_trackbar(0,0);while(char(waitKey(1))!='q'){}return 0;}

原始图像:


均衡化后效果:


0 0