亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MATLAB GUI的圖像處理系統(tǒng)的設(shè)計

        2022-05-09 13:53:22孫鵬崴王樹軍李亞麗徐平平
        計算機技術(shù)與發(fā)展 2022年4期
        關(guān)鍵詞:界面系統(tǒng)

        孫鵬崴,王 俊,王樹軍,李亞麗,徐平平

        (1.南京工業(yè)大學浦江學院 計算機與通信工程學院,江蘇 南京 211200;2.東南大學 移動通信國家重點實驗室,江蘇 南京 210096;3.福州大學 電氣工程與自動化學院,福建 福州 350108)

        0 引 言

        “數(shù)字圖像處理”課程廣泛開設(shè)于通信、電器、計算機等相關(guān)專業(yè),該課程內(nèi)容抽象、數(shù)學公式復雜、推導難度大、理論性強。同時可視化程度高,實踐性較強,很難調(diào)動學生積極性[1]。通常教師不但需要講授理論知識,而且還需要帶領(lǐng)學生實驗,以培養(yǎng)學生的實踐能力、創(chuàng)新能力。因此,開發(fā)一套適用于教學環(huán)境的圖像處理系統(tǒng)尤為重要[2]。

        近年來,基于MATLAB的數(shù)字圖像處理實驗教學在不斷地推進和優(yōu)化。該課程要求學生熟悉掌握圖像處理的理論和方法,實現(xiàn)對圖像的變換、增強、濾波、邊緣檢測和分割等基礎(chǔ)圖像處理功能的掌握和運用[3]。為提高課堂教學質(zhì)量,增強學生對理論的理解,該系統(tǒng)基于MATLAB環(huán)境下的圖形用戶接口(GUI)建立了更加詳細的圖像處理平臺[4],用于課堂演示與實驗操作。另外該系統(tǒng)特別新增了算法顯示區(qū)域,將每個模塊實現(xiàn)圖像處理的代碼進行集成展示,使得課堂更加形象化和具體化,更有利于老師對圖像處理原理進行講解,也有利于學生的自主學習和理解,讓學生真正學懂這門課程。

        1 系統(tǒng)總體設(shè)計

        1.1 圖像處理演示系統(tǒng)總體框架設(shè)計

        基于MATLAB GUI的圖像處理演示系統(tǒng)利用MATLAB提供的GUI平臺來設(shè)計人機交互的圖形用戶界面,集成了“數(shù)字圖像處理”課程理論教學和實驗教學的5個主要模塊:圖像變換、圖像增強、圖像濾波、邊緣檢測和圖像分割。各模塊拆分出對應(yīng)的子模塊,在相應(yīng)的子界面中展示,通過修改界面中控件的參數(shù),編寫回調(diào)函數(shù),實現(xiàn)主界面與子界面間的切換及圖像處理和處理功能的增添或修改。

        系統(tǒng)的開發(fā)環(huán)境為MATLAB R2018a,在通過GUI構(gòu)建圖像界面時,GUI會生成兩個文件,一個是包含圖形設(shè)計面板的.fig文件,一個是包含回調(diào)函數(shù)的.m文件。這兩個文件是一一對應(yīng)關(guān)系,.m文件用來編程,進行相應(yīng)控件功能的修改,.fig文件則是顯示GUI組件的設(shè)定,進行控件的增添和布局的修改。

        設(shè)計GUI用戶界面一般分為五步:

        ①明確系統(tǒng)所要實現(xiàn)的主要功能,應(yīng)該具有哪些模塊;

        ②繪出基本的用戶界面草圖;

        ③根據(jù)最終確定的方案,利用MATLAB GUI制作用戶操作界面;

        ④通過在界面中添加控件,實現(xiàn)演示內(nèi)容的參數(shù)修改和函數(shù)調(diào)用;

        ⑤進行回調(diào)函數(shù)的編寫,實現(xiàn)界面之間的切換和調(diào)用操作。

        該演示系統(tǒng)總體設(shè)計框架如圖1所示。

        圖1 圖像處理演示系統(tǒng)設(shè)計框架

        1.2 系統(tǒng)界面設(shè)計

        該系統(tǒng)包括圖像變換、圖像增強、圖像濾波、邊緣檢測和圖像分割等五部分內(nèi)容,主界面如圖2所示,具體操作流程如圖3所示。

        圖2 主界面

        圖3 基于MATLAB GUI圖像處理演示系統(tǒng)操作說明

        2 功能模塊的設(shè)計與實現(xiàn)

        該系統(tǒng)包含五個方面的圖像處理功能,每一個功能都對應(yīng)一個子界面而且都擁有獨立的用戶可視化窗口,可以進行控件的刪改或者代碼的修改。用戶通過登陸界面進入系統(tǒng)后點擊進入系統(tǒng)即可到達主界面的模塊集成區(qū),點擊對應(yīng)處理模塊即可到達相應(yīng)子界面。

        以打開圖像變換子界面為例,程序如下:

        function pushbutton1_Callback(hObject, eventdata, handles)

        s=bianhuan %打開圖像變換界面

        Close(gcf);%關(guān)閉主界面

        操作按鈕是每個界面相連的橋梁,是實現(xiàn)功能的關(guān)鍵。在每個子界面中,導入圖像、清除圖像、算法展示、存儲圖像、關(guān)閉界面等操作按鈕代碼相同。具體介紹如下:

        (1)導入圖片。由于該系統(tǒng)每個子模塊之間是獨立的,因此在不同模塊中處理同一圖像,需要重新導入一次。該按鈕代碼實現(xiàn)如下所示:

        [file path]=uigetfile('*.bmp;*.jpg;*.png','請選擇一幅圖像');

        I=imread(fullfile(path,file)); %讀取圖片

        axes(handles.axes1);

        imshow(I);title('原圖像');

        handles.I=I;

        end

        %Update handles structure

        guidata(hObject,handles);

        (2)清除圖像。清除圖像按鈕是針對處理之后的圖像和可編輯文本框中的文字進行上一步處理的撤銷。代碼實現(xiàn)如下:

        cla(handles.axes2,'reset'); %handles.axes2為已處理圖片窗口,reset即清除

        set(handles.edit1,'string','');%handles.edit1為要清除文字的文本框

        (3)算法顯示。算法顯示是該系統(tǒng)新增的區(qū)別于常見圖像處理的板塊,主要是對每個功能模塊所采用的圖像處理算法和其他可達到同樣處理效果的算法進行對比展示。以圖像變換為例進行算法顯示,如圖4所示。

        圖4 圖像變換算法展示

        (4)存儲圖片。存儲圖片按鈕也是對處理之后的圖像進行存儲,當一個圖像需要在不同模塊進行處理時,每進行一次處理就需要存儲一次,因為模塊之間是獨立的。其代碼實現(xiàn)如下:

        h=getimage(handles.axes2);%通過handles結(jié)構(gòu)體傳遞數(shù)據(jù)

        %調(diào)用uiputtfile函數(shù),通過對話框獲取用戶的輸入,并返回文件名稱和路徑

        [filename,pathname,filterindex]=uiputfile({'*.jpg','jpg';'*.bmp','bmp';'*.tif','tif';'*.*','All Files'},'Image Save AS');

        if (filename ~= 0 & filterindex==1)

        imagefile=[pathname filename];

        imwrite(h,imagefile);%用imwrite函數(shù)實現(xiàn)對圖像文件的寫入

        end

        (5)關(guān)閉界面。關(guān)閉界面是當存儲圖片之后,由此界面返回到功能選擇模塊的按鍵。代碼如下:

        Close(gcf).

        2.1 圖像變換

        圖像變換是將原定義在圖像空間的圖像以某種形式轉(zhuǎn)換到另外的空間,利用空間的特性進行一定的加工,從而得到所需的效果,常分為幾何變換和二維正交變換。該系統(tǒng)選取了圖像的平移、灰度變換、旋轉(zhuǎn)、圖像鏡像等常見的變換方法。

        (1)圖像平移。平移是對圖像進行水平移動和豎直移動的過程,通過imrotate()函數(shù)實現(xiàn)。

        (2)灰度變換?;叶茸儞Q主要通過rgb2gray()函數(shù)進行實現(xiàn),是將RGB彩色圖像變?yōu)榛叶葓D像的過程。

        (3)旋轉(zhuǎn)。即對圖像進行幾何變換的過程,該模塊采用了imrotate()函數(shù)。用戶可在編輯區(qū)自行輸入預(yù)訂旋轉(zhuǎn)角度。

        (4)圖像鏡像。圖像鏡像是對圖像進行水平鏡像、垂直鏡像和對角鏡像的處理。主要通過flipdim()函數(shù)實現(xiàn)數(shù)據(jù)擴充。

        以圖像鏡像為例,相關(guān)程序如下:

        I=handles.I;

        J1=flipdim(I,2);%原圖像的水平鏡像調(diào)用的函數(shù)為flipdim()

        axes(handles.axes2);

        imshow(J1);title('水平鏡像');

        guidata(hObject,handles);

        以水平鏡像演示為例,處理結(jié)果如圖5所示。

        圖5 水平鏡像處理結(jié)果

        2.2 圖像增強

        圖像增強主要是突出強調(diào)圖像中重要的部分或者掩蓋圖像中某些不需要的特征,使圖像與視覺響應(yīng)特性相匹配。該模塊主要功能有灰度修正、彩色增強、平滑和銳化。具體描述如下:

        (1)灰度修正。灰度修正主要有線性變換[5]和直方圖均衡化[6]兩種處理方法。以直方圖均衡化為例,演示結(jié)果如圖6所示。具體程序如下:

        I=handles.I;

        I1=rgb2gray(I);

        J=histeq(I1); %直方圖均衡化函數(shù)

        axes(handles.axes4);

        imshow(J);

        figure(1);

        subplot(221);imhist(I,64),title('原始的直方圖');

        subplot(222);imhist(J,64),title('均衡化的直方圖');

        圖6 直方圖均衡化處理結(jié)果

        (2)彩色增強。彩色增強主要有RGB增強和HVS增強兩種方式,主要針對的是彩色圖像的處理。彩色增強所用的函數(shù)為histeq()。

        (3)平滑。圖像的平滑是一種實用的數(shù)字圖像處理技術(shù),該系統(tǒng)是采用中值濾波對模糊圖像和含有噪聲圖像進行處理。其方法是通過某種結(jié)構(gòu)的二維滑動模板,將模板內(nèi)像素按照素值的大小進行排序,生成單調(diào)上升(或下降)的二維數(shù)據(jù)序列。該模塊通過medfilt2()函數(shù)實現(xiàn)。

        (4)銳化。圖像銳化是為了突出圖像上地物的邊緣、輪廓,或一些線性目標要素的特征。該模塊先使用tofloat()函數(shù)將圖片變?yōu)楦↑c型,然后運用模板對圖像的輪廓進行補償,增強圖像的邊緣及灰度跳變的部分,使圖像變得清晰。

        2.3 圖像濾波

        圖像濾波是在盡量保留圖像原始特征的基礎(chǔ)上對圖像的噪聲進行抑制或去除。該模塊分為生成噪聲、噪聲的濾除和圖像復原三個功能部分。

        生成噪聲主要為椒鹽噪聲和高斯噪聲。所用函數(shù)為imnoise()。

        噪聲濾除有均值濾波、中值濾波[7]和維納濾波三種濾波方式。通過實驗演示,學生可以觀察出三種濾波方式對噪聲的處理效果。具體如下:

        (1)均值濾波。均值濾波也稱線性濾波,是用均值代替原圖像中的各個像素值。在操作時有3×3、5×5、7×7、9×9這四個濾波模板供選擇,用戶可觀查窗口的大小變化對濾波效果的影響。該濾波通過調(diào)用函數(shù)imfilter()來實現(xiàn)。

        (2)中值濾波。中值濾波是一種非線性平滑技術(shù),將每一像素點的灰度值設(shè)置為該點某鄰域窗口內(nèi)的所有像素灰度值的中值,調(diào)用medfilt2()函數(shù)進行二維中值濾波實現(xiàn)削弱噪聲的功能。實現(xiàn)方法為:

        y(i)=Med[x(i-N),…,x(i),…,x(i+N)]

        相應(yīng)程序?qū)崿F(xiàn)如下所示:

        I=handles.I;

        I=rgb2gray(I);%轉(zhuǎn)化為灰度圖像

        J=imnoise(I,'salt & pepper',0.04);%對圖像增加椒鹽噪聲,強度為0.04

        axes(handles.axes2); %將加了噪聲的圖像顯示在axex2框中

        imshow(J); title('受椒鹽噪聲污染圖片');

        K=medfilt2(J); %調(diào)用medfilt2()函數(shù)進行二維中值濾波

        axes(handles.axes3);

        imshow(K);title('二維中值濾波處理后的圖片'); %將最后結(jié)果顯示在axes3框中

        以中值濾波為例,處理結(jié)果如圖7所示。

        圖7 中值濾波處理結(jié)果

        (3)維納濾波。維納濾波適用范圍廣,對于平穩(wěn)隨機過程,無論是連續(xù)還是離散的,是標量還是向量都可應(yīng)用。該濾波利用wiener2()函數(shù)實現(xiàn)功能。

        (4)圖像復原。圖像彩色復原是將無噪聲模糊圖像進行清晰化處理的過程,此處以wnrl=deconvwnr(blurred,PSF,0.04);%維納濾波復原圖像進行處理[8]。

        2.4 邊緣檢測

        邊緣檢測演示可以實現(xiàn)對圖像邊緣的提取,以便針對圖像的模糊紋理進行削弱,對較暗的灰度實現(xiàn)增強,使得邊緣更加清晰。該平臺使用edge()函數(shù)進行處理[9],調(diào)用不同算子進行不同灰度圖像的邊緣提取,所用算子主要有Robert、Sobel、Log、Canny和Prewitt[10]。

        以Canny算子為例進行圖像處理,處理結(jié)果如圖8所示。

        圖8 Canny算子處理結(jié)果

        2.5 圖像分割

        圖像分割是圖像處理中的一個重要步驟[11],在于從圖像中提取出關(guān)鍵信息進行后續(xù)處理。主要根據(jù)彩色、明暗等進行提取分割,分割算法眾多,該系統(tǒng)采用了閾值分割和區(qū)域分割,內(nèi)容如下:

        (1)閾值分割。閾值分割是利用圖像中需要提取的目標與背景在灰度上的差異,通過用戶設(shè)置閾值來把像素分成若干類,從而實現(xiàn)目標與背景分離。所采用的分割方法有迭代式閾值分割、OTSU閾值分割[12]和全局閾值分割。該部分涉及到的函數(shù)為garythresh()。

        (2)區(qū)域分割。區(qū)域分割即采用分水嶺分割方式[13],可以更好地考查用戶對區(qū)域生長的理解。所涉及到的函數(shù)為watershed()。

        代碼如下所示:

        I=handles.I;

        h=fspecial('sobel');

        fd=double(I);%double使數(shù)據(jù)變成雙精度

        g=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2);

        g2=imclose(imopen(g,ones(3,3)),ones(3,3))

        im=imextendedmin(g2,10);

        Lim=watershed(bwdist(im)); %watershed·分水嶺算法·

        em=Lim==0;

        g3=imimposemin(g2,im|em);

        g4=watershed(g3);

        axes(handles.axes2);

        imshow(g4); title('分割后圖像');

        g5=I;

        g5(g4==0)=255;

        axes(handles.axes3);

        imshow(g5); title(‘分割后圖像按比例與原圖融合’);

        以分水嶺分割處理為例,處理結(jié)果如圖9所示。

        圖9 分水嶺分割處理結(jié)果

        3 系統(tǒng)特征分析

        基于MATLAB GUI數(shù)字圖像處理演示系統(tǒng)具有以下特點:

        (1)系統(tǒng)內(nèi)容豐富[14]。該系統(tǒng)涵蓋了數(shù)字圖像處理課程的大部分重點內(nèi)容,具有很強的擴展性,老師在課堂教學中可以根據(jù)教學內(nèi)容進行更改,以達到課堂內(nèi)容豐富、教學效果良好的目的[15]。

        (2)系統(tǒng)操作簡單,界面友好[16]。通過按鈕實現(xiàn)了直接操作,針對已有功能不需要在算法窗口進行編譯。同時可以在同一界面顯示處理前與處理后的圖片,形成可視化對比。以繁化簡,節(jié)省了老師和學生的時間。

        (3)系統(tǒng)靈活性強,可靠性高。該界面簡潔,功能穩(wěn)定,運行速度快。老師和學生可以通過.m文件進行代碼的改寫或擴充。

        (4)系統(tǒng)具有良好的可視性。通過系統(tǒng)算法展示功能,將已經(jīng)實踐過的算法和某些對應(yīng)的圖像處理算法相結(jié)合進行對比,以便于老師更清晰地進行講解,讓同學們理解得更加透徹。也可以通過自學,對數(shù)字圖像處理這門課程作進一步了解掌握[17]。

        4 結(jié)束語

        針對大部分學生對數(shù)字圖像處理課程感到枯燥,難以掌握其中知識點的現(xiàn)狀,基于MATLAB GUI的圖像處理演示平臺實現(xiàn)了理論教學與實驗教學的融合,使得枯燥、抽象的理論變得生動形象,繁雜的理論公式變得直觀[18]。在教學課程中,可自行修改模塊設(shè)置,使學生對該課程的相關(guān)理論知識有更深刻的理解。從而提高課堂的學習效率與質(zhì)量,也能培養(yǎng)學生的實踐能力與創(chuàng)新能力。

        猜你喜歡
        界面系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        國企黨委前置研究的“四個界面”
        當代陜西(2020年13期)2020-08-24 08:22:02
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        空間界面
        金秋(2017年4期)2017-06-07 08:22:16
        電子顯微打開材料界面世界之門
        www插插插无码视频网站| 国产精品主播在线一区二区| 久久一本日韩精品中文字幕屁孩| 亚洲图片日本视频免费| 人人妻人人澡av天堂香蕉| 美女裸体无遮挡免费视频国产| 少妇深夜吞精一区二区| 欧美性生交大片免费看app麻豆| 少妇被猛男粗大的猛进出| 亚洲色欲Aⅴ无码一区二区| 午夜在线观看一区二区三区四区 | 国模雨珍浓密毛大尺度150p| 国农村精品国产自线拍| 天堂av无码大芭蕉伊人av孕妇黑人| 熟女免费视频一区二区| 午夜男女很黄的视频| 日韩精品无码区免费专区| 资源在线观看视频一区二区| 亚洲av专区国产一区| 人人爽久久涩噜噜噜丁香| 亚洲国产一区在线二区三区| 国产在线一区二区三区四区不卡| 丁香美女社区| 狠狠色噜噜狠狠狠狠888奇禾| 欧美亚洲h在线一区二区| 少妇被粗大猛进进出出男女片 | 91久久国产精品综合| 日本妇人成熟免费2020| 性一交一乱一伦一色一情孩交| 男女好痛好深好爽视频一区| 成人爽a毛片免费网站中国| 小雪好紧好滑好湿好爽视频| 色老头在线一区二区三区| 精品的一区二区三区| 久久日韩精品一区二区| av永久天堂一区二区三区| 国产2021精品视频免费播放| 中文字幕人妻乱码在线| 久久无码人妻丰满熟妇区毛片| 久久久久国产精品免费免费搜索| 久久中文字幕久久久久91|