[问题] 请问如何提取单点周遭的座标资讯

楼主: 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