第三章投影变换图像校正
- 格式:ppt
- 大小:238.00 KB
- 文档页数:33
OpenCV图像变换⼆投影变换与极坐标变换实现圆形图像修正投影变换##在放射变换中,物体是在⼆维空间中变换的。
如果物体在三维空间中发⽣了旋转,那么这种变换就成为投影变换,在投影变换中就会出现阴影或者遮挡,我们可以运⽤⼆维投影对三维投影变换进⾏模块化,来处理阴影或者遮挡。
在OpenCV中有类似于getAffineTransform函数:getPerspectiveTransform(src,dst)函数⽤来处理计算投影变换矩阵。
与getAffineTransform函数不同的是传⼊的参数是三维空间坐标系的空间坐标,也就是4*2的⼆维ndarray,其中每⼀⾏代表⼀个坐标并且传⼊的数据类型必须为float32.⽰例:import cv2import numpy as npsrc=np.array([[0,0],[100,0],[0,100],[100,100]],np.float32)dst=np.array([[100,10],[100,10],[50,70],[200,150]],np.float32)P=cv2.getPerspectiveTransform(src,dst)print(P)运⾏结果:[[-7.77156117e-16 -1.00000000e+00 1.00000000e+02][-2.77555756e-15 -1.00000000e-01 1.00000000e+01][-2.66713734e-17 -1.00000000e-02 1.00000000e+00]]由结果可以看出当前输出的类型是float64.对于仿射变换在OpenCV中提供了如下的函数cv2.warpPerspective(src,M,dsize[,dst[,flags[,borderMode[,borderValue]]]])输⼊的矩阵类型是3⾏3列的投影变换矩阵。
⽰例:import cv2import numpy as npimport matplotlibdef Perspect(path):img=cv2.imread(path,cv2.IMREAD_GRAYSCALE)if not isinstance(img, np.ndarray):print('PASS')passelse:h,w=img.shape#设置变换坐标变化src=np.array([[0,0],[w-1,0],[0,h-1],[w-1,h-1]],np.float32)dst=np.array([[100,100],[w/3,100],[100,h-1],[w-1,h-1]],np.float32)#计算投影变换矩阵P=cv2.getPerspectiveTransform(src,dst)#利⽤变化矩阵进⾏投影变换r=cv2.warpPerspective(img,P,(w,h),borderValue=126)#显⽰图像cv2.imshow('A',img )cv2.imshow('B',r)cv2.waitKey(0)cv2.destroyAllWindows()print(P)Perspect('img/aa.jpg')极坐标变换##极坐标变换主要处理校正图像中的圆形物体或者在圆形中物体\(r=\sqrt{(x-(\overline{x})^2)+(y-(\overline{y})^2)}\)\[\theta= \left\{ \begin{matrix} 2\pi +arctan2(y-\overline{y},x-\overline{x}), &y-\overline{y}\leq0\\ arctan2(y-\overline{y},x-\overline{x},&y-\overline{y}>0 \end{matrix} \right\} \]以变换中⼼为圆⼼的同⼀个圆⼼上的点,在极坐标系\(\theta\)or中显⽰为⼀条直线。
实验四 利用MAPGIS进行误差校正和投影变换相关知识简介一、误差校正子系统功能概述机助制图是用计算机来实现制图,将普通图纸上的图件,转化为计算机可识别处理的图形文件。
现代计算机技术和自动控制技术的发展,使机助制图技术发展很快。
机助制图主要可分为编辑准备阶段、数字化阶段、计算机编辑处理和分析实用阶段、图形输出阶段等。
在各个阶段中,图形数据始终是机助制图数据处理的对象,它用来描述来自现实世界的目标,具有定位、定性、时间和空间关系(包含、联结、邻接)的特征。
其中定位是指在一个已知的坐标系里,空间实体都具有唯一的空间位置。
但在图件数字化输入的过程中,通常由于操作误差,数字化设备精度、图纸变形等因素,使输入后的图形与实际图形所在的位置往往有偏差,即存在误差。
个别图元经编辑、修改后,虽可满足精度,但有些图元,由于位置发生偏移,虽经编辑,很难达到实际要求的精度,此时,说明图形经扫描输入或数字化输入后,存在着变形或畸变。
出现变形的图形,必须经过误差校正,清除输入图形的变形,才能使之满足实际要求。
图形数据误差可分为源误差、处理误差和应用误差3种类型。
源误差是指数据采集和录入过程中产生的误差,如制图过程中展绘控制点、编绘或清绘地图、制图综合、制印和套色等引入的误差,数字化过程中因纸张变形、变换比例尺、数字化仪的精度(定点误差、重复误差和分辨率)、操作员的技能和采样点的密度等引起的误差。
处理误差是指数据录入后进行数据处理过程中产生的误差,包括几何变换、数据编辑、图形化简、数据格式转换、计算机截断误差等。
应用误差是指空间数据被使用过程中出现的误差。
其中数据处理误差远远小于数据源的误差,应用误差不属于数据本身的误差,因此误差校正主要是来校正数据源误差。
这些误差的性质有系统误差、偶然误差和粗差。
由于各种误差的存在,使地图各要素的数字化数据转换成图形时不能套合,使不同时间数字化的成果不能精确联结,使相邻图幅不能拼接。
所以数字化的地图数据必须经过编辑处理和数据校正,消除输入图形的变形,才能使之满足实际要求,进行应用或入库。
透视图像矫正方法图像矫正是图像处理中一项重要的技术,通过调整图像的投影变换,使其恢复到原本的几何形状。
透视图像矫正方法是其中的一种,它可以纠正由于透视投影而引起的形变,使得图像中的线条和几何形状呈正常的形态。
本文将介绍几种常见的透视图像矫正方法,包括基于几何变换的方法和基于相机校正的方法。
一、基于几何变换的透视图像矫正方法1. 小矩形区域矫正法小矩形区域矫正法是一种简单直观的透视图像矫正方法。
该方法假设图像中存在一小矩形区域,其四个边框线条呈直线且相互垂直。
通过确定这个小矩形区域的四个角点坐标,可以使用透视变换将其矫正为一个矩形。
具体操作步骤如下:(1) 在图像中选择一个小矩形区域,边框线条呈直线且相互垂直。
(2) 确定这个小矩形区域的四个角点坐标。
(3) 使用透视变换对整个图像进行矫正,使得小矩形区域成为一个矩形。
2. 单应性矩阵矫正法单应性矩阵矫正法是一种基于单应性变换的透视图像矫正方法。
该方法通过寻找两个图像平面之间的单应性变换关系,将透视图像矫正为正交投影。
具体操作步骤如下:(1) 在图像中选择4个点,构成一个矩形。
(2) 计算出这4个点在透视变换前后的坐标对应关系。
(3) 利用这些坐标对应关系,求解出一个3×3的单应性矩阵。
(4) 使用求解出的单应性矩阵对整个图像进行矫正,消除透视形变。
二、基于相机校正的透视图像矫正方法1. Pinhole相机模型Pinhole相机模型是一种简化的相机模型,它假设光线从一个小孔经过,投影到成像平面上。
这种模型下,透视投影可以通过几何关系进行推导和矫正。
具体操作步骤如下:(1) 建立透视投影和成像平面之间的几何关系。
(2) 根据透视投影的几何关系,推导出图像矫正的数学表达式。
(3) 利用推导出的数学表达式,对整个图像进行矫正,消除透视形变。
2. 摄像机标定法摄像机标定法是一种常见的基于相机校正的透视图像矫正方法。
该方法通过对摄像机进行标定,得到摄像机的内部和外部参数,并基于这些参数对图像进行校正。
投影几何校正原理简介
投影几何校正是指通过一系列的计算和调整,将图像从原始摄影投影中心得到的畸变图像转换为几何上更准确和更真实的图像。
投影几何校正原理基于摄影学和几何学的原理,旨在消除因摄影机镜头形状以及摄影条件等因素引起的畸变。
投影几何校正常依赖于一些关键参数,例如相机的内参数矩阵(包括焦距、主点位置等)、相机的外参数(如相机的姿态和位置)以及图像中标志物的几何特征等。
通过测量这些参数,可以计算出具体的投影几何矩阵,然后利用这个矩阵将畸变图像进行坐标调整,使之恢复成几何上更为真实的图像。
在投影几何校正的过程中,常用的方法包括对图像进行透视投影变换、进行相机参数标定、利用标志物进行几何校正等。
其中,透视投影变换是一种常见的校正方法,它可以通过调整图像的投影矩阵,将图像中的线条、边缘、角点等几何特征进行调整,从而使校正后的图像更符合实际的几何关系。
总之,投影几何校正原理是利用摄影学和几何学的理论和方法,对摄影图像进行校正,使之更加真实和准确。
通过测量和计算摄影机的参数,调整图像的投影矩阵,可以实现对畸变图像的几何校正。
这样,校正后的图像在进行后续处理和分析时,能够更好地满足需求和要求。