matlab 图像基础操作

注:

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

图像文件的查询

% imfinfo() 用于获取一张图片的具体信息
info=imfinfo('E:\a_matlab_file\picture\longmao.jpg');
disp(info);

在这里插入图片描述

图像的读取

img_route='E:\a_matlab_file\picture\***.jpg';
A=imread(img_route);
set(0,'defaultFigurePosition',[100,100,1000,500]);
set(0,'defaultFigureColor',[1 1 1])
figure,
subplot(121);
title('图一');

在这里插入图片描述
#为什么不显示图像呢???

图像的储存

a=rand(50);
imwrite(a,'p1.jpg');

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

在这里插入图片描述

也可以将一个图像写入当前目录下:
l1=imread(‘E:\a_matlab_file\picture***.jpg’);
img=rgb2gray(l1);
imshow(img);
imwrite(img,‘gray.jpg’);
在这里插入图片描述

图像文件的显示

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

l=imread('E:\a_matlab_file\picture\666.jpg'); %图片的位置(绝对路径)

imtool()

imtool(l);      % 函数显示图像示例

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

在这里插入图片描述

inshow()

imshow(l);

直接显示图像
在这里插入图片描述
显示双精度灰度图片

bw=zeros(1000,1000);
bw(20:20:980,20:20:980)=1;
imshow(bw);

在这里插入图片描述
显示索引图像

[X,MAP]=imread('E:\a_matlab_file\picture\666.jpg');
imshow(X,MAP);

在这里插入图片描述
按灰度级显示

imshow(l);

在这里插入图片描述

l1=imread('E:\a_matlab_file\picture\***.jpg');
% 将一幅彩色图像转换成灰度图像
img=rgb2gray(l1);
subplot(121);
imshow(l1);
title('原始图像');
subplot(122);
imshow(img);
title('灰度图像');

在这里插入图片描述

% 按最大灰度范围显示图像
l1=imread('E:\a_matlab_file\picture\***.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()

l1=imread('E:\a_matlab_file\picture\***.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()

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

% colorbar将颜色条添加到坐标轴对象中,若该坐标轴包含一个图像对象,则添加的颜色将指示出该图像中不同颜色的数据值
% 对于了解被现实图像的灰度级别有用
i=imread('E:\a_matlab_file\picture\sky.jpeg');
imshow(i,[]);
colorbar

在这里插入图片描述

i=imread('E:\a_matlab_file\picture\sky.jpeg');
imshow(i);
colorbar

在这里插入图片描述

% imshow(i,[])-->imshow(i,[0 255])
% imshow(i)-->imshow(i,[0 1])

montage()

% 多帧图像是一种包含多幅图像或帧的图像文件,又称多页图像或图像序列
% 是一个四维数组,第四维用来指定帧的序号,多帧图像数组中每一幅图像必须有相同大小和颜色分量,每幅图像使用相同的颜色图
% 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()

% warp()
% 纹理映射:二维图像 映射 三维图形表面


i=imread('E:\a_matlab_file\picture\sky.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()

% subimage()
% 在一个图形区域内显示多个图像
load trees;
[x2,map2]=imread('forest.tif');
subplot(1,2,1);
subimage(X,map);
subplot(1,2,2);
subimage(x2,map2);

在这里插入图片描述

load filename 是命令形式的语法。命令形式需要的特殊字符更少。您无需键入括号或者将输入括在单引号或双引号内。使用空格(而不是逗号)分隔各个输入项。

zoom()

% zoom()
% zoom是一个开关键
% zoom on 打开缩放模式   zoom off 关闭
% zoom in 放大局部图像   zoom out 缩小图像

impixel()

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值