国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具

這篇具有很好參考價值的文章主要介紹了【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

〇、寫在前面

??本文為一個剛?cè)腴T MATLAB 的學(xué)生所寫,內(nèi)容是使用 APP Designer 做一個 GUI 界面的圖像處理的小工具。還有很多不足,歡迎批評指正。
??APP Designer 學(xué)習(xí)教程指路??MATLAB App Designer基礎(chǔ)教程Matlab GUI界面設(shè)計
??作業(yè)要求指路??數(shù)字圖像處理之matlab大作業(yè):自制圖像處理小工具

一、設(shè)計思路

??最開始畫的界面(左)和最終完成界面(右)如下圖所示。
【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具
??我最開始的設(shè)計是有左右切換按鈕的,但后來發(fā)現(xiàn)只做一頁更加方便也更好看,所以就改了一下。

二、功能模塊

??在開始敲代碼之前,首先了解一下局部變量和全局變量。課程指路??局部變量和全局變量的理解和類的解釋
??我在這個作業(yè)中一共定義了四個全局變量:

    properties (Access = private)
        Super_Image    % 全局圖像
        Temp_Image     % 臨時圖像
        Change_Image   % 添加噪聲后的圖像
        Count_Image    % 硬幣計數(shù)
    end

??在知道什么是全局變量后,我們就可以開始一步一步來碼代碼啦!

1、導(dǎo)入圖片

從您的計算機(jī)中選擇圖像

??導(dǎo)入圖片可以從文件夾導(dǎo)入圖片,也可以從攝像頭加載圖片,我選擇的是從文件夾導(dǎo)入圖片。學(xué)習(xí) uigetfile( ) 函數(shù)的教程指路??錯誤提示框和uigetfile交互式獲取文件-strcat函數(shù)拼接

??我在看了教程之后,再結(jié)合了一些網(wǎng)上的其他內(nèi)容(找不到鏈接了),寫下了以下代碼:

            %從資源管理器獲取圖像
            [filename, pathname]=uigetfile(...
                {
   '*.tif;*.bmp;*.png;*.jpg',...
                'Image Files(*.tif,*.bmp,*.png,*.jpg)'},...
                '選擇圖片');
            if isequal(filename,0) || isequal(pathname,0)
                return;
            else
            
                %記錄獲取文件的名字和路徑
                app.Super_Image = strcat(pathname,filename);  %將讀取到的圖像賦給全局圖像
                app.Temp_Image = strcat(pathname,filename);   %將讀取到的圖像賦給臨時圖像
            end
            
            im = imread(app.Super_Image);                     %讀取全局圖像
            imshow(im,'Parent',app.Ori_Image);                %將全局圖像顯示在原圖坐標(biāo)區(qū)

??將以上代碼添加到 “打開圖像” 按鈕回調(diào)函數(shù)中,可實現(xiàn)在文件夾獲取圖片的效果:

【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具

2、保存圖像

將處理后的圖像保存到您的計算機(jī)中

??這一部分內(nèi)容我是參考了網(wǎng)上的一些案例,能夠?qū)崿F(xiàn)將效果預(yù)覽坐標(biāo)區(qū)的圖像保存到計算機(jī)中。
??代碼如下:

            if ~isempty(app.Pri_Image)
                [file, path] = uiputfile('*.png','命名圖片并保存到您的計算機(jī)中');
                save = [path file];
                if ~(isequal(file, 0) || isequal(path,0))
                    imwrite(app.Temp_Image,save,'png');
                end
            else
                msgbox("操作失敗,預(yù)覽圖像為空!","錯誤","error");
            end

【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具

3、清空面板

將坐標(biāo)區(qū)以及直方圖清空

