识别照片上每块石头的边界
Recognize borders of each stone on the photo
我的问题:如何识别下图中每块石头的边界?尺寸计算将是一件容易的事。
首先我必须告诉你,我是图像识别的新手,我会感谢任何:
- 命题
- 有用的链接
- 书名和其中的章节
- 算法
- 框架(尤其是C++)
- 等等
所以..
我有一张带有小石头的图片。我必须测量它们的大小(以像素为单位)。
我已经玩过任何像素的 RGB 值,高亮像素 RGB 值介于我定义的常量之间。我不喜欢有些石头是粘在一起的,有些边界比它应该的更宽。
for (y=0; y<height; y++,pixelIndex = width*y<<2)
for (x=0; x<width; x++,pixelIndex+=4)
if (pixelsData[pixelIndex ]>self.minRedSlider.integerValue && pixelsData[pixelIndex ]<self.maxRedSlider.integerValue &&
pixelsData[pixelIndex+1]>self.minGreenSlider.integerValue && pixelsData[pixelIndex+1]<self.maxGreenSlider.integerValue &&
pixelsData[pixelIndex+2]>self.minBlueSlider.integerValue && pixelsData[pixelIndex+2]<self.maxBlueSlider.integerValue) {
resultData[pixelIndex] = 255;
resultData[pixelIndex+1] = 255;
resultData[pixelIndex+2] = 255;
} else {
resultData[pixelIndex] = 0;
resultData[pixelIndex+1] = 0;
resultData[pixelIndex+2] = 0;
}
这是我的测试应用目前的样子:
PS:
我知道我的问题很模糊,但我必须开始,找不到或猜测一个合适的方向。无论如何,感谢您已经花在上面的时间。
您不能仅仅使用 RGB 值来查找对象(超像素)。您尝试做的事情称为分水岭分割。我建议使用 OpenCV 库,他们给出了一个类似于您的案例的示例 HERE 。
另外,github上有很多算法实现。
我的问题:如何识别下图中每块石头的边界?尺寸计算将是一件容易的事。
首先我必须告诉你,我是图像识别的新手,我会感谢任何:
- 命题
- 有用的链接
- 书名和其中的章节
- 算法
- 框架(尤其是C++)
- 等等
所以..
我有一张带有小石头的图片。我必须测量它们的大小(以像素为单位)。
我已经玩过任何像素的 RGB 值,高亮像素 RGB 值介于我定义的常量之间。我不喜欢有些石头是粘在一起的,有些边界比它应该的更宽。
for (y=0; y<height; y++,pixelIndex = width*y<<2)
for (x=0; x<width; x++,pixelIndex+=4)
if (pixelsData[pixelIndex ]>self.minRedSlider.integerValue && pixelsData[pixelIndex ]<self.maxRedSlider.integerValue &&
pixelsData[pixelIndex+1]>self.minGreenSlider.integerValue && pixelsData[pixelIndex+1]<self.maxGreenSlider.integerValue &&
pixelsData[pixelIndex+2]>self.minBlueSlider.integerValue && pixelsData[pixelIndex+2]<self.maxBlueSlider.integerValue) {
resultData[pixelIndex] = 255;
resultData[pixelIndex+1] = 255;
resultData[pixelIndex+2] = 255;
} else {
resultData[pixelIndex] = 0;
resultData[pixelIndex+1] = 0;
resultData[pixelIndex+2] = 0;
}
这是我的测试应用目前的样子:
PS: 我知道我的问题很模糊,但我必须开始,找不到或猜测一个合适的方向。无论如何,感谢您已经花在上面的时间。
您不能仅仅使用 RGB 值来查找对象(超像素)。您尝试做的事情称为分水岭分割。我建议使用 OpenCV 库,他们给出了一个类似于您的案例的示例 HERE 。
另外,github上有很多算法实现。