C++ OpenCV Görüntüyü Gri Formata Çevirme

Herkese merhaba, Bildiğiniz gibi geçenki dersimizde OpenCV resize() fonksiyonu ile resim ya da videoyu ölçeklendirmeyi öğrenmiştik. Bugün ise herhangi bir formattaki resmi gri renge dönüştürmeyi yazılım ile yapacağız. Resimlerimiz RGB dediğimiz red, green ve blue (kırmızı, yeşil ve mavi) renklerinden oluşmaktadır.

resim1

Bizde bugün hazır fonksiyon olan cvtColor fonksiyonu ile görüntüyü BGR formatından (Aslında bilgisayardaki görüntüler böyledir.) gri formata dönüştürmeyi göreceğiz. Haydi yazılıma geçelim.

  1. Kütüphanemizi tanıtalım

     #include "opencv2/highgui/highgui.hpp"
     #include "opencv2/imgproc/imgproc.hpp"
     #include "opencv2/core/core.hpp"
     #include<iostream>
    
  2. Matrisimizi oluşturup, içerisine görüntüsünü değiştireceğimiz resmi atıyoruz.

     using namespace std;
     using namespace cv;
     Mat img = imread("res.jpg");
    
  3. Görüntümüzü dönüştürmek için cvtColor() fonksiyonunu kullanalım.

     int main()
     {
     Mat img = imread("res.jpg");
        
     imshow("ORJİNAL GÖRÜNTÜ", img);//Orijinal görüntümüzü çıktı alıyoruz.
     cvtColor(img, img, COLOR_BGR2GRAY);
     //cvtColor(Mat giris,Mat cikis,DONUŞTURUCU KODU);
     //Dönüştürdüğümüz görüntüyü aşağıda yeniden çıktı alıyoruz.
     imshow("DEĞİŞEN GÖRÜNTÜ", img);
        
     waitKey(0);
     }
    
  4. Ve derleyip çalıştırdığımızda görüntü aşağıdaki gibi olacaktır.

resim1

Yılmaz ALACA

Yılmaz ALACA

Benim adım Yılmaz. 5 yıldır elektronik kartlar,onların yazılımı ve 1 yıldır makine öğrenmesi üzerinde çalışıyorum.Hobi olarak eğitim koçluğu,SEO,website tasarımı ve yazılımını yapıyorum.