999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種利用Matlab提取圖像中曲線的新方法

2014-01-21 06:53:10黃志剛
機電產品開發與創新 2014年2期

董 延,黃志剛,2

(1.北京工商大學 材料與機械工程學院,北京 100048;2.北京工商大學 中國食品安全研究中心,北京 100048)

0 引言

在科研過程中,許多文獻資料中的數據是以曲線的形式給出的。在只有曲線圖而沒有數學表達式的情況下,如果想要獲得曲線上某些點的坐標值,較原始的方法是在坐標紙上手工描點,這種方法比較耗時,且準確度取決于取點的多少與描點精度。后來隨著計算機的發展,出現了一些專用圖像處理軟件,在這類軟件中,通過在圖像上手工取點,再用曲線擬合的方法將各點連接,以提取出原始曲線。但是這種方法的準確度會受到取點的位置、數量以及所選擇的擬合算法的影響。

本文提出一種基于Matlab 的圖像處理技術提取圖像中的曲線的新方法。創新處是在提取的過程中使用了圖像的形態學運算,使得本方法只需選擇較少的點,就能夠快速、準確地將圖像中的曲線提取出來。同時克服了圖像背景對曲線提取產生的干擾。

1 Matlab 圖像處理工具箱及圖形用戶界面

Matlab 中的數字圖像是以矩陣形式表示的,這意味著其強大的矩陣運算能力用于圖像處理非常有利,矩陣運算的語法對Matlab 中的數字圖像同樣適用。

1.1 Matlab 圖像處理工具箱

MathWorks 公司針對不同領域的應用,推出了30 多個具有專門功能的工具箱。這些工具箱都是由該領域內的專家編寫的,用戶可直接對工具箱內的函數進行調用,而無需自己編寫所用的專業基礎程序。

Matlab 圖像處理工具箱(Image Processing Toolbox)專為數字圖像處理而開發。它提供了一套全方位的參照標準算法和圖形工具,用于進行圖像處理、分析、可視化和算法開發。可進行圖像增強、圖像去模糊、特征檢測、降噪、圖像分割、空間轉換和圖像配準。該工具箱中的許多功能支持多線程,可發揮多核和多處理器計算機的性能。

Matlab 圖像處理工具箱函數包括: 圖像顯示函數、圖像文件輸入、輸出函數、圖像幾何操作函數、圖像像素值及統計函數、圖像分析函數、圖像增強函數、線性濾波函數、二維線性濾波器設計函數、圖像變換函數、圖像鄰域及塊操作函數、二值圖像操作函數、基于區域的圖像處理函數、顏色圖操作函數、顏色空間轉換函數、圖像類型和類型轉換函數,共15 類[1]。Matlab 圖像處理工具箱支持四種圖像類型。這四圖像類型分別為RGB 圖像、索引圖像、灰度圖像和二值圖像。這四種類型可以用工具箱的類型轉換函數相互轉換。

(1) 彩色圖像。Matlab 可處理的彩色圖像包括RGB圖像和索引圖像。一幅RGB 圖像在Matlab 中是一個M×N×3 的三維數組。前二維M 和N 分別為數組的行數和列數,第三維則表示R、G、B 三個分量的值。可以將這個三維數組看作三個M×N×1 的二維數組的疊加。這三個二維數組分別表示這幅圖像各像素點的R、G、B分量,相同位置的元素對應同一像素。各分量的取值取決于數組的數據類型。例如,當數據類型是double 時,取值范圍是[0,1];當數據類型是uint8 時,取值范圍是[0,255]。索引圖像在Matlab 中則由一個M×N 的數組和一個m×3 的數組共同表示,其中M 和m 不一定相等。M×N 數組中的每個元素對應圖像中相同位置的像素,元素的值n 則指向m×3 數組中的第n 行,即該位置的像素的R、G、B 值分別由m×3 數組中的第n 行的三個值來確定。

