MATLAB中GUI在图像处理应用中的设计(包括各种算法)(3)

2020-04-21 00:41

p1=str2num(p{1});

y=imadjust(handles.img,[ ], [ ],p1); %亮度调节 imshow(y); handles.img=y;

guidata(hObject,handles);

对比度处理前:

对比度处理后(增强3倍):

对比度减弱1.5倍后:

11 / 52

实现程序段如下:

function uipanel10_SelectionChangeFcn(hObject, eventdata, handles) % hObject handle to uipanel10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global T

str=get(hObject,'string'); axes(handles.axes2);

switch str case'增强' T=getimage;

prompt={'输入参数:'}; defans={'1'};

p=inputdlg(prompt,'input',1,defans); p1=str2num(p{1});

f=immultiply(handles.img,p1); imshow(f); handles.img=f;

guidata(hObject,handles); case'减弱' T=getimage;

prompt={'输入参数:'}; defans={'1'};

12 / 52

p=inputdlg(prompt,'input',1,defans); p1=str2num(p{1});

f=imdivide(handles.img,p1); imshow(f); handles.img=f;

guidata(hObject,handles); end

该程序段主要通过 f=immultiply(handles.img,p1); p=inputdlg(prompt,'input',1,defans); 分别实现图像对比度的增强与减弱。

4.4 用鼠标选取图像感兴趣区域,显示和保存该选择区域。

通过imcrop(x)函数来实现对图片某一区域的截取,截取的图片在右框中显示。结合“保存为?”,可把截图处理后的图片保存在指定路径。

实现程序段如下:

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

13 / 52

global T

axes(handles.axes2); T=getimage;

x=imcrop(handles.img); %截图 imshow(x); handles.img=x;

guidata(hObject,handles);

4.5 图像转化为灰度图像。

由于在matlab中较多的图像处理函数支持对灰度图像进行处理,故对图像进行灰度转化十分必要。可利用rgb2gray(X)函数对其他图像进行灰度图像的转化。 转化实例如下:

实现程序段如下:

% --- Executes on button press in radiobutton16.

function radiobutton16_Callback(hObject, eventdata, handles) % hObject handle to radiobutton16 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

% Hint: get(hObject,'Value') returns toggle state of radiobutton16 global T

axes(handles.axes2);

14 / 52

T=getimage;

x=rgb2gray(handles.img); %RGBí???×a???a?ò?èí??? imshow(x); handles.img=x;

guidata(hObject,handles);

4.6对图像进行放大和缩小整数倍的操作。

通过imresize(X,n,mode)函数对图像X进行放大或者缩小。N放大缩小倍数,mode为采用的方式。

通过处理后可发现保存的图片的比原图放大了(缩小了)。 实现的程序段如下:

function uipanel9_SelectionChangeFcn(hObject, eventdata, handles) % hObject handle to uipanel9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global T

str=get(hObject,'string'); axes(handles.axes2); switch str

case'最近邻插值' T=getimage;

prompt={'输入参数:'}; defans={'2'};

p=inputdlg(prompt,'input',1,defans); p1=str2num(p{1});

f=imresize(handles.img,p1,'nearest'); imshow(f); handles.img=f;

guidata(hObject,handles);

15 / 52


MATLAB中GUI在图像处理应用中的设计(包括各种算法)(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年高中生单招信息技术重点考点

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: