在 Matlab 安装目录下\toolbox\images\imdemos 中找到自带图片文件,读取并显 示一幅 tif 格式的图像,将新图像存储成 bmp、jpg、png 格式并显示出来。 2. 读取一幅 RGB 彩色图像,在同一窗口输出原图像及 R, G, B 三个分量图像。 3. 读取一幅 RGB 彩色图像,将其转换为灰度图像保存为 tif 格式,并在同一窗口 显示原图像与灰度图像,然后将前面得到的灰度图像转化为二值图像,并对其 进行取反操作,在同一窗口显示灰度图。 4. 采用三种方法完成多帧图像 mristack 和 cellsequence 的显示
时间: 2023-06-14 22:02:33 浏览: 117
1. 读取并显示一幅 tif 格式的图像,并将其存储成 bmp、jpg、png 格式:
```matlab
% 读取tif格式的图像
img = imread('cameraman.tif');
% 显示图像
imshow(img);
% 存储为bmp格式
imwrite(img, 'cameraman.bmp');
% 显示bmp格式的图像
bmp_img = imread('cameraman.bmp');
imshow(bmp_img);
% 存储为jpg格式
imwrite(img, 'cameraman.jpg');
% 显示jpg格式的图像
jpg_img = imread('cameraman.jpg');
imshow(jpg_img);
% 存储为png格式
imwrite(img, 'cameraman.png');
% 显示png格式的图像
png_img = imread('cameraman.png');
imshow(png_img);
```
2. 读取一幅 RGB 彩色图像,并显示原图像及 R, G, B 三个分量图像:
```matlab
% 读取RGB图像
rgb = imread('peppers.png');
% 显示原图像
subplot(2,2,1); imshow(rgb); title('原图像');
% 分离RGB三个通道
r = rgb(:,:,1);
g = rgb(:,:,2);
b = rgb(:,:,3);
% 显示R通道
subplot(2,2,2); imshow(r); title('R通道');
% 显示G通道
subplot(2,2,3); imshow(g); title('G通道');
% 显示B通道
subplot(2,2,4); imshow(b); title('B通道');
```
3. 读取一幅 RGB 彩色图像,并将其转换为灰度图像保存为 tif 格式,并在同一窗口显示原图像与灰度图像,然后将前面得到的灰度图像转化为二值图像,并对其进行取反操作,在同一窗口显示灰度图:
```matlab
% 读取RGB图像
rgb = imread('peppers.png');
% 显示原图像
subplot(1,3,1); imshow(rgb); title('原图像');
% 转换为灰度图像
gray = rgb2gray(rgb);
% 存储为tif格式
imwrite(gray, 'peppers_gray.tif');
% 显示灰度图像
subplot(1,3,2); imshow(gray); title('灰度图像');
% 将灰度图像转换为二值图像,并取反
bw = imcomplement(imbinarize(gray));
% 显示二值图像
subplot(1,3,3); imshow(bw); title('二值图像');
```
4. 采用三种方法完成多帧图像 mristack 和 cellsequence 的显示:
方法一:
```matlab
% 读取多帧图像mristack
load mristack.mat
% 显示第一帧
imshow(mristack(:,:,1));
% 读取多帧图像cellsequence
load cellsequence.mat
% 显示第一帧
imshow(cellsequence{1});
```
方法二:
```matlab
% 读取多帧图像mristack
load mristack.mat
% 显示所有帧
figure;
for i = 1:size(mristack,3)
subplot(4,5,i); imshow(mristack(:,:,i)); title(['第',num2str(i),'帧']);
end
% 读取多帧图像cellsequence
load cellsequence.mat
% 显示所有帧
figure;
for i = 1:length(cellsequence)
subplot(4,5,i); imshow(cellsequence{i}); title(['第',num2str(i),'帧']);
end
```
方法三:
```matlab
% 读取多帧图像mristack
load mristack.mat
% 显示所有帧
montage(mristack);
% 读取多帧图像cellsequence
load cellsequence.mat
% 显示所有帧
montage(cellsequence);
```
阅读全文