在使用OpenCV C ++拼接2张图像后,我想裁剪图像以去除拼接图像周围的黑色区域。我会失去一部分图像,但没关系。图像看起来像这样:
如何找到图像角落并裁剪掉所有黑色区域?
如果有任何好的参考资料,请提供给我一些。
此致
答案 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的错误超额错误。 希望有所帮助!