OpenCV 彩色圖像的直方圖均衡化(YCbCr)

OpenCV代碼,用於彩色圖像的直方圖均衡化在YCbCr顏色空間。

#include<iostream>
#include "opencv2/imgcodecs.hpp"
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

int main(){
	Mat img = cv::imread("D:\\用戶目錄\\我的圖片\\001.JPG");
	if (img.empty()){
		std::cout << "打開圖片失敗" << std::endl;
		system("pause");
		return -1;
	}
	imshow("img", img);
	// 直方圖均衡化
	Mat matArray;
	cvtColor(img, matArray, CV_BGR2YCrCb);
	Mat imgYcbcr[3];
	split(matArray, imgYcbcr);
	equalizeHist(imgYcbcr[0], imgYcbcr[0]);
	merge(imgYcbcr,3, matArray);
	cvtColor(matArray, img, CV_YCrCb2BGR);
	imshow("imgHist", img);
	waitKey();
	destroyAllWindows()
	return 0;
}

輸入img


輸出img
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章