C++ OpenCV Resim Boyutunu Ölçeklendirme resize() Fonksiyonu

Herkese merhaba,

Bugün sizlere herhangi bir resim üzerinde ya da video üzerinde ölçeklendirme yapacağız.Bildiğiniz gibi bütün resimlerin satır ve sütunlardan oluşan bir matris olduğunu söylemiştik.Bu matris içerisinde belirli sayılar atanmış piksel dediğimiz dijital görüntüdeki küçük tanecikler bulunmaktadır.Bizde yazılım ile bugün o pikselleri nasıl boyutlandırabileceğimizi resize() fonksiyonu ile öğreneceğiz.Yazılıma geçelim.

  1. Kütüphanelerimizi tanıtalım
     #include "opencv2/highgui/highgui.hpp"
     #include "opencv2/imgproc/imgproc.hpp"
     #include "opencv2/core/core.hpp"
     #include<Windows.h> //Bu kütüphane mesaj kutusu oluşturmak için.
    
  2. Matrisimizi oluşturup içerisine ölçeklendireceğimiz resmi okutalım.
     Mat resim = imread("res.jpg");
    
  3. resize() fonksiyonunu kullanalım
     resize(resim, resim, Size(300, 300));
     //resize(Mat giris,Mat cikis,Size(yukseklik,genislik);
     //Yukarıda giriş ve çıkışı aynı matris içerisinde gerçekleştirdik.
    
  4. Şimdi diğer derslerden farklı olarak eğer matrsimizin içerisinde okuttuğumuz değer yoksa yani imread() fonksiyonundaki resmimizi matris değişkenine başarılı bir şekilde atamamış isek bize hata mesajı döndürmesini isteyelim.
     if (resim.empty()) 
     //yukarıdaki if komutunda eğer resim değişkeni boş ise 'if'in içine gir' diye belirtiyoruz.
     {
         MessageBox(0, "Resim bulunamadı", "Windows", MB_OKCANCEL);
         return -1;
     }
     //Girmesi sonucunda ekrana mesaj kutusu ile "Resim bulunamadı"yazdıracak.
    

resim1

5.Resmimizi orijinal boyutundan küçük ve büyük olacak şekilde resize() fonksiyonu ile ayarlayıp, ekranda gösteriyoruz.

	imshow("Resmin Orijinal Boyutu 300x300", resim);
	resize(resim, resim, Size(200, 200));
	imshow("Resmin Küçük Hali 200x200", resim);
	resize(resim, resim, Size(400, 400));
	imshow("Resmin Büyük Hali 400x400", resim);
	waitKey(0);
	return 0;

Ve çıktımız aşağıdaki şekilde olacak.

resim2

Bugünlükte bu kadar iyi çalışmalar dilerim.

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.