07 2014 档案
摘要:最近对图像坐标的变换很感兴趣啊,这次是将一张图像变换为圆形。变换原理就是按变换前后像素到圆心的距离按比例缩减就行了。改变x,y方向上的系数,应该还可以变换为椭圆,不过我还没有尝试。注意我这里相当于缩小图像了,所以用的是正向插值,如果想生成一个大圆,还是需要逆向插值的。原图如下:处理后效果:matla...
阅读全文
摘要:不论是过去写的这个转换方法,还是今天看到的这个:string cvt2str( int x ){ int d = x; string ans = ""; while( x > 0 ) { d = x%10; ans = char(d+'0')+an...
阅读全文
摘要:还记得过去写过径向模糊,不过当时效果似乎不好。这次效果还可以,程序中用的算法是:1.求当前处理点和图像中心点之间的距离r与角度ang;2.通过对r的修改得到径向模糊。3.通过对ang的修改得到旋转模糊。一看代码就能全部明白,不仔细解释了。原图如下:处理后效果:matlab代码如下:clear all...
阅读全文
摘要:其实就是用sin或cos对x,y坐标进行变换,处理的时候依然是反向变换。类似的,用不同的函数能得到不同的扭曲效果,比如log,1/x,exp等等。效果如下:代码如下(还给出了如何生成gif图片的代码):clear all;close all;clc;img=imread('lena.jpg');[h...
阅读全文
摘要:前一段介绍了从矩形图像到圆柱的正向投影,看这里和这里。今天介绍如何从已经投影的图像反映射到原图像上。本来此种变换一定是需要数学公式的,不过这里只是用了一个很简单的方式来完成反映射。具体就把每一列有像素数据的长度拉伸到原图像的高就行了。原图像是这样:处理后:看着感觉还可以,不过这样显然是不合数学公式的...
阅读全文
摘要:算是一种特效模糊方式吧,算法原理就是用邻域随机像素代替当前所处理的像素就可以了。效果如下图所示:原图:处理后结果:matlab代码如下:clear all; close all;clc;img=imread('lena.jpg');[h,w]=size(img);imgn=img;n=3; %...
阅读全文
摘要:这个其实也算是圆柱体投影了,不过上一篇文章是从正面看,得到的是凸形的结果,而这个是从反面看,得到的是凹形的结果。计算公式就不写了,大致介绍一下,计算公式中关于x坐标求法和上篇一样,y坐标则正好是上篇公式的反变换,结合上篇公式代码和本篇的代码,应该都不是很难理解的。下面是hfOV为pi/2时得到的变换...
阅读全文