OpenCV Nedir ? Nasıl Kullanılır ?
Merhaba Teknolojik Blog okurları,
Bu yazımda size OpenCV ile ilgili basitçe bilgiler vermeye çalışacağım.
OpenCV, açık kaynaklı bir bilgisayar görüntü işleme kütüphanesidir. OpenCV, görüntü ve video analizi, nesne takibi, resim işleme, görüntü oluşturma, yüz tanıma sistemleri ve diğer görüntü işleme teknikleri gibi birçok uygulamaya yönelik araçlar sunar.
OpenCV, C++, Python ve Java gibi birçok programlama dilinde kullanılabilir ve Windows, Linux ve macOS gibi birçok işletim sisteminde çalışır. OpenCV, sanal gerçeklik, robotik, görüntü analitik ve diğer birçok alanda kullanılabilir.
OpenCV kullanmak için öncelikle bir programlama dili öğrenmelisiniz en popüler dil python ile hızlıca uygulamalarınızı geliştirebilirsiniz. Ayrıca OpenCV kütüphanesinin fonksiyonlarını ve metodlarını anlamalısınız. Daha sonra, OpenCV kütüphanesini indirmelisiniz ve kodlarınızda kullanabilirsiniz. OpenCV kullanımı ile ilgili örnek kodları, dokümantasyon ve eğitim materyallerini OpenCV web sitesinden bulabilirsiniz.
Özet olarak, OpenCV, görüntü işleme ve analitik uygulamaları yapmak isteyen geliştiriciler ve araştırmacılar için önemli bir araçtır. Basit ve kapsamlı fonksiyonları, bir çok programlama dilinde kullanılabilirliği ve açık kaynaklı yapısı ile görüntü işleme uygulamalarında kullanımı kolay ve verimlidir.
“Kameradan hareket algılaması yapan basit bir kod”
Kod Pyhon ile yazılmıştır.
Dosyayı bir text editörü ile test.py ismi ile kaydedip
python test.py şeklinde komut satırından çalıştıabilirsiniz.
import cv2
import winsound
# Video kaynağını aç
cap = cv2.VideoCapture(0)
# İlk frame'i oku
_, frame1 = cap.read()
gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
while True:
# Şuanki frame'i oku
_, frame2 = cap.read()
gray2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
# İki frame arasındaki farkı hesapla
diff = cv2.absdiff(gray1, gray2)
# Hareket olan bölgeleri belirle
thresh = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]
thresh = cv2.dilate(thresh, None, iterations=2)
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# Hareket olan bölgeleri çiz
for contour in contours:
(x, y, w, h) = cv2.boundingRect(contour)
if cv2.contourArea(contour) < 500:
continue
cv2.rectangle(frame2, (x, y), (x + w, y + h), (0, 255, 0), 2)
# Hareket olup olmadığını kontrol et
movement_detected = len(contours) > 0
# Hareket algılandıysa bip sesi çıkar
if movement_detected:
for i in range(3):
winsound.Beep(frequency=1500, duration=300)
# Görüntüyü göster
cv2.imshow("Movement", frame2)
# İlk frame'i atla
gray1 = gray2
# Esc tuşuna basılırsa durdur
if cv2.waitKey(1) == 27:
break
# Video kaynağını kapat
cap.release()
cv2.destroyAllWindows()
Teknolojik Blog