编写一个基于GUI的图像处理程序。

编写一个基于GUI的图像处理程序。,第1张

30块2道 ,送第一道。

%图像读取

global im%定义全局变量im

[filename,pathname]=uigetfile({'*.*''*.bmp''*.tif''*.png'},'select picture')%选择图片路径

str=[pathname filename] %合成路径+文件

im=imread(str)%读取图片

axes(handles.axes1) %使用第一个axes

imshow(im) %显示图片

title('原图像')

%图像剪切和显示

global im

%定义全局变量im

[filename,pathname]=uigetfile({'*.*''*.bmp''*.tif''*.png'},'select picture')%选择图片路径

str=[pathname filename] %合成路径+文件名

im=imread(sr) %读取图片

axes(handles.axes1)%使用第一个axes

imshow(im) %显示图片

rect1=getrect(handles.axes1) % getrect交互取出

axes1图片感兴趣区域

rect1=round(rect1) % 选择区像素取整

global B %定义全局变量B

B=im(rect1(2):(rect1(2)+rect1(4)),rect1(1):(rect1(1)+rect1(3)),:)

axes(handles.axes2) %使用第二个axes

imshow(B)%显示B图像于第二个axes

新建m文件,文件名为:tuxiang.m;内容为:

clearclcclf reset

set(gcf,'unit','normalized','name','图像旋转','menubar','none','position',[0.2,0.2,0.6,0.6])

set(gcf,'defaultuicontrolunits','normalized')

set(gcf,'defaultuicontrolbackgroundcolor','w')

set(gcf,'defaultuicontrolfontsize',12)

str1='生成图像'str2='旋转90度'

h_push1=uicontrol(gcf,'style','push','position',[0.2,0.05,0.2,0.05],'string',str1)

h_push2=uicontrol(gcf,'style','push','position',[0.6,0.05,0.2,0.05],'string',str2)

set(h_push1,'callback',['sctx'])

set(h_push2,'callback',['xuanzhuan'])

新建m文件,文件名为:sctx.m;内容为:

RGB=imread('meinv.jpg')

imshow(RGB)

新建m文件,文件名为:xuanzhuan.m;内容为:

[a b c]=size(RGB)

for k=1:3

A(:,:,k)=rot90(squeeze(RGB(:,:,k)))%逆时针旋转90度

end

RGB=uint8(A)

imshow(RGB)

clear A

===========================================

找一张美女图片,文件名为:meinv.JPEG,JPG格式。

将所有文件都拷贝到MATLAB搜索路径下。

在主窗口中输入:tuxiang,按回车即可运行程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8121934.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存