OpenCV DNN

資料集

https://cocodataset.org/

  # 自動下載檔案的語法

url = "https://xxx.xxx.xxx.xxx/file.name"

file = "file.name"

 if not os.path.exists(url):

     urlretrieve(url, file)

cv2.dnn.readNet模型支援

cv2.dnn.blobFromImage 對圖像進行預處理

cv2.dnn.blobFromImage(image[, scalefactor[, size[, mean[, swapRB[, crop[, ddepth]]]]]])

對圖像進行預處理,包括減均值,比例縮放,裁剪,交換通道等,返回一個4通道的blob(blob可以簡單理解為一個N維的陣列,用於神經網路的輸入)

從圖像創建 4 維 blob。可選擇從中心調整大小和裁剪image、減去mean值、按比例縮放值scalefactor、交換藍色和紅色通道。

參數:

image:輸入圖像(具有 1、3 或 4 通道)。

scalefactor:比例因子乘image。

size:輸出圖像的空間大小

mean:具有從通道中減去的平​​均值的標量。image如果具有 BGR 排序且swapRB為真,則值旨在按(mean-R、mean-G、mean-B)排序。

swapRB:指示交換 3 通道圖像中的第一個和最後一個通道的標誌是必要的。

crop:指示圖像在調整大小後是否將被裁剪的標誌

ddepth:輸出 blob 的深度。選擇 CV_32F 或 CV_8U。


如果crop為真,則調整輸入圖像的大小,以便調整大小後的一側等於相應的尺寸,size而另一側等於或更大。然後,從中心進行裁剪。如果crop為 false,則執行不裁剪和保留縱橫比的直接調整大小。