MATLAB GUI编程显示载入.JPG图片

本文介绍了在MATLAB GUI中如何实现启动时默认加载并显示JPG图片,以及点击按钮后动态加载图片的方法。通过示例代码详细解释了在OpeningFcn和按钮Callback中如何使用imread和imshow函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MATLAB GUI软件界面显示载入的.JPG图片分两种情况,一种是希望点击按钮后显示载入的图片、另一种情况是希望软件界面一开始就载入默认位置的图片。  启动MATLAB 2018b后,在命令行光标后输入: guide  并回车,选择并打开名为 untitled8.fig 的文件。我从互联网上下载了NVIDIA和AMD两个游戏显卡公司的图片作为素材,分别用好压看图2345调整完像素大小并保存为NVIDIA.jpg和AMD.jpg


一、启动时默认载入NVIDIA.jpg并显示在GUI轴 axes3

找到对象“axes3”,查看回调 CreatFcn 因为有代码语句:
% Hint: place code in OpeningFcn to populate axes3
所以了解到,需要把载入和显示图片的代码插入到这个GUI图像的 OpeningFcn函数下面位置。


 % --- Executes just before untitled8 is made visible.

function untitled8_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% han

### MATLAB GUI 中实现图片旋转 在MATLAB GUI环境中,可以通过编程方式轻松实现图片的旋转操作。下面展示了一个简单的例子,该实例不仅能够加载并显示一张图片,还能让用户通过输入角度值来控制图片的具体旋转程度。 #### 创建GUI布局 首先定义好必要的组件,比如用于选择文件的按钮、编辑框供用户录入旋转的角度以及轴对象用来呈现最终的效果图等。 ```matlab function varargout = rotateImage(varargin) % ROTATEIMAGE M-file for rotateImage.fig % FORMSROTATEIMAGE opens the GUI. gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @rotateImage_OpeningFcn, ... 'gui_OutputFcn', @rotateImage_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end end % --- Executes just before rotateImage is made visible. function rotateImage_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to rotateImage (see VARARGIN) % Choose default command line output for rotateImage handles.output = hObject; % Update handles structure guidata(hObject, handles); end % --- Outputs from this function are returned to the command line. function varargout = rotateImage_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; end % Callback functions go here... % Load image button callback function loadImageButtonCallback(hObject, eventdata, handles) [file,path] = uigetfile({'*.jpg; *.jpeg; *.png','All Image Files';... '*.*','All Files (*.*)'},'Select an Image'); if file ~= 0 fullFileName = fullfile(path,file); imgOriginal = imread(fullFileName); axes(handles.axes1); cla reset; imshow(imgOriginal); setappdata(hObject,'imgOriginal',imgOriginal); end end % Rotate image by specified angle function rotateButtonCallback(hObject,eventdata,handles) try rotationAngleStr = get(handles.editRotationAngle,'String'); rotationAngle = str2double(rotationAngleStr); if isnan(rotationAngle) errordlg('请输入有效的数字作为旋转角度!'); return; end imgToRotate = getappdata(hObject,'imgOriginal'); rotatedImg = imrotate(imgToRotate,rotationAngle,'bilinear','crop'); axes(handles.axes2);cla reset; imshow(rotatedImg); catch ME warndlg(ME.message,'Error Occurred!'); end end ``` 上述代码片段创建了一个基本框架,在其中包含了两个主要的功能回调函数:一个是`loadImageButtonCallback`负责加载选定的图片到界面上;另一个则是`rotateButtonCallback`实现了基于指定角度对已载入图片执行旋转的操作[^4]。 此段程序利用到了MATLAB内置函数`imrotate()`完成实际的图像旋转工作,其接受三个参数——待处理的目标图像矩阵、期望转动的角度数值(正数代表逆时针方向)、插值算法的选择(这里选用了双线性法),最后一个选项指定了裁剪模式以适应新的尺寸变化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康冕峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值