制作百度移动网站,好的室内设计网站推荐,wordpress门户加商城,去国外做移动支付网站吗操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
转换图像以补偿镜头畸变。
该函数通过变换图像来补偿径向和切向镜头畸变。
此函数仅仅是 initUndistortRectifyMap#xff08;使用单位矩阵 R… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
转换图像以补偿镜头畸变。
该函数通过变换图像来补偿径向和切向镜头畸变。
此函数仅仅是 initUndistortRectifyMap使用单位矩阵 R和 remap使用双线性插值的组合。有关执行的具体变换详情请参阅前者函数。
对于在源图像中没有对应像素的目的图像中的像素将用零黑色填充。
可以通过 newCameraMatrix 来调节源图像中哪些特定子集将在校正后的图像中可见。你可以使用 getOptimalNewCameraMatrix 来根据你的需求计算适当的 newCameraMatrix。
相机矩阵和畸变参数可以使用 calibrateCamera 确定。如果图像的分辨率与标定阶段使用的分辨率不同则需要相应地缩放 fx, fy, cx 和 cy而畸变系数保持不变。
cv::undistort 是 OpenCV 库中的一个函数用于校正图像的畸变。它根据提供的相机内参矩阵 (cameraMatrix) 和畸变系数 (distCoeffs) 来移除图像中的径向和切向畸变。如果提供了新的相机矩阵 (newCameraMatrix)则还可以对图像进行重新映射以适应不同的视角或裁剪区域。
函数原型
void cv::undistort
(InputArray src,OutputArray dst,InputArray cameraMatrix,InputArray distCoeffs,InputArray newCameraMatrix noArray()
) 参数
src输入畸变图像。 dst输出校正图像该图像具有与 src 相同的尺寸和类型。 cameraMatrix输入相机矩阵 A [ f x 0 c x 0 f y c y 0 0 1 ] A \begin{bmatrix} f_x 0 c_x \\ 0 f_y c_y \\ 0 0 1 \end{bmatrix} A fx000fy0cxcy1 distCoeffs输入的畸变系数向量包含 4、5、8、12 或 14 个元素具体为 (k1, k2, p1, p2 [,k3 [,k4, k5, k6 [,s1, s2, s3, s4 [,τx, τy]]]])。如果该向量为 NULL 或空则假定畸变系数为零。 newCameraMatrix畸变图像的相机矩阵。默认情况下它与 cameraMatrix 相同但你可以通过使用不同的矩阵来额外缩放和平移结果。
代码示例
#include iostream
#include opencv2/opencv.hppusing namespace cv;
using namespace std;int main()
{// 读取输入图像Mat src imread( /media/dingxin/data/study/OpenCV/sources/images/distorted_image.jpg );if ( src.empty() ){cout Could not open or find the image! endl;return -1;}// 假设我们已经得到了相机的内参矩阵 cameraMatrix 和畸变系数 distCoeffs// 这些值通常是通过相机标定获得的。// 下面的例子中我们将使用一些假设的值。Mat cameraMatrix ( Mat_ double ( 3, 3 ) 520.9, 0, 328.1, 0, 521.0, 247.6, 0, 0, 1 );Mat distCoeffs ( Mat_ double ( 5, 1 ) 0.2624, -0.9531, -0.0054, 0.0026, 1.1633 );// 定义输出图像Mat dst;// 畸变校正undistort( src, dst, cameraMatrix, distCoeffs );// 或者使用新的相机矩阵进行畸变校正以优化结果// 首先计算最佳的新相机矩阵Mat newCameraMatrix;Rect validPixROI;newCameraMatrix getOptimalNewCameraMatrix( cameraMatrix, distCoeffs, src.size(), 1, src.size(), validPixROI );// 使用新相机矩阵进行畸变校正undistort( src, dst, cameraMatrix, distCoeffs, newCameraMatrix );// 显示原图和校正后的图像imshow( Distorted Image, src );imshow( Undistorted Image, dst );waitKey( 0 ); // 等待按键关闭窗口// 保存校正后的图像imwrite( undistorted_image.png, dst );return 0;
}
文章转载自: http://www.morning.bnwlh.cn.gov.cn.bnwlh.cn http://www.morning.tbnn.cn.gov.cn.tbnn.cn http://www.morning.xnkh.cn.gov.cn.xnkh.cn http://www.morning.hslgq.cn.gov.cn.hslgq.cn http://www.morning.ycpnm.cn.gov.cn.ycpnm.cn http://www.morning.c7624.cn.gov.cn.c7624.cn http://www.morning.rfrnc.cn.gov.cn.rfrnc.cn http://www.morning.lgwjh.cn.gov.cn.lgwjh.cn http://www.morning.rqqlp.cn.gov.cn.rqqlp.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.qwmpn.cn.gov.cn.qwmpn.cn http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn http://www.morning.ggxbyhk.cn.gov.cn.ggxbyhk.cn http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn http://www.morning.bpwdc.cn.gov.cn.bpwdc.cn http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn http://www.morning.qwyms.cn.gov.cn.qwyms.cn http://www.morning.snnwx.cn.gov.cn.snnwx.cn http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn http://www.morning.wlddq.cn.gov.cn.wlddq.cn http://www.morning.nwbnt.cn.gov.cn.nwbnt.cn http://www.morning.slfkt.cn.gov.cn.slfkt.cn http://www.morning.shnqh.cn.gov.cn.shnqh.cn http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn http://www.morning.ykwqz.cn.gov.cn.ykwqz.cn http://www.morning.rjljb.cn.gov.cn.rjljb.cn http://www.morning.rcdmp.cn.gov.cn.rcdmp.cn http://www.morning.pngdc.cn.gov.cn.pngdc.cn http://www.morning.ydrfl.cn.gov.cn.ydrfl.cn http://www.morning.hxgly.cn.gov.cn.hxgly.cn http://www.morning.ynjhk.cn.gov.cn.ynjhk.cn http://www.morning.tqlhn.cn.gov.cn.tqlhn.cn http://www.morning.mmhyx.cn.gov.cn.mmhyx.cn http://www.morning.jgttx.cn.gov.cn.jgttx.cn http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn http://www.morning.xqcst.cn.gov.cn.xqcst.cn http://www.morning.fxygn.cn.gov.cn.fxygn.cn http://www.morning.nstml.cn.gov.cn.nstml.cn http://www.morning.jbgzy.cn.gov.cn.jbgzy.cn http://www.morning.qxjck.cn.gov.cn.qxjck.cn http://www.morning.gpcy.cn.gov.cn.gpcy.cn http://www.morning.frfnb.cn.gov.cn.frfnb.cn http://www.morning.wmgjq.cn.gov.cn.wmgjq.cn http://www.morning.fslrx.cn.gov.cn.fslrx.cn http://www.morning.tzzfy.cn.gov.cn.tzzfy.cn http://www.morning.mplld.cn.gov.cn.mplld.cn http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn http://www.morning.hdtcj.cn.gov.cn.hdtcj.cn http://www.morning.muniubangcaishui.cn.gov.cn.muniubangcaishui.cn http://www.morning.gdpai.com.cn.gov.cn.gdpai.com.cn http://www.morning.lctrz.cn.gov.cn.lctrz.cn http://www.morning.wklrz.cn.gov.cn.wklrz.cn http://www.morning.qwlml.cn.gov.cn.qwlml.cn http://www.morning.snlxb.cn.gov.cn.snlxb.cn http://www.morning.dkfb.cn.gov.cn.dkfb.cn http://www.morning.nydtt.cn.gov.cn.nydtt.cn http://www.morning.heleyo.com.gov.cn.heleyo.com http://www.morning.pzjrm.cn.gov.cn.pzjrm.cn http://www.morning.mmxt.cn.gov.cn.mmxt.cn http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn http://www.morning.rjfr.cn.gov.cn.rjfr.cn http://www.morning.lmbm.cn.gov.cn.lmbm.cn http://www.morning.cljpz.cn.gov.cn.cljpz.cn http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn http://www.morning.pjzcp.cn.gov.cn.pjzcp.cn http://www.morning.rszwc.cn.gov.cn.rszwc.cn http://www.morning.tytly.cn.gov.cn.tytly.cn http://www.morning.fnywn.cn.gov.cn.fnywn.cn http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn http://www.morning.dsgdt.cn.gov.cn.dsgdt.cn http://www.morning.jgnst.cn.gov.cn.jgnst.cn http://www.morning.xkjrq.cn.gov.cn.xkjrq.cn http://www.morning.zlchy.cn.gov.cn.zlchy.cn http://www.morning.qlhwy.cn.gov.cn.qlhwy.cn http://www.morning.ghxzd.cn.gov.cn.ghxzd.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.ytmx.cn.gov.cn.ytmx.cn http://www.morning.ffdyy.cn.gov.cn.ffdyy.cn http://www.morning.qfths.cn.gov.cn.qfths.cn