matlab做图像_matlab语言基础

2022-11-09 14:31:43 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

注:

读取图像的路径自己设置。

图像文件的查询

代码语言:javascript复制
% imfinfo() 用于获取一张图片的具体信息
info=imfinfo('E:a_matlab_filepicturelongmao.jpg');
disp(info);

图像的读取

代码语言:javascript复制
img_route='E:a_matlab_filepicture***.jpg';
A=imread(img_route);
set(0,'defaultFigurePosition',[100,100,1000,500]);
set(0,'defaultFigureColor',[1 1 1])
figure,
subplot(121);
title('图一');

#为什么不显示图像呢???

图像的储存

代码语言:javascript复制
a=rand(50);
imwrite(a,'p1.jpg');

生成的图像在当前目录下面,和.m文件在同一个目录

也可以将一个图像写入当前目录下: l1=imread(‘E:a_matlab_filepicture***.jpg’); img=rgb2gray(l1); imshow(img); imwrite(img,‘gray.jpg’);

图像文件的显示

以下函数的格式都可通过 help 函数名 来查看 ,以下图片如有侵权,请私聊,将其删除

代码语言:javascript复制
l=imread('E:a_matlab_filepicture6.jpg'); %图片的位置(绝对路径)

imtool()

代码语言:javascript复制
imtool(l);      % 函数显示图像示例

%	imtool close all; % 关闭所有的图像工具

inshow()

代码语言:javascript复制
imshow(l);

直接显示图像

显示双精度灰度图片

代码语言:javascript复制
bw=zeros(1000,1000);
bw(20:20:980,20:20:980)=1;
imshow(bw);

显示索引图像

代码语言:javascript复制
[X,MAP]=imread('E:a_matlab_filepicture6.jpg');
imshow(X,MAP);

按灰度级显示

代码语言:javascript复制
imshow(l);
代码语言:javascript复制
l1=imread('E:a_matlab_filepicture***.jpg');
% 将一幅彩色图像转换成灰度图像
img=rgb2gray(l1);
subplot(121);
imshow(l1);
title('原始图像');
subplot(122);
imshow(img);
title('灰度图像');
代码语言:javascript复制
% 按最大灰度范围显示图像
l1=imread('E:a_matlab_filepicture***.jpg');
set(0,'defaultFigurePosition',[100,100,1000,500]);
set(0,'defaultFigureColor',[1 1 1]);
subplot(131),imshow(l1);
subplot(132),imshow(l1,[60,180]);
img=rgb2gray(l1);       % 将一幅彩色图像转换成灰度图像
subplot(131);
imshow(l1);
title('原始图像');
subplot(132);
imshow(l1);
title('灰度图像1');
subplot(133);
imshow(img);
title('灰度图像2');

图形读取的image()、imagesc()

代码语言:javascript复制
l1=imread('E:a_matlab_filepicture***.jpg');
figure,
subplot(221),imshow(l1);
title('imshow');
subplot(222),image(l1);
title('image');
subplot(223),image([50,200],[50,300],l1);
title('image2');
subplot(224),imagesc(l1,[60,150]);
title('imagesc');

image(x,y,c):x,y分别为图像显示位置的左上角坐标,c为图像 imagesc(…,clims):clism是两元素的向量,用来限定C中的数据的范围,这些值映射到当前色图的整个范围。

colorbar()

将颜色条添加到坐标轴对象中

代码语言:javascript复制
% colorbar将颜色条添加到坐标轴对象中,若该坐标轴包含一个图像对象,则添加的颜色将指示出该图像中不同颜色的数据值
% 对于了解被现实图像的灰度级别有用
i=imread('E:a_matlab_filepicturesky.jpeg');
imshow(i,[]);
colorbar
代码语言:javascript复制
i=imread('E:a_matlab_filepicturesky.jpeg');
imshow(i);
colorbar
代码语言:javascript复制
% imshow(i,[])-->imshow(i,[0 255])
% imshow(i)-->imshow(i,[0 1])

montage()

代码语言:javascript复制
% 多帧图像是一种包含多幅图像或帧的图像文件,又称多页图像或图像序列
% 是一个四维数组,第四维用来指定帧的序号,多帧图像数组中每一幅图像必须有相同大小和颜色分量,每幅图像使用相同的颜色图
% matlab函数可以对多帧图像的每一帧处理,如果该多帧图像超出了该函数能力范围,结果不可预知
% montage可使多帧图像一次显示,也可分区显示每一帧,所有子区的图像使用同一颜色条
mri=uint8(zeros(128,128,1,6));
for frame=1:9
    [mri(:,:,:,frame),map]=imread('mri.tif',frame);
end
montage(mri,map);

warp()

代码语言:javascript复制
% warp()
% 纹理映射:二维图像 映射 三维图形表面


i=imread('E:a_matlab_filepicturesky.jpeg');
[x,y,z]=sphere; % 创建三个(N 1)x(N 1)的矩阵,使得surf(x,y,z)建立一个球体,省略是N取20
set(0,'defaultFigurePosition',[100,100,1000,400]);      %修改默认位置
set(0,'defaultFigureColor',[1 1 1]);        % 修改背景颜色
figure,
subplot(121),warp(i);       % 图像映射到矩形平面
subplot(122),warp(x,y,z,i);     % 将二维图像纹理映射到三维球体表面
whos        %   Name Size Bytes Class Attributes
who         % 显示所有的变量
grid on;

subimage()

代码语言:javascript复制
% subimage()
% 在一个图形区域内显示多个图像
load trees;
[x2,map2]=imread('forest.tif');
subplot(1,2,1);
subimage(X,map);
subplot(1,2,2);
subimage(x2,map2);
代码语言:javascript复制
load filename 是命令形式的语法。命令形式需要的特殊字符更少。您无需键入括号或者将输入括在单引号或双引号内。使用空格(而不是逗号)分隔各个输入项。

zoom()

代码语言:javascript复制
% zoom()
% zoom是一个开关键
% zoom on 打开缩放模式   zoom off 关闭
% zoom in 放大局部图像   zoom out 缩小图像

impixel()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

0 人点赞