【发布时间】:2012-11-12 09:04:37
【问题描述】:
我尝试在图像中使用 for 循环来检查“1”并将这些坐标分配给“Imp_Points”,但我不确定如何在 C++ 中执行此操作。
关于我如何使用 opencv 在 c++ 中做到这一点的任何建议? 提前致谢! >
【问题讨论】:
-
考虑改变话题。例如“从 cv::Mat 中提取点坐标”或“从 Canny 输出中提取点坐标”
我尝试在图像中使用 for 循环来检查“1”并将这些坐标分配给“Imp_Points”,但我不确定如何在 C++ 中执行此操作。
关于我如何使用 opencv 在 c++ 中做到这一点的任何建议? 提前致谢! >
【问题讨论】:
先看看如何遍历 cv::Mat: http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html#mat
然后你需要在像素值为 255 时将坐标添加到向量。假设你有 8 位 Canny 输出。
【讨论】:
Vector <Point2f>Imp_Points;
for(int i=0;i<bn_img.rows;i++) {
for(int j=0;j<bn_img.cols;j++)`{
Point p=new Point(j,i);
int v=bn_img<uchar>.at(p);//check the datatype of Mat here
if(v==1)
Imp_Points.push_back(p);
}
【讨论】: