MATLAB大作业——美图秀秀

基于APP Designer完成MATLAB大作业之简易版美图秀秀设计

目录​​​​​​​

一、基础功能

二、添加效果

三、调色

四、美颜

五、贴图

六、相框


一、基础功能

1 导入图片

function ButtonImport(app, event)
            [filename,pathname]=uigetfile({'*.*';'*.jpg';'*.tif';'*.png';'*.bmp'},'导入图片');%选择图片的格式
            if isequal(pathname,0)
                errordlg('未选择文件','错误');%创建错误对话框
                return
            else
                file=[pathname filename];
                I=imread(file);
                app.OriginalImage=file;% app.OriginalImage为全局变量,存储原始图像
                app.ChangedImage=I;% app.ChangedImage为全局变量,存储最近改变的图像
                app.EffectImage=I;% app.EffectImage为全局变量,与app.ChangedImage作用相似,作为某些功能的读入图像
            end
                imshow(I,'Parent',app.UIAxes);
        end

效果:

2 保存图片

function ButtonSave(app, event)
            [filename,pathname]=uiputfile({'*.*';'*.jpg';'*.tif';'*.png';'*.bmp'},'保存图片');%选择图片的格式
            if isequal(pathname,0)
                msgbox("保存失败!");
            else
                I=fullfile(pathname,filename);% 构建完整文件名
                imwrite(app.ChangedImage,I);
                msgbox("保存成功!");
            end
        end

效果:

3 重置

function ButtonReset(app, event)
            app.ChangedImage=imread(app.OriginalImage);%app.OriginalImage为全局变量,存储原始图像
            imshow(app.ChangedImage,'Parent',app.UIAxes);
            app.Slider.Value=0;% 令布局中的滑块归为默认位置
            app.Slider_2.Value=0;
            app.Slider_3.Value=0;
            app.Slider_5.Value=0;
            app.Slider_6.Value=0;
        end

4 退出

function ButtonExit(app, event)
            exit=questdlg('是否退出程序?','关闭','Yes','No','No');%创建问题对话框,是否关闭程序,默认为No
            switch exit
                case 'Yes'
                    delete(app.UIFigure);%删除APP中的UI图窗
                    return
                case 'No'
                    return
            end
        end

效果: 

5 旋转

function ButtonRotate(app, event)
            I=app.ChangedImage;
            R=imrotate(I,-90);% 顺时针旋转90度
            app.ChangedImage=R;
            imshow(app.ChangedImage,'Parent',app.UIAxes);
            app.EffectImage=R;
        end

效果: 

6 裁剪

function ButtonCrop(app, event)
            I=app.ChangedImage;
            imshow(I);% 弹出裁剪弹窗
            [x,y]=ginput(2);% 识别坐标区区域
            close;
            I2=imcrop(I,[x(1),y(1),abs(x(1)-x(2)),abs(y(1)-y(2))]);
            imshow(I2,'Parent',app.UIAxes)
            app.ChangedImage=I2;
            app.EffectImage=I2;
        end

效果: 

7 水平翻转

function ButtonH_flip(app, event)
            I=app.ChangedImage;
            F=fliplr(I);
            imshow(F,'Parent',app.UIAxes);
            app.ChangedImage=F;
            app.EffectImage=F;
  • 8
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在Matlab中使用App Designer进行图像处理设计是一种快速且便捷的方式。App Designer是Matlab提供的一种可视化的应用程序设计工具,它允许用户通过拖放组件和编写相应的回调函数的方式来创建图像处理应用程序。 首先,在App Designer界面中,选取一个合适的布局,如网格布局或绝对布局。然后,从工具箱中选择适合图像处理的组件,如按钮、滑动条、文本框等,并将它们放置在布局中,以便用户可以交互地操作图像处理应用程序。 接下来,为组件添加回调函数。每个组件都可以设置一个或多个回调函数,处理用户的操作事件。例如,可以为一个按钮添加一个回调函数,当点击按钮时,实现图像的加载功能;可以为一个滑动条添加一个回调函数,当滑动条的值发生变化时,实现图像的缩放或旋转功能。 在回调函数中,可以使用Matlab提供的图像处理函数来进行各种图像处理操作。例如,可以使用imread函数读取图像文件;可以使用imadjust函数进行图像亮度和对比度的调整;可以使用imrotate函数进行图像的旋转;可以使用imsave函数将处理后的图像保存到本地。 最后,还可以给应用程序添加一些外观和交互性的优化,如改变组件的颜色、字体和大小,添加图像预览的功能等。 通过使用App Designer,我们可以快速创建出一个功能完善、交互式的图像处理应用程序,以方便用户进行图像处理任务。 ### 回答2: 在Matlab中,使用App Designer可以设计图像处理应用程序。App Designer是Matlab的一个交互式开发环境,可用于创建、调试和部署应用程序界面。 首先,打开Matlab并进入App Designer环境。然后,在左侧的“App Designer”窗格中,单击“新建App”按钮。这将打开一个新的App Designer窗口,其中包含一个空白的应用程序。 接下来,我们可以开始设计图像处理应用程序的界面。在设计界面方面,可以使用各种App Designer提供的控件,如按钮、滑块、文本框等。可以根据需要在界面上添加这些控件,并调整它们的位置和大小。 在设计过程中,可以为每个控件设置属性,例如标题、提示信息、默认值等。还可以定义控件的回调函数,即用户与控件交互时要执行的操作。 在设计界面的同时,需要编写处理图像的代码。可以使用Matlab提供的图像处理功能,如图像读取、缩放、旋转、滤波等。可以将这些功能的代码添加到App Designer中的回调函数中。 设计完成后,可以点击App Designer窗口右上角的“运行”按钮,运行应用程序。此时,将会显示设计的图像处理应用程序界面。用户可以通过界面上的控件与图像进行交互,并实时看到图像处理的结果。 最后,可以选择将应用程序部署为可执行文件、Web应用程序或发布为Matlab代码,以与其他人共享和使用。 总之,使用Matlab的App Designer可以方便地设计图像处理应用程序。通过简单的界面设计和编写图像处理代码,可以创建出功能强大的图像处理工具,实现各种图像处理任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值