Page 64 - Tasarım Odaklı Düşünme ile Proje Hazırlama
P. 64

Yazılımsal prototipleme: Prototipin bileşenleri Raspberry Pi, Raspberry Pi Kame-
 ra Modülü, dirençler, led lambalar ve diğer bileşenlerdir. Diğer bileşenler arasında   import cv2
 Python yazılımı ve OpenCV gibi yazılım kütüphaneleri bulunmaktadır.  import numpy as np
 Prototip Oluşturma Malzemeleri: Raspberry Pi, Raspberry Pi Kamera Modülü, ledler,   import LambaSistem as L1
 dirençler ve kablolar…  #Koordinat ve Sensör sınıfının tanımlanması
            class Kordinat:
            def __init__(self,x,y):
            self.x=x
            self.y=y
            class Sensor:
            def __init__(self,kordinat1,kordinat2,frame_weight,frame_lenght):
            self.kordinat1=kordinat1
            self.kordinat2=kordinat2
            self.frame_weight=frame_weight
            self.frame_lenght =frame_lenght
            self.mask=np.zeros((frame_weight,frame_lenght,1),np.uint8)*abs(self.kordinat2.y-self.kordinat1.y)
            self.full_mask_area=abs(self.kordinat2.x-self.kordinat1.x)
            cv2.rectangle(self.mask,(self.kordinat1.x,self.kordinat1.y),(self.kordinat2.x,self.kordinat2.y),(255),thick-
            ness=
            cv2.FILLED)
            self.stuation=False
            self.car_number_detected=0
            #Kamera bilgileri ve yolu
            video1=cv2.VideoCapture(“video1.mp4”)
            video2=cv2.VideoCapture(“video2.mp4”)
            ret,frame=video1.read()
            ret2,cerceve=video2.read()
            cropped_image= frame[0:450, 0:450]
            kesilen_resim=cerceve[0:450, 400:850]
            fgbg=cv2.createBackgroundSubtractorMOG2()
            Sensor1 = Sensor(
            Kordinat(1, cropped_image.shape[1] - 35),
            Kordinat(340, cropped_image.shape[1] - 30),
            cropped_image.shape[0],
            cropped_image.shape[1])
            Sensor2 = Sensor(
            Kordinat(1, kesilen_resim.shape[1] - 35),
            Kordinat(340, kesilen_resim.shape[1] - 30),
            kesilen_resim.shape[0],
            kesilen_resim.shape[1])
            font=cv2.FONT_HERSHEY_TRIPLEX
            while (1):
            ret,frame=video1.read()
            ret2,cerceve=video2.read()
            # Çerçevenin yeniden boyutlandırılması
            cropped_image= frame[0:450, 0:450]
            kesilen_resim=cerceve[0:450, 400:850]
            # Çerçeve için morfoloji operasyonlar
            deleted_background=fgbg.apply(cropped_image)
            silinen_arkaplan=fgbg.apply(kesilen_resim)
            opening_image=cv2.morphologyEx(deleted_background,cv2.MORPH_OPEN,kernel)
            acilan_resim=cv2.morphologyEx(silinen_arkaplan, cv2.MORPH_OPEN,kernel)
            ret,opening_image=cv2.threshold(opening_image,125,255,cv2.THRESH_BINARY)
            ret1,acilan_resim=cv2.threshold(acilan_resim,125,255,cv2.THRESH_BINARY)
            # Hareket eden herhangi bir nesneyi algılamak


 62                                                                                                   63
   59   60   61   62   63   64   65   66   67   68   69