拼接后裁剪图像

时间:2015-11-03 11:25:36

标签: c++ opencv crop opencv-stitching

在使用OpenCV C ++拼接2张图像后,我想裁剪图像以去除拼接图像周围的黑色区域。我会失去一部分图像,但没关系。图像看起来像这样:

enter image description here

如何找到图像角落并裁剪掉所有黑色区域?

如果有任何好的参考资料,请提供给我一些。

此致

1 个答案:

答案 0 :(得分:1)

我一直在使用DJI开发指南中的这段代码(搜索“裁剪全景”部分)。 https://dji-dev.gitbooks.io/mobile-sdk-tutorials/content/en/iOS/PanoDemo/PanoDemo_en.html#stitching-photos

该算法乍一看似乎不是很强大,但到目前为止,它已被证明对我的拼接用例来说已经足够了。但是,我相信代码在这两行中有一些错误

bool isBottomNotBlack=checkBlackRow(gray, roiRect.y+roiRect.height,roiRect);
bool isRightNotBlack=checkBlackColumn(gray, roiRect.x+roiRect.width,roiRect);

应改为

bool isBottomNotBlack=checkBlackRow(gray, roiRect.y+roiRect.height-1,roiRect);
bool isRightNotBlack=checkBlackColumn(gray, roiRect.x+roiRect.width-1,roiRect);

否则,您可能会得到非系统C的错误超额错误。 希望有所帮助!

相关问题