几何畸变图像恢复 openCV3 - 数字图像处理作业3

本文是关于数字图像处理的作业,探讨如何利用OpenCV3对几何畸变图像进行恢复。通过角点检测、计算畸变前网格点位置、控制网格法求解畸变函数以及最近邻像素插值等步骤,详细介绍了恢复图像的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

几何畸变图像恢复 OpenCV3 - 数字图像处理作业3

作业3:相同条件下拍到的棋盘图和日历钟表图,尝试建立几何畸变关系,并对它们进行恢复。注意:不能采用椭圆的变换。
在这里插入图片描述
在这里插入图片描述

算法步骤

  1. 坐标变换: 在畸变和正常图象之间建立坐标关系。
    在这里插入图片描述
  2. 灰度级插值,最邻近像素灰级代替法
    在这里插入图片描述

实际操作过程:

第一步. 角点检测

调用openCV角点检测函数获取棋盘格角点。

	//cornerMat CV_32FC2 56 rows * 1 cols * 2channel 取值用Point2f 或者 Vec2f
	findChessboardCorners(chessImg, Size(8, 7), cornerMat, CALIB_CB_FILTER_QUADS);
	drawChessboardCorners(chessCorner, Size(8, 7), cornerMat, true);
	imshow("chess with corner", chessCorner);

在这里插入图片描述

第二步. 得到畸变前的网格点位置

通过图片中心畸变小(基本无畸变)的特性,计算得出棋盘格角点畸变前的坐标,见下图绿色点。
畸变前网格点

第三步. 控制网格法得出畸变函数

为了拟合该图的函数,双线性变换参数不够,增加参数数量得到如下公式:
x ′ = a 0 + a 1 x + a 2 y + a 3 x y + a 4 x 2 + a 5 y 2 + a 6 x y 2 + a 7 x 2 y x'=a_0+a_1x+a_2y+a_3xy+a_4x^2+a_5y^2+a_6xy^2+a_7x^2y x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值