Doç. Dr. GÜRAY SONUGÜR

Doç. Dr. Güray SONUGÜR – Öğrenci Bilgi Paylaşım Platformu

GÖRÜNTÜ İŞLEME Kod ve Resimler (2022-2023)

 

denis_run

 

# -*- coding: utf-8 -*-
“””
Created on Sun Dec 11 15:01:39 2022

@author: Dr.Güray SONUGÜR
“””

#Görüntü Kırmızı Kutu

import cv2
img = cv2.imread(‘skl1.png’)
cv2.imshow(“orjinal”, img)
# Gri seviye dönüşümü
gray_img = cv2.cvtColor(img , cv2.COLOR_BGR2GRAY)

# 7×7 gaussian blur filtresi uygulama
blurred = cv2.GaussianBlur(gray_img, (7, 7), 0)

# Eşikleme işlemi ile siyah/beyaz görüntü elde etme
abc,threshold = cv2.threshold(blurred,250,255,cv2.THRESH_BINARY_INV)

# Bileşen (blob) analiz işlevini uygulayın
(toplamBlob, etiket_id, degerler, centroid) = cv2.connectedComponentsWithStats(threshold, 4, cv2.CV_32S)

# Her bir blob için işlem yapılıyor.
for i in range(1, toplamBlob):

# Blobların alanları
area = degerler[i, cv2.CC_STAT_AREA]
print(area)
# Her bir blobun sol üst köşe, en ve boy koordinatları alınıyor.
x1 = degerler[i, cv2.CC_STAT_LEFT]
y1 = degerler[i, cv2.CC_STAT_TOP]
w = degerler[i, cv2.CC_STAT_WIDTH]
h = degerler[i, cv2.CC_STAT_HEIGHT]

# Kapsayıcı kutunun (Bounding box) koordinatları hesaplanıyor.
pt1 = (x1, y1)
pt2 = (x1+ w, y1+ h)
(X, Y) = centroid[i]
# Herbir blob’a kutu çiziliyor.
cv2.rectangle(img,pt1,pt2,(0, 0, 255), 2)

cv2.imshow(“Image”, img)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

******************************************************************************************************

# -*- coding: utf-8 -*-
“””
Created on Sat Dec 10 16:32:21 2022

@author: Dr. Güray SONUGÜR
“””
#Video Kırmızı Nesne Bulma
import cv2
import numpy as np
from matplotlib import pyplot as plt
import time

# Dosyadan video oku
x = cv2.VideoCapture(‘KameraVideosuKirmizi.mp4’)
#x = cv2.VideoCapture(‘ormanYanginiVideo.mp4’)
#x = cv2.VideoCapture(‘IHA_Yarismasi.MOV’)
# Dosyadan Görüntü okuma başarılı olduğu sürece while döngüsü çalışsın.
while(x.isOpened()):
# Videodan bir çerçeve oku.
ret, frame = x.read()
frame=cv2.resize(frame,(768,432))
xGri=cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
xred=frame[:,:,2]
kirmiziRenk=cv2.subtract(xred,xGri)
z,xIkili=cv2.threshold(kirmiziRenk,70,255,cv2.THRESH_BINARY)
# Bileşen (blob) analiz işlevini uygulayın
(toplamBlob, etiket_id, degerler, centroid) = cv2.connectedComponentsWithStats(xIkili, 4, cv2.CV_32S)
# Her bir blob için işlem yapılıyor.
for i in range(1, toplamBlob):
# Blobların alanları
area = degerler[i, cv2.CC_STAT_AREA]
print(area)
# Her bir blobun sol üst köşe, en ve boy koordinatları alınıyor.
x1 = degerler[i, cv2.CC_STAT_LEFT]
y1 = degerler[i, cv2.CC_STAT_TOP]
w = degerler[i, cv2.CC_STAT_WIDTH]
h = degerler[i, cv2.CC_STAT_HEIGHT]

# Kapsayıcı kutunun (Bounding box) koordinatları hesaplanıyor.
pt1 = (x1, y1)
pt2 = (x1+ w, y1+ h)
(X, Y) = centroid[i]
# Herbir blob’a kutu çiziliyor.
cv2.rectangle(frame,pt1,pt2,(0, 0, 255), 2)

# Ekrandan görüntüleme
cv2.imshow(‘frame’,frame)
cv2.imshow(‘Ikili’,xIkili)
#istenirse video görüntüleme yavaşlatılabilir.
time.sleep(0.1)

# q tuşuna basıldığında çık.
if cv2.waitKey(1) & 0xFF == ord(‘q’):
break
# İşin bittikten sonra her şeyi serbest bırak.
x.release()
cv2.destroyAllWindows()

 

*******************************************************************************************

# -*- coding: utf-8 -*-
“””
Created on Mon Dec 12 17:24:57 2022

@author: HP
“””

#Video Okuma ve Yazma

import cv2

cap = cv2.VideoCapture(‘ormanYanginiVideo.mp4’)
ret, frame = cap.read() #Bir çerçeve oku

h, w, _ = frame.shape # Çerçevenin en ve boyunu çıkart

frameTime = 100

fourcc = cv2.VideoWriter_fourcc(*”XVID”) # Video kodeklerini ayarla
fps = 1000 / frameTime # Calculate fps
writer = cv2.VideoWriter(“CikisVideosu.mp4”, fourcc, fps, (w, h)) # Video yazma nesnesini oluştur

while ret: # Videonun sonunu belirlemek için ret değişkenini kullan
frame[:,:,0:1]=0
writer.write(frame) # Çerçeveyi yaz
cv2.imshow(“frame”, frame)
if cv2.waitKey(25) & 0xFF == ord(‘q’):
break
ret, frame = cap.read()

writer.release()
cap.release()
cv2.destroyAllWindows()