/*这是找白色像素点的主要内容*/
for (int i = 0; i<h; i++)
{
for (int j = 0; j<w; j++)
{
if ((uint)dis.at<uchar>(i, j) == 255)
{
cout << "x坐标为 " << j << "y坐标为 " << i << endl;
}
}
}
/*这是一个博主的,我想这样保存大概这个样子,但有个问题是,线的像素点不是个定值*/
Point in[19] = { Point(50,120),Point(74,110),Point(98,100),Point(122,100),Point(144,80)
,Point(168,80),Point(192,70),Point(214,50),Point(236,40),Point(262,20)
,Point(282,20),Point(306,30),Point(328,40),Point(356,50),Point(376,50)
,Point(400,50),Point(424,50),Point(446,40),Point(468,30) };
自己主要是对树木进行进行骨架提取,然后得到骨架上的点并进行拟合(有的树干并不是直的),想要保存白线上的坐标点也是为了后面拟合做铺垫
谢邀,没理解什么是不能存到数组和向量里,你是想提取出来保存成什么形式呀。
Point[]也是一个数组啊,无非这种写法是预定义的写法,但是你在实际处理过程中,不可能是定值,你只能保存到某个容器中,再依次读取并显示,或者直接显示出来。
使用vectorr容器啊,直接push_back就可以了
std::vector<cv::Point> pts;
pts.push_back(Point(i,j))
不知道你这个问题是否已经解决, 如果还没有解决的话: