matlab做图像_matlab语言基础

matlab做图像_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,’de…


Jetbrains全系列IDE稳定放心使用

注:

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

图像文件的查询

% 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()

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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189036.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • idea怎么远程debug_idea 多线程调试

    idea怎么远程debug_idea 多线程调试1,远程DEBUG的必要性由于部署环境的差异性,相信很多朋友都碰到过开发环境正常测试过的功能在测试环境甚至生产环境下出现bug的情况。一般情况下,生产环境可以采取的手段比较单一,即通过日志的方式获取运行中的环境上下文,分析日志文件并尝试重现bug。这会带来的问题还是不少的,首先,日志的分析是一项比较耗时的工作;其次,现有的日志记录不一定能反映出问题,你可能需要多次重复这个过程(分析日志->猜测问题->加日志->部署->获取日志)来慢慢逼近问题。倘若是测试环境,我们还多了一项可..

    2022年9月11日
  • termux安装kali图形界面_kali如何创建shell脚本

    termux安装kali图形界面_kali如何创建shell脚本解决方法:在终端输入以下命令行:sudogedit/usr/share/applications/Pycharm.desktop1进入gedit文档界面然后将里面的内容复制成:[DesktopEntry]Type=ApplicationName=PycharmGenericName=Pycharm3Comment=Pycharm3:ThePythonIDEExec=…

    2022年8月25日
  • 计算机本质「建议收藏」

    计算机本质「建议收藏」首页发现话题提问登录加入知乎为什么计算机能读懂1和0?关注问题写回答计算机计算机科学为什么计算机能读懂1和0?从小到大,我们被告知的都是,计

    2022年6月2日
  • 分布式事务、cloud、boot、常规队列MQ、elk、kafuka

    分布式事务、cloud、boot、常规队列MQ、elk、kafuka点击链接》》》这个博客里面的专栏。apache-jmeter-3.3的简单压力测试使用方法https://www.cnblogs.com/ios9/p/7644951.html#_label3 

    2022年5月15日
  • 十进制转换为二,八,十六进制_vb进制转换

    十进制转换为二,八,十六进制_vb进制转换进制转换原理进制转换是人们利用符号来计数的方法。进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。位权是指,进位制中每一固定位置对应的单位值。在知乎有个问题下的解答很不错,可以参考:打开链接他们之间的关系如下:接下来我们一一阐述。一:(二,八,十六进制)转十进…

    2022年10月11日
  • .net的winform中DialogResult属性的使用「建议收藏」

    .net的winform中DialogResult属性的使用「建议收藏」在winform项目开发时,我们常会遇到一种情况,在主窗口中需要打开窗口进行数据的增加或修改,关闭子窗口时需要刷新主窗口数据。此时就用到DialogResult这个属性。下面用一个简单例子说明DialogResult这个属性的使用方法。要实现下图中的功能,点击form1的跳转按钮,跳转至界面JumpForm,点击JumpForm界面的保存按…

    2022年6月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号