(2) 灰度變換。灰度圖像的每個像素只有一個灰度值,因此灰度圖像是一個M×N 的二維數組。將彩色圖像變換為灰度圖像,方法是取彩色圖像中每個像素的R、G、B 分量值的均值,做為該像素的灰度值。

Matlab 中將RGB 圖像轉換為灰度圖像的語法是I=rgb2gray(RGB);將索引圖像轉換為灰度圖像的語法是I=ind2gray(X,map)。

(3)二值變換。二值圖像在Matlab 中也是一個M×N的二維數組,但其數據類型是logical,因此其元素只取0 或1。0 表示背景像素(黑色),1 表示前景像素(白色)。將灰度圖像轉換為二值圖像的語法是BW=im2bw(I,level)。

(4)數字圖像的形態學運算。圖像的形態學運算是指:用具有一定形態的結構元素去量度和提取圖像中的對應形狀,以達到對圖像分析和識別的目的。數學形態學的應用可以簡化圖像數據,保持它們基本的形狀特性,并除去不相干的結構。與本文所述方法相關的形態學運算有形態學細化和形態學重構。

形態學細化可將二值圖像中無孔的連續對象細化為不間斷的線,且保留對像原始的形狀;將有孔的連續的對象縮小為環,且保留對像原始的形狀。Matlab 語法是BW2=bwmorph(BW,’thin’,n)。

形態學重構包括兩幅圖像和一個結構元。一幅圖像是標記,是變換的開始點;另一幅圖像是模板,用于約束變換過程。[2]Matlab 語法是IM=imreconstruct(marker,mask)。

1.2 Matlab 圖形用戶界面(GUI)

作為面向科學與工程計算的大型科技應用軟件,Matlab 同樣提供了一功能強大的用于編寫圖形用戶界面的工具: 圖形用戶界面 (Graphical User Interface,GUI)。其界面(GUI)是由各種圖形對象如窗口、光標、按鍵、菜單、文字說明等對象構成的一個用戶界面。用戶通過一定的方法(如鼠標或鍵盤)選擇、激活這些圖形對象,可以使計算機產生某種動作或變化,如實現計算、繪圖等[3]。

在該界面內,用戶可以根據界面提示完成整個工程,卻不必去了解工程內部是如何工作的。

Matlab 圖形用戶界面設計的第一步是對控件進行布局,這是通過對各種圖形對象的操作來實現的。它的設計方法有兩種: 編寫程序和使用GUIDE。編寫程序的方法要求使用者深入了解各種圖形對象的特征、屬性和操作;而使用GUIDE 則使用者通過鼠標就可以生成各種GUI 控件并改變它們的外觀和位置。第二步是編制菜單、控件的回調函數,這是圖形用戶界面設計的重點。回調函數就是當程序接受到某個Windows 動作,如鼠標單擊、鍵盤輸入的時候,為所希望進行的操作所指定的函數。該函數是由主控程序調用的。主控程序對各種消息進行分析,排隊和處理,最后去調用指定的回調函數。

2 提取過程

圖1 為基于Matlab GUI 所編寫的曲線提取程序的主界面。點擊右側下方的 “打開圖像” 按鈕,將會彈出文件選擇對話框,該對話框的形式和操作與Windows 的文件選擇對話框相同,不再贅述。

現以某發動機外特性曲線圖為例。打開圖像后,該圖像會如圖1 顯示在主界面左側。該圖像的背景較復雜(有顏色較深的坐標網格線),對于曲線的正確提取會產生干擾。對于這類圖像,應用本文所述的方法可將曲線準確地提取出來。

下面就以圖1 左側所示的某發動機外特性曲線圖為例,結合Matlab GUI 程序的使用方法說明曲線的提取過程。

2.1 灰度處理

圖1 GUI 主界面Fig.1 The main interface of GUI

