我需要編寫一個OpenCV程序,用於檢測穿着某件T恤的人,該人穿着攝像頭中的多人。OpenCV中的矢量比較(C++)
我可以使用SURF來檢測徽標和HOGDescriptor來檢測人。
然後我可以檢查徽標的邊界框的角落是否在綁定該人的矩形的角落內。
徽標的角落都存儲在:
cv::Rect r = found[i];
我需要做以下對比:
std::vector<Point2f> scene_corners(4);
周圍的人矩形的邊角使用存儲
if(scene_corners[0]>=r.tl() && scene_corners[2]<=r.br())
其中r.tl()和r.br()是矩形的角點。
這不行,我猜是因爲操作數不兼容。我該如何做這個比較?提前致謝。
你的問題是,到底是什麼?看起來你已經寫好了你需要的代碼。你的「比較」的目標是什麼? – Aurelius
我應該檢測穿着帶有特定標誌的T恤的人。因此,我檢測到人,然後檢查徽標是否存在於該人的邊界矩形內,並且只有在該徽標存在於內時才繪製矩形。由於操作數是不同類型,所以上面給出的「如果」條件無效。我不知道如何繼續。謝謝! – usb