C++ 扫描图像像素
我想检测图像中的形状(蓝色区域)。如何从用户输入坐标(红色圆点)开始读取像素,扫描圆点周围的像素,并在其穿过形状边界时停止读取,而不是如下扫描整个图像C++ 扫描图像像素,c++,image-processing,C++,Image Processing,我想检测图像中的形状(蓝色区域)。如何从用户输入坐标(红色圆点)开始读取像素,扫描圆点周围的像素,并在其穿过形状边界时停止读取,而不是如下扫描整个图像 for (int y = 0 < height; y++) { for (int x = 0; x < width; x++) { // Read and store pixel value and location } } for(int y=0
for (int y = 0 < height; y++) {
for (int x = 0; x < width; x++) {
// Read and store pixel value and location
}
}
for(int y=0
如果您想获得属于圆点周围形状的像素列表,可以尝试像a这样的方法,收集像素而不是“填充”它们。不属于形状的像素的不同颜色是wikipedia示例中的“黑色”,形状的颜色是“白色”(可填充空间)。蓝色形状是否始终为矩形?如果形状由颜色定义,则可以将输入位置作为整体填充的起点。泛光填充在错误的像素值处停止。@ChrisW它可以是随机的shape@Cornstalks我也可以设置像素的强度范围吗?@boogiedoll:当然,这是完全可能的。如果在形状中有孔或不同强度的像素,它会工作吗?关于孔:是;关于不同强度的像素:您必须使算法“看到”颜色(特别是目标颜色)的方式符合您的需要。最简单的方法是精确匹配;但是你可以做得不同。谢谢你给我指明了正确的方向。我期待着像角度/极坐标扫描这样的东西