OpenCV ile Görüntü İyileştirme Teknikleri Örnek Uygulamalar

Şekil Resim Bir
OpenCV ile Görüntü İyileştirme Teknikleri Örnek Uygulamalar

OpenCV

OpenCV bilgisayarla görü, makine öğrenimi, görüntü işleme, video analizi
gibi uygulamalar için kullanılan açık kaynak kodlu kütüphanedir.
OpenCV kütüphanesi sayesinde web kameraları, video dosyaları veya diğer
aygıt türleri tarafından bir bilgisayara bağlanan görsel bilgilerin
yakalanmasını, analiz edilmesini ve değiştirilmesini destekleyen yüzlerce
işlev içerir.

Yüzleri algılamak
Hareketi izlemek
Şekilleri analiz etmek
Gerçek zamanlı nesne takibi yapmak

Nelerde Kullanılabilir?

Her sektörde kullanımı ile görüntü işleme, bilgisayarlı görü yöntemleriyle
kullanıldığı alanda avantajlar ve kolaylıklar sunmaktadır.

Sektörlerden bazı örnekler verelim:

Tıp: Başta hastalık teşhisi ve tıbbi görüntü analizi çalışmalarıyla beraber
sağlık sektöründe birçok farklı alanda kullanılmaktadır.
Güvenlik: Yüz tanıma, videodan analiz gerçekleştirme, plaka tanıma gibi
güvenlik için gerebilecek birçok amaç için kullanılmaktadır.
Otomotiv: Sürücüsüz araçlar ve gelişmiş sürücü yardım sistemleri için
kullanılmaktadır.
Tarım: Ürünlerin sayımı, otomatik sulama sistemleri ve bitkinin analizi gibi
tarımda önemli rol oynayan işlerde kullanılmaktadır.

Görüntü İyileştirme Yöntemleri

Görüntü kalitesini arttırmak ve görüntüdeki gürültüyü azaltmak için birçok
görüntü iyileştirme yöntemi bulunmaktadır. Temel bazı görüntü iyileştirme
yöntemleri örnekleriyle açıklanmıştır.Uygulamarı çalıştırabilmek için
Terminale pip install opencv-python yazarak OpenCV’yi yükleyiniz.

1.Filtreleme ile Gürültü Azaltma

Görseldeki gürültüyü azaltmak için OpenCV ile kullanılan birçok filtreleme
yöntemi vardır. Gaussian, Mean ve Meadian Filtreleri yaygın olarak
kullanılan gürültü azaltma filtreleridir.

2.Keskinleştirme

Keskinleştirme görüntüdeki kenarları, ayrıntıları ve nesneleri
daha belirgin hale getirme amacıyla kullanılan bir görüntü
işleme tekniğidir. Keskinleştirme, görüntünün pikselleri
arasındaki parlaklık değişikliklerini artırarak, görsel netliği ve
kontrastı artırır.

3.Kontrast Ayarlama

Kontrast, görüntüdeki en aydınlık alan ile en karanlık alan arasındaki farkı
belirtir. Kontrast ayarı, görüntü işleme uygulamalarında görüntüdeki
nesnelerin veya özelliklerin daha belirgin hale getirilmesi gerektiğinde
kullanılabilir.

4.Renk filtreleme

Görselde istenilen rengi filtrelemek için örnek kodu
inceleyebilirsiniz. Aşağıda mavi renk filtreleme yapılmıştır.

Nesne Tespiti(Haar Cascade Sınıflandırma Tekniği)

Özellikle yüz tanıma için kullanılan Haar Cascade, nesne tanıma içinde
kullanılmaktadır. Görüntü işleme ve makine öğrenimi kullanılarak nesneleri
veya yüzleri algılamak için kullanılır. OpenCv yardımıyla Haar Cascade ile
eğitilen sınıflandırıcılar kullanılarak nesne tanıma çalışmaları yapılabilir.Nesne
tanıma yapılırken görüntü üzerinde taralamalar yapılarak algılan nesne
çerçeve içerisine alınır.

Özellik seçimi, verilerin daha az bellek kullanımı ve daha iyi tahmin sonuçları
sağlayacağı için önemli bir adımdır. Özellik çıkartma aşamasında verinin
daha düşük boyutlu bir temsil haline getirilme aşamasıdır. Sınıflandırma
aşamasında yeni verilerin hangi sınıfa ait olduğu tahmin edilir.Kademeli
sınıflandırma aşamasında özellikle gerçek zamanlı nesne tanıma uygulaması
gerçekleştirilir. Bu aşamada hızlı bir şekilde nesneyi tanır ve potansiyel
nesneyi daha karmaşık bir sınıflandırıcıyla ayrıntılı şekilde değerlendirir.

Haar Cascade ile eğitilmiş sınıflandırıcılardan bazıları şunlardır.

haarcascade_eye.xml: Gözleri algılamak için kullanılan bir sınıflandırıcıdır.
haarcascade_frontalface_default.xml: Yüzleri algılamak için kullanılan bir
sınıflandırıcıdır.
haarcascade_smile.xml: Gülümsemeleri algılamak için kullanılan bir sınıflandırıcıdır.
haarcascade_car.xml: Otomobilleri algılamak için kullanılan bir sınıflandırıcıdır.
haarcascade_bike.xml: Bisikletleri algılamak için kullanılan bir sınıflandırıcıdır.
haarcascade_dog.xml: Köpekleri algılamak için kullanılan bir sınıflandırıcıdır.
haarcascade_cat.xml: Kedileri algılamak için kullanılan bir sınıflandırıcıdır.
haarcascade_eye_tree_eyeglasses.xml: Gözlük takılmış gözleri algılamak için
kullanılan bir sınıflandırıcıdır.
haarcascade_lefteye_2splits.xml: Sol gözleri algılamak için kullanılan bir
sınıflandırıcıdır.
haarcascade_righteye_2splits.xml: Sağ gözleri algılamak için kullanılan bir
sınıflandırıcıdır.

Videodan İnsan Tespiti Uygulaması

Bu uygulama için Haar Cascade ile eğitilen haarcascade_fullbody.xml dosyası kullanılmıştır. Kodları ve kodların çalıştırıldığında anlık olarak geçen insanları tespit ettiği görsel aşağıda verilmiştir. Link üzerinden dosyayı indirebilirsiniz.

opencv/data/haarcascades/haarcascade_fullbody.xml at master · opencv/opencv · GitHub

Haar Cascade ile Göz Algılama Uygulaması

Bu uygulama için Haar Cascade ile eğitilen haarcascade_eye.xml dosyası
kullanılmıştır. Kodları ve kodların çalıştırıldığında belirtilen görselde gözleri tespit
etmesi sağlanır.. Link üzerinden haarcaccade_eye. xml dosyasını indirebilirsiniz.

opencv/data/haarcascades/haarcascade_eye.xml at master · opencv/opencv · GitHub

GitHub – esrasoylu/opencvornekleri

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir