(Ders 25) OpenCV ile Gri Resimlerin Piksel Renk Değerlerini Bulma(C++)

(Ders 34) OpenCV ile Fare Yardımıyla Çizim (C++)
(Ders 35) OpenCV ile Resimlerin Piksel Renklerini Bulma (C++)

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

Ekran Görüntüsü:

Program Açıklaması:

Yaptığımız bazı projelerde resimlerin piksel değerlerine(renk tonlarına) ulaşmamız gerekir.
Aşağıdaki kodda piksellerin koordinatları girilerek rahatlıkla onların piksel değerlerinin bulunabileceği gösterilmiştir.


Örneğimizde ilk önce renkli resim gri resme dönüştürülüyor, daha sonra fareyle sol tıklanan piksele ait koordinat ve renk ton değeri bilgileri konsol ekranında görünüyor.

Program Kodu:

[code]
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "iostream"

using namespace cv;
using namespace std;

Mat resim;
Mat griResim;

void fareTakip(int event, int x, int y, int flags, void *kullanici)
{
//farenin sol tuşuna basarak sürüklendiğinde çizim yapıyor veya
//farenin sol tuşuna tıklandığında çizim yapıyor
if ((event == EVENT_MOUSEMOVE && flags == EVENT_FLAG_LBUTTON) || event == EVENT_LBUTTONDOWN)
{

try {
system("cls");
cout << "<——————Gri Resim——————->" << endl;
cout << "<—————-Piksel Bilgisi—————->" << endl;
Scalar yogunluk = griResim.at<uchar>(y, x);
cout << endl;
cout << " " << "Gri Ton Degeri = " << yogunluk.val[0] << endl ;
cout << " " << "Koordinat x = " << x << endl;
cout << " " << "Koordinat y = " << y << endl << endl << endl;
cout << "Not1: Siyah renklerin piksel renk degeri 0 a yakindir." << endl;
cout << "Not2: Beyaz renklerin piksel renk degeri 255 e yakindir.";
}
catch (…)
{
system("cls");
cout << "<—————–Hata olustu.—————–>" << endl;
cout << "<———-Pencerenin disina cikildi.———->" << endl << endl;
}

}

}

int main()
{
resim = imread("resim.jpg", CV_LOAD_IMAGE_COLOR);
cvtColor(resim, griResim, CV_BGR2GRAY);
namedWindow("Gri Resim", CV_WINDOW_AUTOSIZE);
imshow("Gri Resim", griResim);

//fare hareketleri burada takip ediliyor
setMouseCallback("Gri Resim", fareTakip, NULL);

waitKey(0);
return 0;
}
[/code]

Ek (Üzerinde İşlem Yapılan Resim):

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

(Ders 34) OpenCV ile Fare Yardımıyla Çizim (C++)
(Ders 35) OpenCV ile Resimlerin Piksel Renklerini Bulma (C++)