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

contours, hierarchy = cv2.findContours(opening_image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
         hatlar, hierarchy=cv2.findContours(acilan_resim,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
         result=cropped_image.copy()
         sonuc=kesilen_resim.copy()
         zeros_image=np.zeros((cropped_image.shape[0], cropped_image.shape[1], 1), np.uint8)
         sifir_resim=np.zeros((kesilen_resim.shape[0], kesilen_resim.shape[1], 1), np.uint8)
         # Döngüsel hareket eden herhangi bir nesneyi algılamak
         for cnt in contours:
         x,y,w,h=cv2.boundingRect(cnt)
         if (w>75 and h>75 and w<160 and h<160 ):
         cv2.rectangle(result,(x,y),(x+w,y+h),(255,0,0),thickness=2)
         cv2.rectangle(zeros_image,(x,y),(x+w,y+h),(255),thickness=cv2.FILLED)
         for hat in hatlar:
         x,y,w,h=cv2.boundingRect(hat)
         if (w>75 and h>75 and w<160 and h<160 ):
         cv2.rectangle(sonuc,(x,y),(x+w,y+h),(255,0,0),thickness=2)
         cv2.rectangle(sifir_resim,(x,y),(x+w,y+h),(255),thickness=cv2.FILLED)
         # bitwise_and aracılığıyla araba olup olmadığını tespit etmek
         mask1=np.zeros((zeros_image.shape[0],zeros_image.shape[1],1),np.uint8)
         mask_result=cv2.bitwise_or(zeros_image,zeros_image,mask=Sensor1.mask)
         white_cell_number=np.sum(mask_result==255)
         maske=np.zeros((sifir_resim.shape[0],sifir_resim.shape[1],1),np.uint8)
         maske_sonuc=cv2.bitwise_or(sifir_resim,sifir_resim,mask=Sensor2.mask)
         beyaz_hucre_no=np.sum(maske_sonuc==255)
         # Arabanın kırmızı çizgi sensöründen geçip geçmediğini kontrol etmeyi tespit etmek
         sensor_rate=white_cell_number/Sensor1.full_mask_area
         if sensor_rate>0:
         #print(“result : “,sensor_rate)
         pass
         oran=beyaz_hucre_no/Sensor2.full_mask_area
         if oran>0:
         #print(“Sonuç : “,oran)
         pass
         # Araba kırmızı çizgi sensörünün altından geçiyorsa kırmızı çizgi sensörü yeşil renktedir.
         if (sensor_rate>=0.9 and sensor_rate<3.1 and Sensor1.stuation==False):
         # kırmızı çizgi çiz
         cv2.rectangle(result, (Sensor1.kordinat1.x, Sensor1.kordinat1.y), (Sensor1.kordinat2.x, Sensor1.kordi-
         nat2.y),
         (0,255, 0,), thickness=cv2.FILLED)
         Sensor1.stuation = True
         elif (sensor_rate<0.9 and Sensor1.stuation==True) :
         # kırmızı çizgi çiz
         cv2.rectangle(result, (Sensor1.kordinat1.x, Sensor1.kordinat1.y), (Sensor1.kordinat2.x, Sensor1.kordi-
         nat2.y),
         (0, 0,255), thickness=cv2.FILLED)
         Sensor1.stuation = False
         Sensor1.car_number_detected+=1
         else :
         # kırmızı çizgi çiz
         cv2.rectangle(result, (Sensor1.kordinat1.x, Sensor1.kordinat1.y), (Sensor1.kordinat2.x, Sensor1.kordi-
         nat2.y),
         (0, 0, 255), thickness=cv2.FILLED)
         # 2.Kamera için araba kırmızı çizgi sensörünün altından geçiyorsa kırmızı çizgi sensörü yeşil renktedir.
         if (oran>=0.9 and oran<3.1 and Sensor2.stuation==False):
         # kırmızı çizgi çiz


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