我正在使用OpenCV功能" undistort"有一种桶形失真。当然我现在有黑色边框,我希望用我的后续处理管道所需的值65535
填充黑色边框。为了实现此行为,我正在执行以下代码:
cv::undistort(src,dst,K,dis);
dst.setTo(65535,dst == 0);
其中src是原始图像,dst是具有桶形失真的图像,K是相机矩阵,并且是失真系数。函数setTo将所有参数设置为0到65535
到0
。
这导致以下示例性图像:
可以看出它几乎到处都是白色的 - 黑色的大酒吧是想要的。但是,图像左侧仍然有一个轮廓。
这些值是setTo
- 函数未捕获的值,因为它们不是0.在进一步检查时,它们显示出一种线性趋势。
所以我的问题是,如果有可能"禁止"使用unsistort时OpenCV能够产生这些平滑的边缘吗?还是有任何解决办法摆脱这些价值而不破坏基本事实?所示图像仅是示例性的,边缘外部的值可以出现在所需的基础事实中