之前碰到了一个问题,是如何将图像变换到极坐标下。查了一些资料,这里作一总结。

首先,正常的图像都是在直角坐标系下的,可以看做一个二维平面。我们要对图像进行坐标变换,首先要把位置转换到新的坐标系,然后将值赋过去。下面是百度到的一个MATLAB代码,实现了这个转换。

close all; clear all;
A=imread('1.jpg');   %读取图像(已经存到当前文件夹)A1=double(A(:,:,1));
A2=double(A(:,:,2));
A3=double(A(:,:,3));  %rgb3通道转为double类型
[m n]=size(A1);
[t r]=meshgrid(linspace(-pi,pi,n),1:m); %原图坐标M=2*m;
N=2*n;
[NN MM]=meshgrid((1:N)-n-0.5,(1:M)-m-0.5);
T=atan2(NN,MM);
R=sqrt(MM.^2+NN.^2);                  %变换图坐标B1=interp2(t,r,A1,T,R,'linear',0);
B2=interp2(t,r,A2,T,R,'linear',0);
B3=interp2(t,r,A3,T,R,'linear',0); %rgb3通道插值
B=uint8(cat(3,B1,B2,B3));        %合拼转换回uint8类型subplot(121),imshow(A);  %画原图
subplot(122),imshow(B);  %画变换图

可以看到其思路是先构建极坐标系,然后将直角坐标通过公式转换到极坐标下,再利用interp2函数插值,将像素值赋值过去。重点在于坐标的对应。

但是我在尝试将极坐标的图像转换到直角坐标的时候,位置变换总是不对,不知道问题出在哪,等以后解决了再更新这部分。

另外,在PS中极坐标用来生成具有艺术风格的图。可以看一个例子:PS极坐标滤镜将楼宇照片变为超现实地心世界

借用两张图

【图像处理】图像的极坐标变换相关推荐

  1. Matlab数字图像处理——图像的空间变换

    Matlab空间变换函数 imtransform Matlab空间变换函数 imtransform 可以实现图像仿射变换(如 平移.旋转.剪切.缩放).投影变换, 该函数可与 maketform 配合 ...

  2. 数字图像处理--图像的缩放变换

    在日常工作中,我们经常需要对图像进行缩放(放大.缩小),旋转.平移等各种操作,这类操作统称为图像的几何变换.相对于前面提到的灰度变换,几何变换是改变了原图像像素点在新图像中的空间位置. 我们首先来看看 ...

  3. 【算法+OpenCV】图像极坐标变换及基于OpenCV的实现

    在医学图像处理,尤其是在处理血管断层扫描类(如OCT.IVUS等)图像的过程中,不可避免的会使用到极坐标变换,也即是我们通常所说的"方转圆".同样,我们可以使用极坐标变换的反变换实 ...

  4. 【OpenCV 4开发详解】图像极坐标变换

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  5. 【数字图像处理】图像几何变换之 图像的极坐标变化展开鱼眼图

    (一)基础知识 极坐标变换及其反变换的关键在于,根据极坐标变换前的图像(我们称为"圆图")确定极坐标变换后的图像(我们称为"方图")上每个像素点的像素值.也即是 ...

  6. 教程 | OpenCV4中的极坐标变换

    极坐标变换就是将图像在直角坐标系与极坐标系中互相变换,形式如图3-26所示,它可以将一圆形图像变换成一个矩形图像,常用于处理钟表.圆盘等图像.圆形图案边缘上的文字经过及坐标变换后可以垂直的排列在新图像 ...

  7. halcon 圆环类缺陷检测的一种方法(极坐标变换法)

    目录 简介 极坐标变换 定义 原理 Halcon中的极坐标变换 1.polar_trans_image_ext算子用法与参数剖析 2.polar_trans_region_inv算子用法与参数剖析 圆 ...

  8. 图像极坐标变换及在OCR中的应用

    极坐标变换定义 我们知道在二维坐标系中,有直角坐标系,也有极坐标系,二者的转换关系是: 如下图: 如图,直角坐标系的圆心与极坐标系的圆心一一对应,且圆弧BA可以通过极坐标变换到极坐标系ρ=r\rho= ...

  9. 图像极坐标变换的研究

    做图像配准的时候,发现图像进行旋转的情况下的配准有一些特殊.于是想到可以用极坐标进行配准.查了一下资料,发现大家用的更多的是对数极坐标Log Polar. 笛卡尔坐标系和极坐标系 先来说一下我们常用的 ...

最新文章

  1. 如何教计算机认识手写数字(下)
  2. 别在 Java 代码里乱打日志了,这才是正确的日志打印姿势!
  3. GitHub Action + ACK:云原生 DevOps 落地利器
  4. 使用halcon将一个圆上的点拟合成圆形并且求出圆心
  5. String方法(一)
  6. 李梁北京大学 计算机,【资环学院】圆梦路上多楷模
  7. centos7下扩充swap空间
  8. 消息队列与RabbitMQ
  9. java 添加 psd_psd缩略图生成上传解决方案
  10. matlab如何实现波的叠加原理,什么是波的叠加原理?-王尚
  11. C#/音乐播放器/带进度条/歌词滚动、颜色变化/桌面应用程序设计
  12. scons脚本应用笔记
  13. 采油区域 前缀和+DP
  14. 【Paper Note】基于决策树算法的电信运营商客户流失预测
  15. 金属新材料行业:一体压铸,一触即发
  16. 计算机黑屏的原因及解决办法,电脑黑屏的原因及排除方法大全
  17. maven导入orcal坐标 报错 :Cannot resolve com.oracle:ojdbc14:11.2.0.1.0
  18. Window Installer Clean Up好用的软件管理工具
  19. 使用telnet访问网站
  20. 图文并茂详细教程之——富斯I6遥控器电压回传模块的安装和使用(苍穹四轴)

热门文章

  1. C语言sizeof用法
  2. 小米手机调试总是出现INSTALL_CANCELED_BY_USER的解决办法
  3. Bluemix结合DevOps Service实现一键部署
  4. c语言 union 与结构 位域妙用
  5. 生成二维码和二维码的logo,识别二维码发送短信
  6. python游戏脚本 魔兽世界_python魔兽世界开发脚本漫画作
  7. [HashMap]——遍历HashMap
  8. Python爬虫:爬取京东商品简介
  9. 移动支付之智能IC卡与Android手机进行NFC通信
  10. matlab图形标注名称_MATLAB图形的标注与修饰