使用 MATLAB 提示用户 select 一个图像文件
Use MATLAB to prompt user to select a image file
我正在尝试实现一个功能,从提示用户 select 图像开始并进行一些图像操作。这是我的代码:
[FileName, Path] = uigetfile ('*.bmp; *.png; *.jpg','Select the secret image');
secretImg = FileName;
R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);
然而,这提示我错误:
Index exceeds matrix dimensions.
Error in main (line 16) G = secretImg(:,:,2);
它与在代码中指定文件名的传统方法一起工作,如下所示:
%secretImg = imread('Images/lena.bmp');
试试这个:
secretImg = imread(strcat(Path,FileName));
完整代码:
[FileName, Path] = uigetfile ('*.bmp; *.png; *.jpg','Select the secret image');
secretImg = imread(strcat(Path,FileName));
%// One alternative is to use `fullfile` as rayryeng suggested,
%// secretImg = imread(fullfile(Path,FileName));
R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);
使用imgetfile
。与uitgetfile
不同,imgetfile
会自动过滤掉非图片文件。
我正在尝试实现一个功能,从提示用户 select 图像开始并进行一些图像操作。这是我的代码:
[FileName, Path] = uigetfile ('*.bmp; *.png; *.jpg','Select the secret image');
secretImg = FileName;
R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);
然而,这提示我错误:
Index exceeds matrix dimensions.
Error in main (line 16) G = secretImg(:,:,2);
它与在代码中指定文件名的传统方法一起工作,如下所示:
%secretImg = imread('Images/lena.bmp');
试试这个:
secretImg = imread(strcat(Path,FileName));
完整代码:
[FileName, Path] = uigetfile ('*.bmp; *.png; *.jpg','Select the secret image');
secretImg = imread(strcat(Path,FileName));
%// One alternative is to use `fullfile` as rayryeng suggested,
%// secretImg = imread(fullfile(Path,FileName));
R = secretImg(:,:,1);
G = secretImg(:,:,2);
B = secretImg(:,:,3);
使用imgetfile
。与uitgetfile
不同,imgetfile
会自动过滤掉非图片文件。