Untitled
plain_text
a month ago
2.3 kB
1
Indexable
Never
import os import time import cv2 import numpy as np from PIL import Image path = str(os.getcwd())+"/" def takePic(imageName): """ Kameradan bir fotoğraf çeker. Args: imageName (str): Fotoğrafın kaydedileceği isim. Returns: None """ cam_port = 0 cam = cv2.VideoCapture(cam_port) result, image = cam.read() if result: cv2.imwrite(path+"Images/"+str(imageName)+".jpg", image) else: print("Cannot take pic!") def formatYolov5(frame): """ Çerçeveyi YOLOv5 formatına dönüştürür. Args: frame (numpy.ndarray): Dönüştürülecek çerçeve. Returns: numpy.ndarray: YOLOv5 formatına dönüştürülmüş çerçeve. """ row, col, _ = frame.shape _max = max(col, row) result = np.zeros((_max, _max, 3), np.uint8) result[0:row, 0:col] = frame return result def proofPic(): """ Önce ve sonra kapatılmış fotoğrafları birleştirir ve kanıt fotoğrafı oluşturur. Returns: None """ beforeClosed = Image.open(path+"Images/beforeClosed.jpg") beforeClosed = beforeClosed.resize((320,240)) afterClosed = Image.open(path+"Images/afterClosed.jpg") afterClosed = afterClosed.resize((320,240)) result = Image.new('RGB', (320, 480),color="white") result.paste(im=beforeClosed, box=(0, 0)) result.paste(im=afterClosed, box=(0, 240)) result.save(path+"Images/proofPic.jpg") def startDetection(statusName): """ Nesne tespiti yapar ve sonuçları görselleştirir. Args: statusName (str): Tespitin yapıldığı durum adı. Returns: None """ start = time.time() allProductsArray = [] image = cv2.imread(path+"Images/"+str(statusName)+".jpg") image = cv2.imread(path+"Images/1.jpg") img = formatYolov5(image) net = cv2.dnn.readNet(path+"Config/brainfood.onnx") blob = cv2.dnn.blobFromImage(img , 1/255.0, (640, 640), swapRB=True) net.setInput(blob) predictions = net.forward() classList = [] with open(path+"Config/obj.names", "r") as f: classList = [cname.strip() for cname in f.readlines()] # Diğer işlemler burada devam eder... print(time.time()-start) cv2.imshow("Image", img) cv2.waitKey(0) cv2.destroyAllWindows()