讀入需要提取的原始圖像后,首先是對圖像進行灰度處理。包括灰度變換和灰度閾值的設定。點擊主界面右側下方的 “灰度轉換” 按鈕,程序會將原彩色圖像轉換為灰度圖像。轉換為灰度圖像后,可對灰度閾值進行設置。主界面 (圖1) 右側的最上方是 “灰度圖閾值調整” 面板。可以用兩個滑動條調整灰度圖的最小和最大閾值。所有灰度值小于最小閾值或大于最大閾值的像素將會被過濾掉。合理地調整閾值可以去掉圖像中無關的部分。

在這幅圖像中有兩條曲線,而需要提取的是上方的曲線,如圖2 所示。當灰度圖閾值的最小和最大值分別被設定為48 和114 時,圖像中的大部分干擾像素(如坐標網格線和下方的曲線)都被去掉或變淡了。

圖2 灰度處理效果Fig.2 The effect of gray processing

2.2 二值圖像變換與形態學細化處理

下一步是將灰度圖像變換為二值圖像。在點擊主界面右側下方的 “二值轉換” 按鈕后,程序會完成三步操作: 第一步,將灰度圖像轉換為二值圖像;第二步,將二值圖像形態學細化;第三步,刪除二值圖所有的交叉。例如,曲線與背景坐標格相交叉處的像素將會被刪除。因此,曲線在與坐標格相交的地方會斷開。這是為后面的形態學重構做準備。

2.3 選點與形態學重構

經過2.2 中的處理后,由于曲線在與背景坐標格的交點處會被斷開,因此曲線會被分為幾段。只需在每段曲線上任選一點,之后進行形態學重構,就可將曲線提取出來。現選如圖3(為使圖片清晰,圖3 中的線條已被加粗)所示的7 個點。

圖3 選點Fig.3 Points selection

表1 點的位置Tab.1 Points position

這7 個點在圖像中的位置見表1。首先在程序主界面的 “選點” 面板中輸入第一個點在圖像中的位置: X:112,Y:413,然后點擊 “選定”,這時程序會針對該點做形態學重構運算。該運算可以將與選定點相連的全部像素還原,在這里也就是將該點所在的曲線段還原。在2.2 節中,已將曲線與背景坐標格相交叉處的像素刪除,這就使曲線與背景線條斷開,因此在形態學重構時不會將背景線條還原。這樣就可得到第1 點所在的曲線段。同樣,在輸入其余各點在圖像中的坐標后,點擊“選定”,就可得到全部曲線。如圖4 所示。

圖4 曲線圖像提取結果Fig.4 The extraction results of curve image

2.4 完成曲線提取并儲存數據

雖然已將曲線從圖像中提取出來,但此時得到的只是曲線上各點在圖像中的位置而不是在坐標系中的值。因此還要將各點像素在圖像處的行值與列值換算成坐標值。因為在實際的曲線中,一個橫坐標值只能對應一個縱坐標值。所以在圖4中,當一列中有多個像素點時,則取他們行值的均值。之后進行換算,換算公式為:

式中: xn—第n 個點的橫坐標;xmin—曲線左端點的橫坐標;xmax—曲線右端點的橫坐標;cn—曲線上第n 個點所在的列數;cmin—曲線左端點所在的列數;cmax—曲線右端點所在的列數;yn—曲線上第n 個點的縱坐標;ymin—曲線縱坐標的最小值;ymax—曲線縱坐標的最大值;rn—曲線上第n 個點所在的行數;rmin—曲線最低點所在的行數;rmax—曲線最高點所在的行數。

在主界面中分別輸入橫坐標的最小值xmin=1000、最大值xmax=6000;縱坐標的最小值ymin=131、最大值ymax=221,然后點擊 “生成曲線”,就可以得到最終的曲線,如圖5所示。同時將曲線的坐標數據儲存在了curve.mat 數據文件中,方便以后隨時調用。當在Matlab 中導入curve.mat 文件時,可以得到其中包含的兩個1維 數組curvex 和 curvey,curvex 中的第n 項和curvey中的第n 項對應于曲線第n個點的橫坐標和縱坐標。

