matlab练习程序(弧形、圆柱投影的复原)

前一段介绍了从矩形图像到圆柱的正向投影,看这里这里。今天介绍如何从已经投影的图像反映射到原图像上。

本来此种变换一定是需要数学公式的,不过这里只是用了一个很简单的方式来完成反映射。

具体就把每一列有像素数据的长度拉伸到原图像的高就行了。

原图像是这样:

处理后:

看着感觉还可以,不过这样显然是不合数学公式的,和最原始的图比较一下就看出来差别了:

matlab代码如下:

clear all;close all;clc;

img=imread('re.bmp');
[h w]=size(img);
imshow(img);

for x=1:w
    p=[];
    for y=1:h
        if img(y,x)~=0
            p=[img(y,x) p];
        end
    end
   
    s=imresize(p,[1,h]);
    img(:,x)=s;
   
end

newh=256;
neww=256;
imgn=imresize(img,[newh,neww]);

figure;
imshow(flipud(imgn),[]);

家里的键盘真的很不适合打字。

posted @ 2014-07-17 20:34  Dsp Tian  阅读(2324)  评论(0编辑  收藏  举报