在无瑕疵之后填充边框会导致不必要的人工制品

时间:2017-11-28 18:24:31

标签: c++ opencv image-processing

我正在使用OpenCV功能" undistort"有一种桶形失真。当然我现在有黑色边框,我希望用我的后续处理管道所需的值65535填充黑色边框。为了实现此行为,我正在执行以下代码:

cv::undistort(src,dst,K,dis);
dst.setTo(65535,dst == 0);

其中src是原始图像,dst是具有桶形失真的图像,K是相机矩阵,并且是失真系数。函数setTo将所有参数设置为0到655350

这导致以下示例性图像:

enter image description here

可以看出它几乎到处都是白色的 - 黑色的大酒吧是想要的。但是,图像左侧仍然有一个轮廓。 这些值是setTo - 函数未捕获的值,因为它们不是0.在进一步检查时,它们显示出一种线性趋势。

所以我的问题是,如果有可能"禁止"使用unsistort时OpenCV能够产生这些平滑的边缘吗?还是有任何解决办法摆脱这些价值而不破坏基本事实?所示图像仅是示例性的,边缘外部的值可以出现在所需的基础事实中

0 个答案:

没有答案