圖5 提取出的最終曲線圖Fig.5 The final result of extraction

3 結論

(1)這種方法的優點是能夠克服圖像背景的干擾。先在灰度處理的部分通過調整灰度圖像的上下閾值,去掉背景中與曲線灰度值相差較大的部分;之后運用形態學運算進一步消除掉背景中與曲線灰度值相進的部分,如坐標網格線和坐標軸。

(2)調用數據文件并使用Matlab 的插值或曲線擬合函數得到該曲線上任意一點的坐標值非常便捷。

(3)適用范圍較廣,除在文中用于提取發動機外特性曲線外,還可在食品、塑料等工程領域發揮作用。如提取微生物生長曲線以研究其對食品儲存的影響,以及提取塑料材料的應力、黏度曲線等。

[1] 晏暉,姜鵬,陳貝. 基于Matlab 工具箱的數字圖像處理技術[J]. 微計算機信息,2010,26(29-2):214-216.

[2] Gonzalez R C,Woods R E,Eddins SL,et. 數字圖像處理的MATLAB 實現(第3 版)[M]. 北京:清華大學出版社,2013.

[3] 陳垚光,毛濤濤,王正林,等. 精通MATLAB GUI 設計(第3 版)[M]. 北京:電子工業出版社,2013.

主站蜘蛛池模板: 亚洲黄色高清| h视频在线播放| 亚洲高清无码久久久| 亚洲无码日韩一区| 亚洲伊人久久精品影院| 色播五月婷婷| 亚洲第一视频免费在线| 色综合网址| 丝袜亚洲综合| 萌白酱国产一区二区| 亚洲天堂首页| 亚洲系列无码专区偷窥无码| 久久鸭综合久久国产| 免费播放毛片| 亚洲第一成网站| 青青热久麻豆精品视频在线观看| 午夜激情福利视频| 免费毛片全部不收费的| A级毛片高清免费视频就| 国产欧美综合在线观看第七页| 大学生久久香蕉国产线观看| 超清无码一区二区三区| 91精品啪在线观看国产| 99久久99视频| 国产凹凸视频在线观看| 台湾AV国片精品女同性| 亚洲天堂免费| 亚洲国产成人超福利久久精品| 亚洲国产成人综合精品2020| 欧美在线观看不卡| a级毛片网| 2021国产在线视频| 欧美97色| 久久99蜜桃精品久久久久小说| 永久免费无码成人网站| 亚洲无卡视频| 天堂av高清一区二区三区| 国产精品女人呻吟在线观看| 亚洲精品中文字幕无乱码| 久久99精品久久久久久不卡| 国产一级毛片网站| 色综合a怡红院怡红院首页| 欧美色视频在线| 成人伊人色一区二区三区| 国产高清在线精品一区二区三区| 77777亚洲午夜久久多人| 国产成人精品优优av| 男女男精品视频| 国产成人高清精品免费软件| 女人一级毛片| 色悠久久久久久久综合网伊人| 久久性视频| 国产成人精品18| 精品乱码久久久久久久| 欧美精品高清| 国产精品亚洲精品爽爽| 色一情一乱一伦一区二区三区小说| 国产综合亚洲欧洲区精品无码| 亚洲日韩每日更新| 热热久久狠狠偷偷色男同| 亚洲中文字幕23页在线| 欧美日韩在线亚洲国产人| 在线看国产精品| 亚洲精品午夜无码电影网| 亚洲天堂成人在线观看| 国产性生交xxxxx免费| 无码一区二区三区视频在线播放| 国产一区成人| 亚洲天堂777| 欧美日韩中文字幕在线| 热99re99首页精品亚洲五月天| 国产成人av一区二区三区| 日韩久草视频| 婷婷综合色| 亚洲AV电影不卡在线观看| 亚洲第一黄片大全| 97se亚洲综合| 精品99在线观看| 亚洲人成网站在线播放2019| 老司国产精品视频91| 日本黄色不卡视频| 茄子视频毛片免费观看|