朱進(jìn)
摘 要: 圖形分解技術(shù)在圖像處理中應(yīng)用廣泛,EmguCV是.Net平臺下對OpenCV圖形處理庫的封裝。首先簡要介紹了OpenCV與EmguCV及其二者的聯(lián)系,然后著重介紹了運(yùn)用EmguCV進(jìn)行圖形分解的步驟與方法,給出了樣例流程圖,詳細(xì)介紹了關(guān)鍵函數(shù)的用法和其關(guān)鍵參數(shù),最后給出了部分C#關(guān)鍵源代碼,以及運(yùn)行該程序的平臺環(huán)境。運(yùn)用EmguCV實(shí)現(xiàn)了圖形分解,所采用的程序在電腦鍵盤掃描識別中具有較大的應(yīng)用價(jià)值。
關(guān)鍵詞: 圖形分解; EmguCV; OpenCV; 關(guān)鍵函數(shù)
中圖分類號:TP317.4 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2014)07-04-03
Abstract: Graphic decomposition technique is widely used in image processing applications. EmguCV Net platform is a graphics package for OpenCV library. The relation between OpenCV and EmguCV is briefly introduced. The use of EmguCV graphic decomposition is focused on. The procedures and methods, as well as a sample flow chart, are given. The usage of key functions and the parameters are described carefully. A part of C# source code and a platform to run the program are presented. In this paper graphic decomposition is achieved by EmguCV. The used program is valuable in computer keyboard scan cognition.
Key words: graphic decomposition; EmguCV; OpenCV; key functions
0 引言
EmguCV是.Net平臺下對OpenCV圖形處理庫的封裝,也就是OpenCV的.Net版本。OpenCV的全稱是:Open Source Computer Vision Library,它是一個(gè)基于開源發(fā)行的跨平臺計(jì)算機(jī)視覺庫,可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,實(shí)現(xiàn)了圖形處理和計(jì)算機(jī)視覺方面的很多通用算法。而EmguCV運(yùn)行在.Net兼容的編程語言下調(diào)用OpenCV的函數(shù),如C#,VB等。EmguCV有兩層封裝,基礎(chǔ)層包含函數(shù)、結(jié)構(gòu)和枚舉類型,直接對應(yīng)于OpenCV;第二層包含了融入.Net優(yōu)點(diǎn)的類。本文開發(fā)所使用的是EmguCV 2.3版本。
1 圖形分解過程
圖形分解技術(shù)種類較多,應(yīng)用也十分廣泛。本文中的圖形分解主要是運(yùn)用EmguCV技術(shù),C#語言,將一幅圖形中的各個(gè)組成部分分解出來,例如實(shí)現(xiàn)如圖1所示的結(jié)果。
該圖片是一幅具有阿拉伯字母的鍵盤按鍵圖片,需要將其中各個(gè)字符的圖片部分全部分解出來。根據(jù)EmguCV技術(shù)特點(diǎn),分解圖形需要經(jīng)過以下步驟:
⑴ 取得各個(gè)圖形元素的圖形邊緣;
⑵ 對圖形邊緣進(jìn)行膨脹處理;
⑶ 取得各個(gè)圖形元素的輪廓;
⑷ 根據(jù)這些輪廓,取得這些圖形元素的外接矩形;
⑸ 根據(jù)這些外接矩形的位置,從原圖上裁剪下這些圖形元素。
4 結(jié)束語
圖形分解在圖形處理技術(shù)中運(yùn)用較多,其中EmguCV功能強(qiáng)大,能與.Net架構(gòu)無縫對接,使圖形處理技術(shù)能更加容易使用。本文涉及的圖形分解技術(shù),較能適應(yīng)于目前運(yùn)用廣泛的Windows平臺與.Net架構(gòu)的軟件中,運(yùn)用面較為廣泛。本文所采用的程序在電腦鍵盤掃描識別等方面會(huì)有較好的應(yīng)用。而目前程序的應(yīng)用領(lǐng)域還較窄,要使其運(yùn)用在較為復(fù)雜的圖形分解,還需要進(jìn)行一些修改與完善。
參考文獻(xiàn):
[1] (美)Bradski.G, Kaehler.A著,于仕琪,劉瑞禎譯.學(xué)習(xí)OpenCV(中文版)[M].清華大學(xué)出版社,2009.
[2] 劉瑞禎,于仕琪.OpenCV教程:基礎(chǔ)篇[M].北京航空航天大學(xué)出版社,2007.
[3] 陳勝勇,劉盛.基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)[M].科學(xué)出版社,2008.
[4] (美)Robert Laganiere著,張靜譯.OpenCV 2計(jì)算機(jī)視覺編程手冊[M].科學(xué)出版社,2013.
[5] 明日科技.C#從入門到精通(第三版)[M].清華大學(xué)出版社,2012.