目標檢測是計算機視覺領域中的重要任務之一,它旨在從圖像或視頻中自動識別和定位特定的物體或目標。Python作為一種功能強大的編程語言,目前已被廣泛應用于目標檢測算法的研究和開發中。那么,Python中的目標檢測究竟是如何實現的呢?下面我們來一探究竟。
#導入所需庫 import cv2 import numpy as np import pytesseract #加載圖像 img = cv2.imread('test.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) #使用閾值處理圖像 _, thresh = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY) #邊緣檢測 edges = cv2.Canny(thresh, 50, 150) #獲得輪廓信息 _, contours, _ = cv2.findContours(edges, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) #遍歷輪廓 for cnt in contours: #篩選有效輪廓 if cv2.contourArea(cnt) >1000 and cv2.contourArea(cnt)< 10000: #繪制矩形邊框 x, y, w, h = cv2.boundingRect(cnt) cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2) #裁剪出區域并識別文本 roi = gray[y:y + h, x:x + w] text = pytesseract.image_to_string(roi, lang='chi_sim') print(text) #顯示結果 cv2.imshow('result', img) cv2.waitKey(0) cv2.destroyAllWindows()
以上代碼展示了一個基于OpenCV和Tesseract的目標檢測程序,它可以從圖像中自動識別出符合一定條件的矩形邊框,并從中裁剪出區域并識別文本。其中,閾值處理、邊緣檢測和輪廓提取等步驟對于圖像分析和處理的初學者來說可能較為陌生。但是,通過Python的庫函數和API的調用,我們可以輕松實現目標檢測等各種任務。
上一篇python直接保存文件
下一篇macos 12支持設備