python使用opencv(cv2)的undistortPoints()/undistort()函数对像素坐标/图像去畸变 |
您所在的位置:网站首页 › esp8266-12f原理图 › python使用opencv(cv2)的undistortPoints()/undistort()函数对像素坐标/图像去畸变 |
1 cv2的安装
python下的opencv叫cv2,但是安装cv2并不是直接pip install cv2,而是: pip install opencv-python安装完成后,就可以使用啦。 2 像素坐标去畸变 对像素坐标去畸变要使用到cv2的undistortPoints()函数,其官方文档点击这里查看。如下图所示: 虽然上述官方文档里undistortPoints()函数的参数排列顺序是:src, dst, cameraMatrix, distCoeffs, R, P。但是实际上,其参数排列顺序是:src, cameraMatrix, distCoeffs[, dst[, R[, P]]],其中[ ]内的参数为可选参数。接收输出的数组dst可以直接通过等号进行赋值,而不一定需要提前建好然后丢进函数中。这些信息在上图的函数描述之后有个python行里有介绍,或者可以通过在python命令行下,输入help(cv2.undistortPoints)查看,如下图所示: 其中,pts是输入src,K是内参cameraMatrix,distCoeffs是畸变参数,最后的P=K是指定的相机矩阵,这样将会获得去畸变后的像素坐标点。需要特别指定是参数P,是因为该参数在函数接口中是排在最后一位的可选参数,而在它之前还有dst和R两个参数,我们都没有设置,所以我们需要指定参数名来进行赋值。如果没有指定P,那么将输出归一化坐标点(数值很小,为0.几的级别)。undistort_pts是获取到的输出结果。 3 对图像去畸变 图像去畸变和像素坐标去畸变大同小异,仅有输入输出的差别。对图像去畸变需要使用到undistort()函数,官方文档的描述如下: 去畸变前后的图像如下图所示: 来源:zeeq_ 您可能感兴趣的内容: openCV第二篇 Opencv实现素描的坤坤打篮球 ERROR: Could not build wheels for opencv-python which use PEP 517 and cannot be installed directly OpenCV-Python实战(2)——图像与视频文件的处理 小啾带你开天眼 之 开启py-OpenCV摄像头及视频处理【Python-Open_CV系列(十二)】 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |