İPUCU

Python Artificial Intelligence’da en çok kullanılan dildir ve gerekli dökümanların paylaşım alanlar burada paylaşılmaktadır.

Seçenekler

[PY] OpenCV Modulü Bölüm 1 // Liserjik

Liserjik - ait Kullanıcı Resmi (Avatar)
İhbar Hattı Görevlisi
Üyelik tarihi:
08/2018
Nereden:
268,3 g/mol
Yaş:
1
Mesajlar:
1.048
Konular:
112
Teşekkür (Etti):
105
Teşekkür (Aldı):
294
Ticaret:
(0) %
04-08-2019 00:31
#1
[PY] OpenCV Modulü Bölüm 1 // Liserjik
Merhaba Turkhackteam,
Bu seride OpenCV'nin Python modülü olan cv2 modülünü inceleyeceğiz. Önce temel noktalara değinelim.


Görüntü işleme (image processing) nedir?
Görüntü işleme, dijital ortama alınmış ve o ortamda olan görüntü verisinin üzerinde yapılan işlemler ile istenen veriyi ve ya amacı elde etmek için kullanılan yöntemlerdir.

Görüntü işlemede hangi diller ve kütüphanlere kullanılır?
Görüntü işleme için pek çok programlama dili için hazırlanmış kütüphaneler mevcuttur. OpenCV, EmguCV, SimpleCV, pgmagick vb. bir çok kütüphane mevcuttur.

OpenCV nedir , nasıl edinilir?
Open Source Computer Vision Library yani OpenCV, 2000 yılından beri geliştirilen bir projedir. Resmi sitesi olan https://opencv.org/ adresinden son sürümüne ulaşılabilir (lakin 2011'den önceki sürümler kaldırılmıştır). Şuan son sürümü 4.1.1 'dir. OpenCV Java, Perl, CPP, Python, Haskell ve Ruby dillerini desteklemektedir. 3.4 sürümünden itibaren ise OpenCV.js kütüphanesi ile JavaScript dilinde hazırlanacak web projeler oluşturabilirsiniz. Windows, MACOS, *NIX, Free-NET-OPEN BDS ve Android, iOS, BlackBerry sistemlerini destekler.

OpenCV edinmek için releases sayfasına gidebilirsiniz.
https://opencv.org/releases/

PyPI Üzerinden edinmek için,
Kod:
python -m pip install opencv-python

OpenCV Ders 1 İçeriği
  • Görüntü Okuma
  • Renk Uzayları
  • Renk Uzayları Dönüşümleri
  • Görüntüyü Ekrana Basma

Öncelikle modülümüzden gerekli olan fonksiyonları çağıralım.
imread fonksiyonu görüntü dosyasını okumamıza yarayan fonksiyondur.
imshow fonksiyonu görüntü dosyasını ekranda bir pencere açarak sunar
waitKey fonksiyonu tuş bekletmemize yarar
mat_tht_logo isminde bir değişkene logo.png (aynı dizindeki) dosyasına atadım.

Okunan Görüntü
Görüntü dosyası BGR(Blue-Green-Red / Mavi-Yeşil-Kırmızı) renk uzayında. Şimdi konumuz renk uzayları ile. Önce onun bir tanımını yapalım.

Renk Uzayı nedir?
Renk uzayı, renklerin çeşitli gruplara göre(RGB,HSV,CMYK ...) belli bir dijital değer döndürülmesi için hazırlanmış yapıdır. Örnek RGB (164, 108, 173) dünyanın her yerinde bu renk olarak kabul görür. HTML ise HEX değerinde renkleri çevirir.
RGB Nedir?
Kırmızı-Yeşil-Mavi (Red-Green-Blue) yani 3 temel rengin birbirleri ile yaptıkları orantısal değerler ile oluşan renk kümesidir. Kırmızı renk (255,0,0), Yeşil renk (0,255,0), Mavi renk (0,0,255) kodundadır. Eğer sarı renk oluşturmak istersek, (255,255,0); beyaz rengi istersek (0,0,0); siyah rengi elde etmek istersek(255,255,255)
HSV Nedir?
Kırmızı mavi ve yeşilin 360 derecelik oranla doygunluğuna göre oluşturulmuş renk uzayıdır. Yukarıda verdiğimiz bu renk örneği HSV renk uzayına göre (292, 37.6 ,67.8) değerindedir. Hue, Ton; Saturation, Doygunluk; Value, Değer anlamındadır.
Renk uzaylarını işlediğimize göre uzaylar arası dönüşümlerden bahsedelim.
1 fonksiyon ve 1 adet renk değeri çağırdık. ( COLOR_BGR2RGB = 4)
cvtColor fonksiyonunda ilk değer resim matrisi ikinci değer ise renk uzayı dönüşüm değeridir.
COLOR_BGR2RGB BGR formatından RGB formatına dönüştürecek değerdir. Şimdiki çıktı resmimiz negatifi olacaktır.
Üstteki resimde gördüğümüz gibi mavi, kırmızıya; kırmızı ise maviye dönüştü. Başka bir dönüşüm daha yapalım.
Burada ise siyah ve beyaz aralığına dönüştürdük. Buradaki değerler, ışık değeri ve doygunluk değeridir.
Bu dönüşümler sadece script oluştuğu sürece olup gidiyor herhangi bir baskı işlemi olmadığı için biz olan biteni göremiyoruz. Oluşan görüntüyü ekrana basalım.



2 adet pencerede orjinal hali ve RGB uzayına çevrilmiş hali ekrana bastık. waitKey(0) şuan bir görevi yok sadece boş tuş bekliyor koymamın sebebi pencereler kapanmasın. Herhangi bir tuşa bastığımızda ekranlar kapanacaktır.
Kod:
'''
Opencv Kütüphanesi Görüntü İşleme Dersleri Bölüm 1 

İçerik :
	1) Resim Okuma
	2) Renk Uzayları Tanıtımı
	3) Renk uzayı dönüşümleri
	4) Görüntüyü ekrana basma

'''
#! *_* coding : utf-8 *_*
from cv2 import imread, imshow, waitKey,cvtColor,COLOR_BGR2RGB

mat_tht_logo = imread('logo.png')
rgb = cvtColor(mat_tht_logo, COLOR_BGR2RGB)

imshow('BGR (Normal Resim)', mat_tht_logo)
imshow('RGB (BGR\'dan donusturme', rgb)
waitKey(0)

#Liserjik - THT
--------------------- 5 & 9 homie, rest in peace


* VITALLION *
Konu Liserjik tarafından (06-08-2019 22:15 Saat 22:15 ) değiştirilmiştir.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı