opencv如何精準定位十字?
我想要做一個精準識別十字線中心的程式,可以實時的給出影象中十字交點的在影象中的座標。
我現在的實現方案是先用形態學梯度(膨脹減去腐蝕)找出直線的大致輪廓,
然後用霍夫線檢測出直線
然後用角點檢測,可以找出四個交點,然後求平均值就能找到中點座標。
但現在問題是檢測圖片沒有問題,但是放到視訊裡,就會出現檢測不穩,
主要是形態學變換的時候後,就算鏡頭不抖,光源穩定,但腐蝕膨脹的結果圖也一直在跳動。就導致檢測出的邊緣一直在跳。
想請問知乎的大神們,有沒有更好的解決方案可以穩定的檢測到交線的正中心。多謝!!!!
/---------------------canny補充---------------------------------------/
我寫 了函式,過濾了一部分
這是最終處理結果,但是這是檢測的圖片,如果寫進視訊處理裡,那就回一直抖啊抖的不停。一會少線,一會多線,根本沒法做角點檢測
/*********************************11.07**************************************/
Detech函式就是處理影象的函式。
裡面很簡單,先換成hsv,然後通道分離,把s通道先開運算,然後分別把開運算結果賦給dilateImage和erodeImage,然後dilateImage膨脹,erodeImge腐蝕。然後相減得輪廓。
lilateImage膨脹後的影象一直在變化,腐蝕的也是。但是原影象沒有任何變化。
碼農
1 人贊同了該回答
使用灰度圖,直接裁個十字心作子圖,在圖上做卷積,在卷積圖中找局域極值,就能定位。
贊同 16 條評論
分享
收藏感謝
科研工作者
1 人贊同了該回答
你可以試試canny檢測出邊緣,然後做直線檢測,那樣就不用腐蝕和膨脹了。
贊同 111 條評論
分享
收藏感謝
少跟我逼逼
一些回答沒有考慮影象中有多餘的東西或者十字旋轉,我提供另一種思路,首先得到binary image,然後用BFS greedy search掃描整張圖一遍,得到所有的white area的blob,然後對於每個blob分別得到X方向和Y方向最大和最小的四個點,這樣我們就可以估計出這四個點生成的十字,然後跟blob中所有的其他座標進行擬合,如果匹配就是檢測到,這樣做的好處還有就是可以很容易得到中心座標,而且只掃整張圖每一個畫素一遍,計算量應該是所有答案中最小的
贊同新增評論
分享
收藏感謝
三維數字影象處理
個人的方法:
直接二值化,提取十字影象,
然後水平方向求和,取極大值。
然後豎直方向求和,取極大值。
兩個極大值就是十字中心
遇到平頂直接以平頂中間為極值。
贊同1 條評論
分享
收藏感謝
派大星粉
投影求直方圖然後thresholding是比較好的做法,如果影象略有旋轉,可以先求出四個邊上條帶中心的影象座標,然後求出兩條直線方程和交點,如果抖動比較厲害建議用五到十幀的moving average。
贊同新增評論
分享
收藏感謝
朋友
怎麼定位手機號碼
贊同新增評論
分享
收藏感謝
computer vision
簡單,dl迴歸4個關鍵點