[問題] 請問如何提取單點週遭的座標資訊

作者: Vvvahc (我來搞事了)   2022-06-04 19:54:44
各位前輩好
小弟最近要開發具有fitting點的功能(用於光斑偵測)
在這之前,必須先計算出該光斑內所有的點位置(假設光斑大小剛好涵蓋3*3個pixel,我
想取得包含光斑內共5*5個pixel的所有資料)
那麼假設我先在分析圖案上,用blob選定了一點(x1,y1)
該點的強度與位置能使用opencv的ptr獲取
那如果我想提取已該點為中心,向外擴展使用者自訂的n*n矩陣中,所有點的資訊
例如: 我在image上抓到一點O,該如何做才能自動獲得以O為中心
5*5的範圍內所有a點的x軸、y軸座標資訊呢?
. . . . . . . .
. . . . . . . .
. a a a a a . .
. a a a a a . .
. a a O a a . .
. a a a a a . .
. a a a a a . .
. . . . . . . .
. . . . . . . .
可能問題有點白痴
我知道可以操控像是i+1、j-1等,將個別點存入[ ]中
但我一開始偵測到的點(例如O點)的資料型態是vector < vector < point > >
實在是不曉得該如何將週遭x與y的資料分開並抽出來
懇請板上高手指點迷津
謝謝><
作者: nh60211as   2022-06-04 20:26:00
Mat(Rect) ?
作者: Vvvahc (我來搞事了)   2022-06-04 20:38:00
rect是以該點為左上角起點,分別向下及向右取範圍資料跟我預設該點為中心來取週圍值好像有點不一樣
作者: wulouise (在線上!=在電腦前)   2022-06-04 20:57:00
input output 寫明確一點..
作者: Vvvahc (我來搞事了)   2022-06-04 21:05:00
input :vector<vector<point>> initial_point我希望output 可以導出initial_point(例如上面的O點)週圍5*5的區域中,每個點的x值與y值(會有2筆儲存資料,一筆是所有的x點位置,另一筆是所有y點位置)
作者: LPH66 (-6.2598534e+18f)   2022-06-05 00:27:00
所以輸入是表示什麼? 型態是點座標的二維陣列,為什麼會是二維陣列? 它表示了什麼東西?你抓到的「那一點 O」會怎麼出現在這個二維陣列中?上面問的「寫明確一點」是要你去了解這些問題不然連你都不知道你抓的東西怎麼表示了我們怎麼知道怎麼做?那如果 (我的水晶球突然亮了) 這其實才是你的問題所在那你應該要詳細地說你用 opencv 是怎麼寫去抓到的資料只寫一個「用 ptr 獲取」我們哪知道你的 ptr 是什麼...
作者: OnlyRD (里巷人)   2022-06-05 04:42:00
原po應該是不知道去哪找來兩段演算法程式,前段輸出一個2維稀疏的光斑矩陣,後段需要x,y兩軸各自紀錄一軸位置範圍的陣列,然後不想花心力看懂兩段算法跟他們的資料結構,所以連問題都問不清楚。
作者: Vvvahc (我來搞事了)   2022-06-05 11:42:00
對 我使用opencv的findcontours(Mat intput_img, vector<vector<point>> contours,vector<Vec4i>hierarchy)其中contours會儲存偵測到的點但我不曉得該如何有效取出x、y的一維陣列資料以及操作取得這點週圍所有點的一維資料
作者: lycantrope (阿寬)   2022-06-05 14:31:00
drawContours->dilate->mask
作者: wulouise (在線上!=在電腦前)   2022-06-05 15:32:00
拜見樓上幾位通靈王<o>
作者: Vvvahc (我來搞事了)   2022-06-05 18:20:00
抱歉 可能我是c++新手不曉得要怎麼實作功能出來,也表達不夠清楚如果可以的話,請至少告訴我資料型態為二維向量的點,該如何有效率的獲取該點週圍共8個點的一維向量就好
作者: LPH66 (-6.2598534e+18f)   2022-06-05 22:17:00
那這就是你沒有搞清楚 opencv 是怎麼回傳它看到的東西了findContours 回給你的二維陣列, 第一維是各 contour第二維是 contour 座標; 那你這裡就要想想到底findContours 是不是真的是你要的, 因為它是回傳繞這一個 contour 四周的座標, 但你卻想要中心亮斑座標opencv 回給你邊界, 你想要的是中間, 那難怪你無從下手你去問問你的同事或其他做過類似功能的人他們是用什麼函數
作者: lycantrope (阿寬)   2022-06-06 09:29:00
contour(輪廓),想要重心可以用cv::moments

Links booklink

Contact Us: admin [ a t ] ucptt.com