声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1162|回复: 5

[求助]happy,请再进来帮忙解答一下,谢啦

[复制链接]
发表于 2006-4-17 21:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
一般imresize函数调用时都会用到默认或者自定义插值法,怎样才能放大图像而不用到任何插值法呢?您上次教的用二维插值法实现图像三次样条插值<br>q=2;<br>I=imread('moon.tif');<br>J=double(I);<br>[m,n]=size(j);<br>[x,y]=meshgrid(1:n,1:m);<br>[xi,yi]=meshgrid(1:1./q:n,1:1./q:m);<br>A1(:,:,1)=interp2(x,y,J(:,:,1),xi,yi,'spline');<br>A1(:,:,2)=interp2(x,y,J(:,:,2),xi,yi,'spline');<br>A1(:,:,3)=interp2(x,y,J(:,:,3),xi,yi,'spline');<br>可是之后如何只是放大而不要matlab调用其它插值法呢?还有为什么执行上面语句时matlab会提示超出矩阵范围,谢谢!!
[此贴子已经被作者于2006-4-17 22:07:44编辑过]

回复
分享到:

使用道具 举报

发表于 2006-4-17 21:50 | 显示全部楼层

回复:(yuyukiki)[求助]happy,请帮忙如何放大图像而...

不能不用到插值,在图像是像素的形式存储的<BR>放大的话就相当于像素点增加,不用插值你增加的像素怎么来?<BR>随便给?还是凭空多出来?所以不可能啊<BR><BR>超出矩阵范围那是因为你原来的图片太大,或者你给出的放大倍数太大了
 楼主| 发表于 2006-4-17 22:06 | 显示全部楼层

回复:(happy)回复:(yuyukiki)[求助]happy,请帮...

<P>可是你上次给的程序里的double不是将图像像素值提升到双精度吗?还是放大啊?如果按它来运行,输出的是一幅放大但不清楚只有黑白颗粒的图片,而且如果我要放大3 或4或其它倍数那怎么办?因为据我的理解,程序里只有像素间插值,并无放大语句啊</P>
发表于 2006-4-18 08:41 | 显示全部楼层

回复:(yuyukiki)[求助]happy,请再进来帮忙解答一下...

你没有unit当然显示有问题了<br>clear;<br>q=3;<br>I=imread('abc5.jpg');<br>J=double(I);<br>[m,n,k]=size(J);<br>[x,y]=meshgrid(1:n,1:m);<br>[xi,yi]=meshgrid(1:1./q:n,1:1./q:m);<br>A1(:,:,1)=interp2(x,y,J(:,:,1),xi,yi,'spline');<br>A1(:,:,2)=interp2(x,y,J(:,:,2),xi,yi,'spline');<br>A1(:,:,3)=interp2(x,y,J(:,:,3),xi,yi,'spline');<br>A=uint8(A1);<br>imshow(A);<br><br>另外你说的过大问题是不是Warning: Image is too big to fit on screen;<br>这个不用理他,只是显示的时候它自动给你处理了一下而已,对内部的结果没有影响 <br>
[此贴子已经被作者于2006-4-18 8:46:00编辑过]

 楼主| 发表于 2006-4-18 10:12 | 显示全部楼层

回复:(happy)回复:(yuyukiki)[求助]happy,请再...

<DIV class=quote><B>以下是引用<I>happy</I>在2006-4-18 8:41:35的发言:</B><BR>你没有unit当然显示有问题了<BR>clear;<BR>q=3;<BR>I=imread('abc5.jpg');<BR>J=double(I);<BR>[m,n,k]=size(J);<BR>[x,y]=meshgrid(1:n,1:m);<BR>[xi,yi]=meshgrid(1:1./q:n,1:1./q:m);<BR>A1(:,:,1)=interp2(x,y,J(:,:,1),xi,yi,'spline');<BR>A1(:,:,2)=interp2(x,y,J(:,:,2),xi,yi,'spline');<BR>A1(:,:,3)=interp2(x,y,J(:,:,3),xi,yi,'spline');<BR>A=uint8(A1);<BR>imshow(A);<BR><BR>另外你说的过大问题是不是Warning: Image is too big to fit on screen;<BR>这个不用理他,只是显示的时候它自动给你处理了一下而已,对内部的结果没有影响 <BR><BR></DIV>
<P>还是不行啊,错误是??? Index exceeds matrix dimensions</P>
发表于 2006-4-19 19:59 | 显示全部楼层

回复:(yuyukiki)[求助]happy,请再进来帮忙解答一下...

这段代码我试过的,没有问题
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 23:47 , Processed in 0.060598 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表