OpenCV——将针孔相机模型图片转换成鱼眼相机模型图片

本文介绍了如何使用OpenCV将针孔相机模型的图片转换为鱼眼相机模型的图片。理论基础涉及鱼眼相机模型的等距投影和针孔相机模型的透视投影,通过求解映射关系实现转换。OpenCV实现中,文章强调了pow()函数求平方、初始化目标图像及读取图像路径的注意事项。

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

一 理论基础

        关于针孔相机模型,参考博客

        关于鱼眼相机模型,参考参考文献[1][2]。

        这里只需要知道我们这里使用的鱼眼相机模型是等距投影的鱼眼相机模型,即r=fθ(1),而针孔相机模型是透视投影,即r=ftanθ(2)。其中f是焦距focus,r是成像平面内某像素点到主光点principal point的距离,principal point是成像平面和主光轴的焦点,θ是入射光线和主光轴的夹角。根据(1)和(2),可以得到从正常图像上某点P(xc,yc)到鱼眼相机上某点P(xf,yf)的映射关系:

rf = f*arctan(rc/f)

二 OpenCV实现

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <cmath>

int main() {
	cv::Mat srcImg;
	srcImg = cv::imread("E:/Data Sets/ORIGINAL/data_road/training/image_2/um_000000.png");
	if (srcImg.data != nullptr) {
		std::cout << "Load Image Successfully" << std::endl;
	}
	const int f = 200;
	std::cout << srcImg.type()
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值