OpenCV ve C++ ile Seçili Resmin Kenarlarını İstenilen Hale Getirme

OpenCV ve C++ ile Seçili Resmin Kenarlarını İstenilen Hale Getirme

Bu derste , Görüntü işleme kütüphanelerinden OpenCV'yi kullanarak seçili resim üzerinde kenar silme , bulma uygulaması geliştireceğiz.

Bu derste , Görüntü işleme kütüphanelerinden OpenCV'yi kullanarak seçili resim üzerinde kenar silme , bulma uygulaması geliştireceğiz.

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <stdlib.h>
#include <stdio.h>

using namespace cv;

Mat src, src_gray;
Mat dst, detected_edges;

int edgeThresh = 1;
int lowThreshold;
int const max_lowThreshold = 100;
int ratio = 3;
int kernel_size = 3;
char* window_name = "Kenar Bulma";

void CannyThreshold(int, void*)
{
    
    blur(src_gray, detected_edges, Size(3, 3));
    
    Canny(detected_edges, detected_edges, lowThreshold, lowThreshold*ratio, kernel_size);
    
    dst = Scalar::all(0);
    
    src.copyTo(dst, detected_edges);
    imshow(window_name, dst);
}

int main()
{
    
    src = imread("/users/kaankucukturan/Downloads/BmwM8.jpg");
    
    if (!src.data)
    {
        return -1;
    }
    
    dst.create(src.size(), src.type());
    cvtColor(src, src_gray, CV_BGR2GRAY);
    namedWindow(window_name, CV_WINDOW_AUTOSIZE);
    createTrackbar("Deger:", window_name, &lowThreshold, max_lowThreshold, CannyThreshold);
    CannyThreshold(0, 0);
    waitKey(0);
    
    return 0;
}

Örnek kodları yukarıda paylaştım . 

Kodlardan'da kısaca bahsedelim:

  • İlk 5 satırda ihtiyacımız olan dosya ve kütüphaneleri yükledik.
  • 8-9. satırlarda değişkenlerimiz Mat(OpenCV de kullanılır) tipinde tanımladık.
  • 11-16.  satırlarda kullanacak olduğumuz diğer değişkenleri tanımladık.
  • CannyThreshold fonksiyonu ile gürültüyü azalttık.
  • 34. satırda resmimizin bulunduğu dosya dizinini belirttik.
  • if ifadesiyle eğer resim bulunamazsa programdan çıkması gerektiğini belirttik.
  • 41. satırda src ile aynı türde ve boyutta matris oluşturduk.
  • 42. satırda resmi gri yaptık.
  • 43. satırda resim penceremizi oluşturduk.
  • 44. satırda resmin kenarlarını istediğimiz şekle getirmemize yarayacak Trackbarı yaptık.
  • Resmi gösterdik , ve işlem tamam :)

Aşağıya programla ilgilili örnek resimleri de koyuyorum;

Herkese iyi çalışmalar ...

Kaan Küçükturan
Antalya'da okuyan bir lise öğrencisi.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git