关于使用OpenCV进行图像处理的一些示例代码给出了类似的东西:
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(pointPolygonTest(Point(i,j),myPolygon))
{
// do some processing
}
}
}
在迭代中,为什么我们需要从高度和宽度开始?以及Point存储(高度,宽度)的原因是 - > (y,x)?
答案 0 :(得分:2)
[0..Height]和[0..Width]之间的范围是工作区域的最大边界。
此代码测试整个图像的哪些像素位于多边形myPolygon
内。
“整体”一词意味着您应该检查图像的所有像素,这样您就应该从0迭代到Y,然后从0迭代到X.
答案 1 :(得分:1)
实际上,行/列约定用于迭代整个图像。
height =行数
width =列数
正在逐行访问图像。外部循环遍历图像的行,内部循环在列上迭代。所以基本上i
是当前行,j
是图像的当前列。
内部循环处理图像的完整行。