??使用cla函數(shù)清空坐標(biāo)區(qū),達(dá)到清空顯示的效果,將全局變量圖片賦值為[ ]空矩陣,達(dá)到清空圖片的效果。代碼如下:

            cla(app.Pri_Plot);
            cla(app.Ori_Plot);
            cla(app.Pri_Image);
            cla(app.Ori_Image);
            app.Super_Image=[];
            app.Temp_Image=[];
            app.Change_Image=[];
            app.Count_Image=[];

4、退出程序

通過對話框提示實現(xiàn)交互性關(guān)閉程序

??使用delete函數(shù)關(guān)閉整個程序主界面實現(xiàn)退出的效果,close也能達(dá)到相同的效果,且效果更好,能關(guān)閉所有的窗口。代碼如下:

           choice = questdlg('確定要退出嗎?','提示','確定','取消','取消');
            switch choice
                case '確定'
                  % delete 和 close 任選其一
                    delete(app.UIFigure); %退出程序
                    % close all;            %關(guān)閉所有窗口
                    return;
                case '取消'
                    return;
            end

【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具

5、彩色圖像灰度化

對圖像進(jìn)行灰度化處理,并彈窗提示是否繼續(xù)進(jìn)行二值化處理

??獲取原圖像大小以及判斷通道,如果只有一個通道說明為灰度圖,則不需要變換;如果不止一個通道則進(jìn)行變換。使用rgb2gray函數(shù)將圖片轉(zhuǎn)化為灰度圖。在圖片轉(zhuǎn)化為灰度圖后可使用im2bw函數(shù)將灰度圖二值化。作業(yè)要求將彩色圖像灰度化,灰度圖像二值化,所以我在將彩色圖像灰度化后加了一個彈窗,詢問是否將圖像二值化。
??代碼如下:

            if isempty(app.Temp_Image)
                return;
            end
            %讀取原圖
            app.Temp_Image = app.Super_Image;
            im = imread(app.Temp_Image);
            [~,~,h] = size(im);  % 獲取原圖像的大小
            if h==1
                Grayim = im;  % 如果只有一個通道說明是灰度圖像,不需要做變換
            else
                Grayim = rgb2gray(im);
            end
            imshow(Grayim,'Parent',app.Pri_Image);
            app.Temp_Image = Grayim;
            choice = questdlg('已將圖像灰度化,要將圖像二值化嗎?','提示','確定','取消','取消');
            switch choice
                case '確定'
                    BWim = im2bw(app.Temp_Image);%二值化
                    imshow(BWim,'Parent',app.Pri_Image);
                    app.Temp_Image = BWim;
                    return;
                case '取消'
                    return;
            end

【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具

6、圖像二值化

將圖像進(jìn)行二值化

??與上一點(diǎn)差不多,就少了個彈窗,這里就不放代碼和截圖了。

7、灰度變換

對圖像進(jìn)行指數(shù)變換和對數(shù)變換

??這里我是做了一個彈窗來選擇要進(jìn)行哪種變換。
??代碼如下:

            if isempty(app.Temp_Image)
                return;
            end
            %讀取原圖
            app.Temp_Image = app.Super_Image;
            im = imread(app.Temp_Image);
            [~,~,h] = size(im);  % 獲取原圖像的大小
            choice = questdlg('請選擇要進(jìn)行的變換操作','灰度變換','指數(shù)變換','對數(shù)變換','');
            switch choice
                case '指數(shù)變換'
                    if h==1
                        Grayim = double(im);
                    else
                        Grayim = double(rgb2gray(im));
                    end
                    Grayim2 = 1.5.^(Grayim*0.070)-1;
                    Grayim2 = uint8(Grayim2);
                    imshow(Grayim2,'Parent',app.Pri_Image);
                    app.Temp_Image = Grayim2;
                    return;
                case '對數(shù)變換'
                    if h==1
                        Grayim = im2double(im);
                    else
                        Grayim = im2double(rgb2gray(im));%灰度化
                    end
                    Grayim2 = 2*log(Grayim+1);
                    imshow(Grayim2,'Parent',app.Pri_Image);
                    app.Temp_Image = Grayim2;
                    return;
            end

