[英]opencv-python object detection
我是使用Python的opencv的初學者。 我有很多16位灰度圖像,並且每次需要在不同圖像中檢測相同的對象。 嘗試在opencv python中進行模板匹配,但需要針對不同的圖像采用不同的模板,這可能是不希望的。 任何人都可以建議我使用python中的任何算法來有效地做到這一點。
您的問題太籠統了。 特征匹配是一個非常廣闊的領域。 完全使用的算法類型取決於要檢測的對象,其環境等。
因此,如果您的對象不會改變圖像的大小或角度,請使用模板匹配。
如果圖像將改變其尺寸和方向,則可以使用SIFT或SURF。
如果對象具有與背景不同的獨特顏色特征,則可以使用hsv方法。
如果您必須根據對象對一組圖像進行分類,例如應檢測到所有板球拍,則可以訓練許多正圖像以告訴計算機該對象的外觀,而負圖像則可以指示該對象的外觀,可以使用haar訓練來完成。
您可以嘗試滑動窗口方法。 如果您的對象在所有樣本中都相同
一種方法是尋找已知的顏色,形狀和尺寸。
您可以先在圖像上執行HSV閾值,然后將圖像轉換為HSV色彩空間,然后調用
cv2.inRange(source, (minHue, minSat, minVal), (maxHue, maxSat, maxVal))
接下來,您可以使用cv2.findContours
查找圖像中滿足顏色要求的所有區域。 然后,您可以使用諸如boundingRect
和contourArea
來查找所需對象的特定屬性。
您最終將得到的實際上是一條“流水線”,該流水線可以采用框架,並尋找適合您設置的條件的形狀。 根據您要執行的操作的復雜性(您沒有說要查找的內容),這可能會或可能不會奏效,但是我已經成功地使用了它。
GRIP是一個應用程序,它允許您以可視的方式對事物進行閾值處理,並且如果需要,它還將為您生成Python代碼。 我真的不建議按原樣使用生成的代碼,因為這樣會遇到一些問題。 這是GRIP的鏈接: https : //github.com/WPIRoboticsProjects/GRIP
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.