OpenCV DNN
資料集
# 自動下載檔案的語法
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.readNet
cv2.dnn.readNetFromCaffe
cv2.dnn.readNetFromONNX
cv2.dnn.readNetFromTorch
cv2.dnn.readNetFromDarknet
cv2.dnn.readNetFromModelOptimizer
cv2.dnn.readNetFromTensorflow
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,則執行不裁剪和保留縱橫比的直接調整大小。