簡體   English   中英

opencv-python對象檢測

[英]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查找圖像中滿足顏色要求的所有區域。 然后,您可以使用諸如boundingRectcontourArea來查找所需對象的特定屬性。

您最終將得到的實際上是一條“流水線”,該流水線可以采用框架,並尋找適合您設置的條件的形狀。 根據您要執行的操作的復雜性(您沒有說要查找的內容),這可能會或可能不會奏效,但是我已經成功地使用了它。

GRIP是一個應用程序,它允許您以可視的方式對事物進行閾值處理,並且如果需要,它還將為您生成Python代碼。 我真的不建議按原樣使用生成的代碼,因為這樣會遇到一些問題。 這是GRIP的鏈接: https : //github.com/WPIRoboticsProjects/GRIP

如果要檢測的對象在每個圖像中都有不同的大小,並且形狀也略有不同,那么我建議您使用該對象的HaarCascade。 如果該對象非常籠統,則可以輕松地在網上找到它的haar級聯。 否則,很難進行級聯的haar(盡管這可能會花費一些時間)。 您可以通過senddex使用此教程在此處制作HaarCascade。

或者,如果你想知道如何使用HaarCascades那么你就可以得到它的這個鏈接這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM