一张图片经过matlab处理,imshow了之后会出现三幅一样的输出图像并排显示的情况,向高手求解

一张图片经过matlab处理,用imshow函数(也用过imtool函数)显示结果图像,会出现这样一中情况:结果图像是正确显示了,但是一下子出现三张一样的结果图像并排显示,会不会是matlab的版本问题?我用的是2010b。向高手求解!

imshow函数没错,错的是你没弄清楚图像的格式.你的I是一个66*514*3的彩色图像,而不是一个灰度图像,做二维卷积之后,得到的J1的大小为68*1544,这就是问题症结所在,函数将彩色图像的三个分量拼接在一起构成一个66*1542的灰度图像,然后二维卷积将尺寸扩为68*1544,显示出来就是三个图连接在一起,在fig1中的第二个图和fig2中的图都是如此.
改正方法:将彩色图像转为灰度图像
I=imread('11.bmp');
I=rgb2gray(I);
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-07
我也出现了这样的问题,读入图片后显示原始图片是正常的,可是处理完后就显示三张并排的,三张的大小都和原始图片是一样的
请问你解决了吗?是怎样解决的能否告诉我,非常感谢!
第2个回答  2019-03-15
Mat(HEIGHT,WIDTH) 不是 Mat(WIDTH,HEIGHT)
第3个回答  2011-01-04
是不是还有其他的axes,或者没有指定显示的axes,应该不是版本的问题。本回答被网友采纳
第4个回答  2011-01-07
看你的图像是不是RGB三维图,转化成灰度图试试!!

一张图片经过matlab处理,imshow了之后会出现三幅一样的输出图像并排显示...
imshow函数没错,错的是你没弄清楚图像的格式.你的I是一个66*514*3的彩色图像,而不是一个灰度图像,做二维卷积之后,得到的J1的大小为68*1544,这就是问题症结所在,函数将彩色图像的三个分量拼接在一起构成一个66*1542的灰度图像,然后二维卷积将尺寸扩为68*1544,显示出来就是三个图连接在一起,在fig...

用MATLAB读入一个灰度图片,再image显示出来怎么成了横着三个重复...
这是因为你读入的是24位位图,实际上是三维的,即row*column*3(最后的3表示RGB三部分),你把最后的那个3给省略了,列数就成了column*3列,所以变成了横着的三个重复的,你可以查看一下读入的位图在workspace里是不是这样的

请教大神,如何在MATLAB中用imshow合并两张或者多张图片?
把a.m文件直接放在附件1文件夹里直接运行,这是批量读入图像从matlab论坛找的,调试通过

matlab 图片显示,把不同大小的图片显示到一起
你好!你可以尝试使用imresize函数试一下,通过这个函数把图片调整成你需要的大小,每一个调整完后在通过上面的方法合并。b=imresize(I,[numrows numcols]);% I是原来图片,numrows,numcols分别是你想要生成图片的像素的行数和列,还可以自己定义变换方法,这个你可以百度。

matlab中imshow显示的和imwrite保存的结果为什么不一样?
为什么我用imshow显示的和imwrite保存的结果不一样呢?程序如下,两幅图像简单的相加,求高手解释下I=imread('d:\/1.jpg');J=imread('d:\/2.jpg');K=imadd(I,J,'uint16');imshow(K,[])... 为什么我用imshow显示的和imwrite保存的结果不一样呢?程序如下,两幅图像简单的相加,求高手解释下I=imread('d:\/...

在matlab下把一张RGB图分成了3个通道的三张图,现在怎么通过这3个通道...
如果R、G、B通道对应图为1.jpg,2.jpg,3.jpg image_R=imread('1.jpg');%生成的应该是一个二维矩阵 image_G=imread('2.jpg');image_B=imread('3.jpg');image_RGB(:,:,1)=image_R;image_RGB(:,:,2)=image_G;image_RGB(:,:,3)=image_B;imwrite(image_RGB,'myimage.jpg','jpg...

Matlab中我将一副图像处理后要显示该图像的幅度谱,可是用imshow(I)输...
mat2gray(AFA));直接用imshow()默认好像是0为黑,1为白,这个范围很容易超过,一般不是uint8的数据,就会显示全黑或者全白 imshow(,[])可以是应为[]为空是,函数自动将灰度空间映射到输入矩阵中最小值-最大值范围,相当于imshow(,[min(AFA(:)) max(AFA(:))])

matlab怎样在窗口里显示图片
首先,确保你有一张图片文件(如JPEG、PNG等格式)可以加载到MATLAB中。然后,使用`imread`函数读取这张图片到一个变量中。之后,使用`imshow`函数将这个变量(即图片数据)显示在MATLAB的图形窗口中。示例代码如下:```matlab 读取图片文件到变量img中 img = imread('your_image_path.jpg'); % 替换'...

matlab imshow 显示太小
这是因为你的矩阵行数和列数差别太大导致的,如你矩阵为1000*10的这样你看到的图像就会难看。你可以画图很多次,每次画一部分,用hold on或者用subplot

这是一个MATLAB程序,用的是Robison模板,最后如何输出处理后的图像
最后加上:S=imshow(out)在图形窗中点保存为,可以起名、保存为各种图片或程序

相似回答