(Ders 16) OpenCV ile Renkli Resmin Histogramını Eşitleme (C++)

(Ders 15) OpenCV ile Gri Resim Oluşturma ve Histogram Eşitleme (C++)
(Ders 11) OpenCV ile Resim Bulanıklaştırma ve Resmin Üzerine Yazı Yazma (C++)

Size faydalı olduysa, sosyal medyada paylaşarak bize destek olun. Teşekkürler.

Ekran Görüntüsü:


Orjinal Resim:

Eşit Histogramlı Resim:

Program Kodu:

#include 

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/core/core.hpp"

using namespace std;
using namespace cv;

int main()
{
	Mat resim = imread("resim.jpg");
	if (resim.empty())
	{
		cout << "Resim bulunamadi" << endl;
		system("Pause");
		return -1;
	}

	//vector dizi demektir, buradaki ifade resim dizisi anlamina geliyor
	//Mat yani resim turunde bir dizi olusturuluyor
	vector kanallar;

	Mat esitHistogram;

	//BGR demek Blue Green Red yani resmimizin orjinal formatidir.
	//CV_BGR2YCrCb ifadesi BGR formatindaki resmimizi YCrCb formatina donusturuyor
	//Y resmin aydinlik yani yogunluk degerlerini tutuyor
	//Cr Cb ise aydinlik degerlerine renk degerleri atiyor
	cvtColor(resim, esitHistogram, CV_BGR2YCrCb);

	//resim kanallara bolunuyor
	split(esitHistogram, kanallar);

	//resmin, renk histogrami esitleniyor
	//dizinin ilk kanalinin(Aydinlik kanali/Yogunluk kanali) histogrami esitleniyor
	equalizeHist(kanallar[0], kanallar[0]);

	//bolunen kanallar birlestiriliyor
	merge(kanallar, esitHistogram);

	//imshow fonksiyonu resmi CV_BGR2YCrCb formatinda gosteremedigi icin
	//resim YCrCb2BGR formatina donusturuluyor
	cvtColor(esitHistogram, esitHistogram, CV_YCrCb2BGR);

	namedWindow("Orjinal Resim", CV_WINDOW_AUTOSIZE);
	namedWindow("Esit Histogramli Resim", CV_WINDOW_AUTOSIZE);

	imshow("Orjinal Resim", resim);
	imshow("Esit Histogramli Resim", esitHistogram);

	waitKey(0); //herhangi bir tusa basana kadar programi beklet
	destroyAllWindows(); //butun pencereleri kapat
	system("Pause");
	return 0;
}

Size faydalı olduysa, sosyal medyada paylaşarak bize destek olun. Teşekkürler.

(Ders 15) OpenCV ile Gri Resim Oluşturma ve Histogram Eşitleme (C++)
(Ders 11) OpenCV ile Resim Bulanıklaştırma ve Resmin Üzerine Yazı Yazma (C++)