MATLAB图像处理之图像读取

一、指定图像读取——imread函数

在这里插入图片描述
直接命令行窗口输入:

imread('background.jpeg');

当然也可以试一下:

imread('background.jpeg')

tips: 所读取的文件名应该放在当前的文件路径下,不然送你一片红

在这里插入图片描述

试完了,发现要么什么也没有
在这里插入图片描述
要么一啪啦数字,看的一脸懵
在这里插入图片描述
嗯,我也一脸懵。不好意思时间久了,一时没适应过来。
此时只要clc一下,这些数字就消失了。
而 “ ”的作用主要有一下3个:
在这里插入图片描述

下面我们正儿八经走一遍

clc
I = imread('background.jpeg');
figure(1) %用于指定展示的画布,数字可以随意改。
imshow(I) %用于显示我们所需要查看的图像。

imread 返回464×640×3 uint8 ,8位无符号整数数组 I。
在这里插入图片描述
也可通过size函数查看图像的基本参数,便于后续进行图像运算。

[m,n,z] = size(I);
m =
   464
n =
   640
z =
   3

但每次都需要输入图像文件的名称,不仅麻烦还容易出错,想要让图片读取更加方便快捷,此时就需要用到我们的uigetfile()函数了。

二、任意图像读取——uigetfile函数

在这里插入图片描述
uigetfile()是用于打开文件选择对话框,如下图
在这里插入图片描述

也可以指定我们想要打开的文件类型、范围、文件名等。

[filename, pathname] = uigetfile({
    
    '*.jpg;*.tif;*.png;*.gif','All Image Files';...
            '*.*','All Files' },'载入图像',...
            fullfile(pwd, 'images'));

其中的“ … ” 为续行号,用于把后面的行与该行连接以构成一个较长的命令。
pwd 命令将当前目录的全路径名称(从根目录)写入标准输出。
fullfile() 函数串联 pwd 和 'images’输出值,即得到想要图像的完整路径。
想要让读取更有意思可以试下下面的,就不再解释了:

[filename, pathname] = uigetfile({
    
    '*.jpg;*.tif;*.png;*.gif','All Image Files';...
            '*.*','All Files' },'载入图像',...
            fullfile(pwd, 'images'));
        if isequal(filename, 0) || isequal(pathname, 0)
            hs = warndlg('您得输入一幅图像');
            ht = findobj(hs, 'Type', 'text');
            set(ht, 'FontSize', 12, 'Unit', 'normal');
            set(hs, 'Resize', 'on');
            return;
        end
I = imread(fullfile(pathname, filename));
figure(2)
imshow(I) 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44886253/article/details/128501034
今日推荐