c++ - 拼接后裁剪图像

标签 c++ opencv crop opencv-stitching

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

enter image description here

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

如果有什么好的引用资料,请提供给我一些。

问候,

最佳答案

我一直在使用 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 的坏过量错误。 希望对您有所帮助!

关于c++ - 拼接后裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33497928/

相关文章:

ios - uiview仅渲染特定区域的xcode(不通过裁剪)

c++ - Win API,每 X 秒更新一次静态控件

opencv - 比较仅由计算机评估的颜色时是否需要更改颜色空间?

c++ - 跳转到文件中位置的最快方法 (C/C++)

image - OpenCV 图像矩阵到向量到矩阵

python - 使用特定像素边距 numpy opencv 从图像中剪切蒙版

javascript - 浏览器调整大小后 CropperJS 不正确缩放 Canvas

crop - 在同一命令中进行 graphicsmagick 合成和裁剪

c++ - 调试多线程服务器

c++ - 为什么我能够创建一个复制构造函数并重载 QObject 子类的赋值运算符?