三种笛卡尔坐标到极坐标转换插值算法比较
来源:互联网 发布:r软件产生随机数 编辑:程序博客网 时间:2024/05/22 00:17
(1) 最邻近插值法
邻近插值算法按水平方向从左到右的扫描的图像数据,利用采样点之间的数据间隔对采样点像素进行线性组合,此时得到的像素值就是目标像素值。
图1 最邻近插值示意图
假设P1,P2为图像数据中同一行的两个采样点,N为两点间间隔的采样数据,则插补像素值Pi可以是P1,P2点像素值的线性组合,计算公式如下:
该算法相对比较简单。但是图像质量损失较大,图像失真现象较为明显。算法重新采样后灰度值也显示出较多的不连续性,因为采样点的灰度值的计算仅参考了离待采样点最近的像素灰度值,而没有考虑附近其他像素点的影响。此外,在进场和远场的计算中,间隔点N可能有较大差异,因而插补之前,需要先判断N的大小,这无疑增加了计算的复杂性。
(2) 平面二维插补
采样数据沿半径方向进行二维插补。
相对一维插值,二维平面插值更精确,但也计算复杂。如图 3.6,圆形图像上采样点以角度偏差以及半径方向上 间隔均匀分布。四个样本点分别为Pi,j、Pi+1,j、Pi,,j+1、Pi+1,j+1 ,其中Pi,j、Pi,j+1 为角度方向上相邻的两个点,Pi,j、Pi+1,j半径方向上相邻的两个点,我们最终最的目标插值的点Z 位于上述四个点的中间位置。下面通过二维平面的方法讲诉如何实现这种插值:
图 2 二维平面插值
二维插补主要分为两步实现,首先先在半径方向按如下公式进行线性插补,得到插值和,然后在角度方向运用公式进行线性插补来完成,式中为目标插值点和点在半径方向的偏差,为点和点的角度偏差。
二维插补该方法由于考虑了待测采样点周围四个采样点的像素值,从而缩放图像质量高、且不会出现像素不连续的情况,效果比最邻近插值优良。同时不可避免的增加的计算复杂度。
(3) 圆插补算法
采样数据沿着圆弧方向进行一维的插补。
图 3 圆插值
圆插补基于原采样数据沿圆弧方向一维插补。假设Pi,j、Pi,j+1为相邻采样线上具有相同采样半径的两个样本点,在这两点间插补3个采样点,则
最近邻的4个点(Pi,j、Pi+1,j、Pi,,j+1、Pi+1,j+1)组成的扇区分成4个均匀的小扇区。在图像显示过程中,取像素所落在的小扇区左上方的插补数据值作为显示灰度值。圆插补方法避免了水平方向插补造成的横向失真以及二维插补带来的复杂运算,却达到了二维插补的效果。保证分辨率的同时也降低计算复杂度。
如下给出 二维插值的伪代码及仿真结果
参考文献:
高尚凯. 医学成像系统[M]
- 三种笛卡尔坐标到极坐标转换插值算法比较
- Log-polar转换表示从笛卡尔坐标到极坐标的变化
- opencv笛卡尔坐标转换为极坐标cvLogPolar的应用
- OpenCV笛卡尔坐标到极坐标变换函数LogPolar
- 【python图像处理】极坐标变换及插值算法
- OpenCV笛卡尔坐标转极坐标cartToPolar()
- 10.敢问路在何方?:笛卡尔坐标和极坐标的转换
- shepp-logan模型笛卡尔坐标变换到极坐标,环状伪影仿真
- 游戏开发中的数学和物理算法(11):极坐标 vs 笛卡尔坐标
- 游戏开发中的数学和物理算法(11):极坐标 vs 笛卡尔坐标
- GPS坐标转笛卡尔坐标
- Unity 坐标转换 世界坐标转换到NGUI坐标
- 笛卡尔坐标系统
- cocos2dx笛卡尔坐标
- OpenGL屏幕坐标到三维坐标转换
- 屏幕坐标到opengl世界坐标转换
- 屏幕坐标到opengl世界坐标转换
- Unity 世界坐标转换到NGUI坐标
- dos中一些常用命令的errorlevel返回值
- HTML5游戏实战《银行卡牌连连看看游戏》
- npm install 加速,解决github在国内访问缓慢的问题。
- android Unable to execute dex问题的解决
- JDStatusBarNotification——状态栏顶部显示通知,iOS 7风格。支持 iOS 6和iOS 7
- 三种笛卡尔坐标到极坐标转换插值算法比较
- sgu282:Isomorphism(polya计数)
- 创建静态库FrameWork(特别创建)
- 说好的加班呢
- computer science english
- 粉碎机项目相关知识点
- 使用各种查询选择来提高性能
- 将两首音乐合成一首
- ueditor 长文章分页