



摘 要: 分析了圖像輪廓提取中計算機技術的有效應用。針對傳統圖像邊緣檢測中存在的問題在VC的環境下進行研究,結合計算機技術,采用灰度閾值法進行圖像分割,使用數學形態學方法修補二值圖像缺陷,優化設計輪廓提取方法,以便提升圖像處理效果。經過研究發現,將計算機技術應用到圖像輪廓提取中,精度高達98.0%,能滿足工程測量的實際需要。在圖像輪廓提取中,應用計算機技術進行圖像輪廓提取,有助于達到最佳的圖像處理效果,提高圖像價值,發揮積極應用效果。
關鍵詞: 邊緣檢測; 計算機技術; 灰度閾值; 圖像輪廓提取
中圖分類號: TN911.73?34 文獻標識碼: A 文章編號: 1004?373X(2016)10?0034?03
Effective application of computer technology in image contour extraction
YU Haiyan, NIU Qingli
(School of Information Engineering, Zhengzhou University of Science Technology, Zhengzhou 450064, China)
Abstract: The effective application of computer technology in image contour extraction is analyzed. The problem existing in traditional image edge detection is studied in VC environment. In combination with computer technology, the gray threshold method is used to segment the image. And then the mathematical morphology method is used to repair the defects of binary image, and optimally design the contour extraction method to improve the image processing effect. It is found in the study that the accuracy can reach up to 98.0% when computer technology is applied to the image contour extraction, which can meet the practical needs of engineering measurement. In image contour extraction, the computer technology is used to extract the image contour, which is of help to achievement of the best image processing effect, improves the image value, and plays a positive role in application effect.
Keywords: edge detection; icomputer technology; gray threshold; image contour extraction
在計算機視覺測量中,圖像輪廓提取是其測量的關鍵,可以采取計算機技術,提取圖像中的輪廓信息,不僅可以自動分選圖像的灰質等級,也可以自動檢測圖像中的表面缺陷,對圖像進行更好的提取處理,有效提高圖像價值。本文深入圖像輪廓提取及計算機技術內部,分析問題,淺析計算機技術在圖像輪廓提取中的有效應用。
1 分析在圖像輪廓提取中應用計算機技術的
可行性
隨著當前信息計算機技術的不斷提升,在計算機突出處理領域,可以利用工具得到數字化的圖像信息,并同時采取多種圖像處理技術手段進行處理,得到圖像輪廓信息,并將其提取[1]。圖像的輪廓是圖像的一種基本特征,攜帶著一幅圖像大部分的信息,經常被應用到較高層次的圖像應用中。
基于計算機技術的圖像輪廓分離,在圖像處理中,不僅可以獲取圖像特征參數,并且通過各種算子(Sobel算子,Laplace算子,Canny算子)可以對圖像的灰度進行分析、調節,從而可實現對圖像邊緣輪廓的提取,在實際應用中發揮可行性[2]。
基于計算機技術的圖像輪廓提取,是在內容圖像分析基礎上,運用計算機技術提取出圖像中具有代表性的特征,例如運用高閾值檢測圖像中重要的線條、輪廓,提取體系的線條、輪廓等最能體現出圖像特征的幾個元素[3],運用低閾值保證圖像輪廓中容易丟失的細節部分,確保提取的圖像邊緣更豐富,提升圖像輪廓提取效果。
2 需求分析
利用計算機對圖像進行處理,其目的就是得到更適合人觀察和識別的圖像或者由計算機自動識別和理解的圖像。運用計算機技術,根據LoG算子,實現圖像頻域最優化,解決其與空域最優化的矛盾,簡化計算機圖像輪廓提取的計算方法;同時,在圖像提取過零點檢測之中,還可以根據其各向同性特點,保證圖像提取過程的邊緣封閉性,使提取圖像符合人眼的視覺效果。用計算機分析圖像的基本特征和屬性,以便可以得出自己想要的圖像,以得到更好的圖像輪廓提取效果。
3 圖像輪廓提取中計算機技術的總體設計
圖像輪廓中常攜帶著圖像大部分信息,而輪廓存在于圖像不規則的結構和不穩定的像素點,當然也有的存在于信號的突變處。應用計算機技術實現圖像輪廓提取,其總體設計流程圖如圖1所示。
采用計算機Qt 5.0+VS 2012+OpenCV 3.0框架,有助于兼容OpenCV圖像處理和渲染[4]。本系統主要由MyClass類和MyClass.ui類組成,在Qt中由QMainWindow提供一個有菜單條、例如工具條和一個狀態條的主應用程序窗口,在MyClass類中,對各個函數的調試和修改,實現了對圖像的提取。在該系統總體設計中,要確保設計整體風格一致,結構要清晰合理,實行模塊化管理,界面要清晰,要使用戶一眼就能明白,方便用戶操作。同時,可以做到開發代碼簡潔,便于管理,便于修改,便于擴充[5];并且還要有完善的數據的輸入和輸出,容錯性好,不會因為用戶的某個操作造成程序的崩潰,提示多,每一步的操作都很簡單明了,都能提醒用戶及時改正。
4 應用分析
4.1 輪廓提取設計
在圖像輪廓提取之中,采取計算機技術,可以得到有效的輪廓提取信息。例如針對如圖2所示的圖像,在提取其圖像輪廓時,也可以運用計算機計算來實現。
基于計算機技術,進行圖像輪廓提取中,可以根據不同圖像輪廓的表現方法,定義不同的圖像輪廓[6]。對于計算機技術,運用OpenCV序列來存儲輪廓信息,序列中的每個元素就是圖像曲線的一個位置反映[7],只要簡單地把輪廓想象為使用CvSeq表示的一系列的點就可以了。在圖像輪廓提取中,運用計算機技術,對圖像輪廓提取,如圖3所示。
4.2 具體提取方法
圖像輪廓提取中,可以在計算機技術基礎上,運用OpenCV軟件,用FindContours()函數進行輪廓提取[8],如圖4所示就是輪廓提取后的解析效果圖。在OpenCV中,可以把得到的輪廓用輪廓樹來表達,從而把包含關系編碼到樹結構中。
由圖4可以看出,設定圖中C為內輪廓,H為外輪廓,基于兩種輪廓提取,在不同的算子中,其實現方法分別可以表示輪廓的外邊界和內邊界。這個圖輪廓樹中,在根節點的輪廓叫C0,孔H00和H01是它的子節點,這些輪廓中直接包含輪廓稱為它們的子節點;不同的輪廓樹的方式代表不同的輪廓存儲方式。
4.3 代碼實現
在二值圖像中,根據FindContours()圖像輪廓提取函數,得到有邊緣像素的圖像、說明需要的輪廓類型和希望的這回值形式。可根據Canny檢測算子參數,得到圖像輪廓提取結果。以下就是在計算機技術基礎上,實現圖像輪廓提取的相關代碼:
void MyClass::FindContours()
{
if(!image.empty()) //判斷圖片是否存在
{
RNG rng(12345);
int thresh = 100; //輪廓提取值
int max_thresh = 255; //輪廓提取最大值
//原圖轉換
Mat src; Mat src_gray;
src = image; //圖片關聯
cvtColor( src, src_gray, CV_BGR2GRAY ); //二值化
blur( src_gray, src_gray, Size(3,3) ); //除燥
//創建窗體
namedWindow( \"輪廓提取\",WINDOW_AUTOSIZE);
imshow( \"輪廓提取\", src );
Mat canny_output; //初始化dst
//定義點和向量
vector
vector
Canny(src_gray,canny_output,thresh, thresh*2,3); //用Canny算子檢測邊緣,當然也可以使用其他邊緣算子
findContours(canny_output,contours,hierarchy,RETR_TREE,
CHAIN_APPROX_SIMPLE, Point(0, 0) );
//輪廓查找
//繪出輪廓
Mat drawing = Mat::zeros(canny_output.size(),CV_8UC3 );
//遍歷所有頂層輪廓,隨機生成顏色值繪制給各連接組成部分
for( int i = 0; i< contours.size(); i++ )
{
Scalar color =Scalar( rng.uniform (0 , 255) , rng.uniform ( 0 ,255 ), rng.uniform(0,255) );
drawContours ( drawing,contours, i, color, 2, 8, hierarchy, 0, Point () ) ;
}
imshow( \"輪廓提取\", drawing );
//在窗體中顯示結果
}
else
{
QMessageBox::information(this, tr(\"ERROR!\"),
tr(\"please click picture!\").arg(\"\")); //彈出提取框
}
}
提取圖像邊緣得到的結果如圖5所示。
圖5 輪廓提取效果圖
可根據Canny檢測算子參數,經提取后得到需求的圖像輪廓。在提取圖像邊緣中,運用計算機技術,圖像輪廓提取精度可達98.0%,有效滿足圖像工程測量的實際需要。
5 結 論
綜上所述,在圖像輪廓提取中有效應用計算機技術,不僅可以自動檢測圖像表面缺陷,也可以更好地對圖像輪廓進行處理,可以實現提取單像素圖像邊緣輪廓的功能,精度高,能夠滿足基于計算機視覺測量的要求,發揮積極應用價值。
參考文獻
[1] 繆家龍,王培珍,孫文龍,等.焦炭顯微圖像的輪廓提取新方法研究[J].計算機技術與發展,2011,21(11):120?123.
[2] 杜艷華,楊志強.基于照片自動提取人體尺寸信息的研究[J].計算機技術與發展,2010,20(2):48?51.
[3] 李曉磊,馬苗.基于組合LoG濾波方法的輪廓檢測[J].計算機技術與發展,2014(11):28?31.
[4] 楊丹,游磊,張小洪,等.基于區域生長的魚眼圖像輪廓提取算法[J].計算機工程,2010,36(8):217?218.
[5] 李金娟.基于迭代技術的圖像輪廓提取方案的研究與實現[J].科學技術與工程,2013,13(28):8325?8328.
[6] 肖詩勤,楊關良.一種改進的魚眼圖像輪廓提取算法[J].計算機與數字工程,2010,38(1):147?150.
[7] 秦斌,殷曉露,禹世杰.實彈射擊報靶系統的圖像校正[J].現代電子技術,2014,37(14):109?113.
[8] 石云峰,王保保.基于GVF Snake模型的設備內壁圖像輪廓提取[J].現代電子技術,2009,32(8):103?105.