我正在处理在单色背景下包含单个对象的 RGB 图像。
我的目标是隔离图像中的对象并调整图像大小以仅包含对象。
通过使用适当的阈值将图像转换为二进制图像,我已经成功地检测到对象。然后,为了隔离原始 RGB 图像中的对象,我使用二进制图像作为原始 RGB 图像的掩码。
maskedImage = bsxfun(@times,originalimage, cast(binaryimage,class(originalimage)));
这给我留下了一张只包含被黑色背景包围的物体的图像。这是因为我使用的二进制图像蒙版包含白色像素中的对象和黑色像素中的背景,并且由于强度值为 0,因此蒙版过程将所有不属于对象的像素转换为黑色像素。我在下面附上了一个例子。
我现在想在对象周围绘制一个边界框并将图像的大小调整为边界框的大小,这样我就可以尽可能多地摆脱周围的黑色像素。有没有办法做到这一点?任何帮助,将不胜感激。