??實驗結(jié)果如下,從左往右依次為:提示彈窗、指數(shù)變換和對數(shù)變換。我們可以看到,對數(shù)變換圖像更亮,指數(shù)變換圖像更暗,這是因為對數(shù)函數(shù)會擴(kuò)張低灰度區(qū)域壓縮高灰度區(qū)域,因此低灰度區(qū)域細(xì)節(jié)會增強(qiáng),圖像整體會變亮,而指數(shù)函數(shù)則相反。

【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具

8、鏡像變換

對圖像進(jìn)行水平鏡像、垂直鏡像、以及水平垂直鏡像的處理

??將圖片每行(列)元素的順序翻轉(zhuǎn)即可達(dá)到鏡像的效果,在 MATLAB 中可使用 flip (A,dim) 函數(shù)實現(xiàn),其中 A 為需要處理的對象,dim = 1 時為行翻轉(zhuǎn),dim=2 時為列翻轉(zhuǎn)。
??MATLAB 函數(shù)官方手冊 flip (A,dim) 指路??翻轉(zhuǎn)元素順序
??代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-510073.html

            if isempty(app.Temp_Image)
                return

到了這里,關(guān)于【學(xué)生作業(yè)】數(shù)字圖像處理之MATLAB大作業(yè):自制圖像處理小工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)字圖像處理之matlab大作業(yè):美圖秀秀

    數(shù)字圖像處理之matlab大作業(yè):美圖秀秀

    1、放大縮小 從變量上看,圖片是放大縮小了,但顯示出來有點(diǎn)問題,應(yīng)該是顯示設(shè)置的原因??s小的這張圖不就是馬賽克么~? 2、翻轉(zhuǎn)和旋轉(zhuǎn) ?? 3、圖像剪切? 4、圖像增強(qiáng)(提高對比度) 5、磨皮 6、美白 參考:【數(shù)字圖像處理】實驗(3)——圖像綜合應(yīng)用:皮膚美化(

    2024年02月11日
    瀏覽(24)
  • 美顏算法--數(shù)字圖像處理作業(yè)

    美顏算法--數(shù)字圖像處理作業(yè)

    請為圖中人做美肌處理,去痘或去皺紋。(2選1,或自選圖片) 作業(yè)內(nèi)容請包含所用的算法說明,效果圖,主要算法的代碼,以及對效果圖的分析。所有內(nèi)容用圖片或文字的形式提交,不要用附件。 2.1 分析問題 ????????圖一可見大量痘點(diǎn),痘點(diǎn)在途中屬于噪聲,考慮首先

    2024年02月03日
    瀏覽(31)
  • 數(shù)字圖像處理大作業(yè)實驗報告

    數(shù)字圖像處理大作業(yè)實驗報告

    ? ?? 《數(shù)字圖像處理》 期末大作業(yè) 班 ???級:數(shù)字媒體技術(shù)2020級1班 姓 ???名:快樂的小藍(lán) 學(xué) ???號:XXXXXXXXX XXXX大學(xué)信息學(xué)院 目錄 一、任務(wù)描述 二、設(shè)計思路 三、功能模塊 1 人臉定位 1.1 算法原理 1.檢測最大連通域 2.基于膚色的檢測 3.使用matlab自帶的工具人臉識別

    2023年04月23日
    瀏覽(27)
  • 數(shù)字圖像處理期末大作業(yè)-美圖秀秀

    數(shù)字圖像處理期末大作業(yè)-美圖秀秀

    本項目是以matlab為主語言并設(shè)計GUI界面的一款簡易美圖秀秀,包含基礎(chǔ)的圖像處理和一些常見美顏算法 對于一些matlab較難實現(xiàn)的算法采用C++或python來實現(xiàn) ?? github地址:https://github.com/mibbp/MeituShow 里面有我完整的代碼,你想直接運(yùn)行記得看readme配置一下環(huán)境,本博客更多的

    2024年02月09日
    瀏覽(26)
  • 數(shù)字圖像處理——大作業(yè) 基于車道信息的違法車輛車牌識別

    數(shù)字圖像處理——大作業(yè) 基于車道信息的違法車輛車牌識別

    車牌識別系統(tǒng)廣泛應(yīng)用于交通管理、收費(fèi)站、城市交叉口、港口和機(jī)場、機(jī)動車檢測、停車場管理等不同的場所,對提高這些場所交通系統(tǒng)的管理水平和自動化程度具有重要的意義[1]。車牌自動識別系統(tǒng)主要包括車牌定位、車牌分割、車牌字符識別三部分。 其中,僅就車牌字

    2024年02月07日
    瀏覽(20)
  • 數(shù)字圖像處理-matlab圖像內(nèi)插

    數(shù)字圖像處理-matlab圖像內(nèi)插

    目標(biāo)各像素點(diǎn)的灰度值代替源圖像中與其最鄰近像素的灰度值 參考博客 假設(shè)一個2X2像素的圖片采用最近鄰插值法需要放大到4X4像素的圖片,右邊該為多少? 最近鄰插值法坐標(biāo)變換計算公式: s r c X = d s t X ? ( s r c W i d t h / d s t W i d t h ) srcX=dstX*(srcWidth/dstWidth) src X = d s tX ?

    2024年02月03日
    瀏覽(19)
  • 基于matlab的數(shù)字圖像處理之彩色圖像處理

    基于matlab的數(shù)字圖像處理之彩色圖像處理

    一、實驗?zāi)康?(1)了解如何利用RGB分量生成簡單的圖像。 (2)熟練掌握RGB彩色模型轉(zhuǎn)換到HIS彩色模型的過程。 (3)熟練掌握RGB圖像的彩色分割。 (4)熟練掌握彩色圖像如何在向量空間中進(jìn)行邊緣檢測。 二、實驗儀器(軟件平臺) ??? 計算機(jī)、MATLAB軟件 三、實驗原理

    2024年02月06日
    瀏覽(24)
  • matlab數(shù)字圖像處理之圖像增強(qiáng)

    matlab數(shù)字圖像處理之圖像增強(qiáng)

    圖像處理 基本目的之一是改善圖像質(zhì)量,而改善圖像最常用的技術(shù)是圖像增強(qiáng)的目的是為了改善圖像的視覺效果,使圖像更加清晰,便于人和計算機(jī)對圖像進(jìn)一步的分析和處理 圖像質(zhì)量 的基本含義是指人們對一幅圖像視覺感受的評價。圖像增強(qiáng)的目的就是為了改善圖像顯示

    2024年02月04日
    瀏覽(26)
  • 數(shù)字圖像處理實驗之Matlab對圖像的基本處理

    數(shù)字圖像處理實驗之Matlab對圖像的基本處理

    1、提取Lena圖像的左半上角部分,與原始Lena圖像在同一個figure中顯示,并做適當(dāng)命名 效果圖 2、利用 imnoise ,?對原始Lena圖像疊加高斯噪聲,產(chǎn)生4幅、14幅、140幅的含噪圖像。對這些含噪圖像采用 相加 ?運(yùn)算,來驗證、比較圖像相加消除疊加性噪聲的效果。將原始圖像、1幅噪

    2024年02月03日
    瀏覽(38)
  • 數(shù)字圖像處理 關(guān)于matlab的圖像變換

    熟悉及掌握圖像的傅里葉變換、離散余弦變化原理及性質(zhì),實現(xiàn)圖像的頻率域變換。 1. 讀入一幅圖像,分別為圖像添加疊加密度為0.04的椒鹽噪聲,均值為0方差為0.02的高斯噪聲,做FFT變換。將原始圖像、原始圖像頻譜圖、添加噪聲后的圖像,以及噪聲圖像的頻譜圖同時顯示出

    2024年02月05日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包