注册 登录
编程论坛 Matlab

matlab程序问题

kongziyang 发布于 2008-05-22 12:48, 808 次点击
我处理一副彩色图片,读入图片jiuzaigou.bmp后用奇异值分解函数SVD分别对此图像的r,g,b三色矩阵进行处理后得到压缩后的r',g',b'矩阵,然后再合成新的图像达到压缩的目的,但是用imwrite函数得到的新图像文件格式好像不对,程序大概:A=imread('jiuzaigou.bmp');
A=im2double(A);
R=A(:,:,1);G=A(:,:,2);B=A(:,:,3);
.
.
.
R'=U11*d1*V111;G'=U22*d2*V222;B'=U33*d3*V333;
A(:,:,1)=R';A(:,:,2)=G';A(:,:,3)=B';
imwrite(A,'tupian','jpg');
imshow(tupian);
最后的imshow函数不能显示'tupian'这个文件,改为imshow(A)则可以显示压缩后的图像,用imshow(tupian)显示则错误,不能显示,错误提示为 undifined function or unavaliable variable 'tupian'.但是在work文件夹里面又一'tupian'文件但不知道是什么格式,用系统里面的看图软件可以显示
我在倒数第二行加上A=uint8(A)后还是不行,不知道是不是文件数据类型问题
那位高手帮个忙,感激不仅。

那个高手帮个忙,感激不尽。
2 回复
#2
hitzhang2008-05-24 14:28
imwrite(A,'tupian','jpg');
改成
imwrite(A,'tupian.jpg','jpg');
#3
kongziyang2008-05-24 16:34
感谢,感谢,感激不尽啊!
感谢,感谢,感激不尽啊!
1