24-09-2018, Saat: 19:30
[img=640x0]http://sanalkurs.net/uploads/tutorial/images/1534012230.png[/img]
Bu derste , Görüntü işleme kütüphanelerinden OpenCV'yi kullanarak seçili resim üzerinde kenar silme , bulma uygulaması geliştireceğiz.
C++
Kod:
#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 ;
Herkese iyi çalışmalar ...
![[Resim: 1534011766.png]](http://sanalkurs.net/files/1534011766.png)
![[Resim: 1534012051.png]](http://sanalkurs.net/files/1534012051.png)
![[Resim: 1534012074.png]](http://sanalkurs.net/files/1534012074.png)