黎廷煒 陳婧
(杭州電子科技大學計算機學院 310018)
基于OpenCV的圖像處理系統(tǒng)設計
黎廷煒 陳婧
(杭州電子科技大學計算機學院 310018)
本文論述基于OpenCV的圖像處理系統(tǒng)的分析、設計和實現(xiàn)過程。主要功能包括圖像編輯功能;參數(shù)調整功能;特殊效果功能和工具功能。該圖像處理系統(tǒng)采用開源計算機視覺庫OpenCV技術,并基于windows平臺開發(fā)。運用MFC設計思想,簡化了軟件的開發(fā),提高了系統(tǒng)靈活性并降低了人機交互難度。
圖像處理系統(tǒng);OpenCV;計算機視覺
計算機視覺指的是使用計算機以及相關的電子設備模擬生物視覺的一類科學。計算機視覺也是一個快速增長的致力于分析、修改和對圖像的高級識別的領域[1~2]。它的目標是確定攝像機前發(fā)生了什么和使用它的識別來控制電腦和機器人系統(tǒng),或向人類提供比原來的相機圖像信息更多或更高滿意度的圖像[3]。計算機視覺技術的應用領域包括視頻監(jiān)控、生物識別技術、汽車、攝影、電影制作、網(wǎng)頁搜索、醫(yī)學、虛擬現(xiàn)實游戲、新用戶界面等許多方面[4]。
圖像處理又叫數(shù)字圖像處理,主要用于對工業(yè)相機、攝像機、掃描儀等設備得到圖像分析并根據(jù)需求進行處理。包括圖像增強、圖像識別、邊緣銳化、平滑等。隨著智能手機和平板電腦等移動設備都配備了攝像頭,以及智能終端的普及,對圖像處理應用的需求正在增加[5]。
本文主要分析圖像處理系統(tǒng)的運行流程,圖像處理系統(tǒng)的工作流程、原理還有實現(xiàn)過程,以及如何實現(xiàn)基于OpenCV的圖像處理系統(tǒng)。包括圖像圖像的直方圖顯示,圖像的尺寸調整,圖像旋轉,調整圖像亮度、對比度和色相,調整Gamma值,圖像降噪、模糊銳化,CCD死點檢測等功能。以及如剪切圖像時的操作方式,調整基本參數(shù)時的操作等人機交互界面及處理。
圖像處理系統(tǒng)是由AppWizard生成的一個SDI工程IMAGEPROCESS,使用AppWizard向導創(chuàng)建并生成一系列框架文件。所以該系統(tǒng)框架是一個MFC框架。從MFC框架類繼承來的四個類CIMAGEPROCESSApp、CIMAGEPROCESSDoc、CIMAGEPROCESSView、CMainFrame 主要實現(xiàn)了圖像處理系統(tǒng)的框架以及框架內部的各種邏輯和消息響應機制。
模塊劃分是對業(yè)務流程圖的詳細注釋,該圖像處理系統(tǒng)主要分為四大子模塊,分別是:
(1)基礎操作模塊:該模塊主要是實現(xiàn)了系統(tǒng)中最基礎的操作圖像文件的功能,包括將圖像文件的打開、保存處理后的圖像和另存為新地址等操作。
(2)圖像處理模塊:該模塊實現(xiàn)了圖像的主要的各種處理操作,這些操作主要分為:①圖像編輯模塊;②圖像參數(shù)調整模塊;③特殊效果模塊三個子模塊。圖像編輯模塊分為圖像剪切、旋轉、擴展等操作,圖像參數(shù)調整模塊分為調整色相、色調、Gamma值等操作,特殊效果模塊分為反色特效、黑白特效、反轉片特效等操作。
(3)直方圖顯示模塊:該模塊作用是顯示圖像的直方圖。
(4)其他工具模塊:該模塊是向用戶提供另外的操作工具,包括CCD死點檢測、文字插入工具和添加水印工具。
圖像曝光補償又叫光照補償,在本圖像處理系統(tǒng)中使用的是“參考白”光照補償。其中用圖像亮度的前5%最亮的像素的平均值ave作為“參考白”,對于各個像素,按系數(shù)補償。得出補償公式是目標像素。
圖像Gamma值調整實際上就是進行伽馬校正。伽馬校正是通過改變Gamma值以修改圖像的伽瑪曲線,來改變圖像的非線性色調的方法。通過這種方法增加圖像中深色部分和淺色部分的比例。對圖像進行伽馬校正旨在彌補數(shù)字圖像相較于人類視覺特性的差別,基于人類對光線或黑色和白色的感知的特點,最大限度地使用表示黑色與白色之間的數(shù)據(jù)位或帶寬。
一般來說,Gamma值調整主要用來調整RGB圖像的對比度和亮度。
為了快速的修改圖像矩陣各像素點的像素值,OpenCV提供了函數(shù)LUT(),這個函數(shù)可以利用像素值的映射來修改圖像的每一個像素。Gamma值的調整就符合這種使用方式。
噪聲是感光元件在接收目標實體的光線信號并傳輸?shù)倪^程中所產(chǎn)生的一些在圖像中顯示為粗糙的部分以及不應該出現(xiàn)在圖像中的外來像素。圖像降噪就是減少圖像中這些噪聲的過程。通常使用的降噪方法是對圖像用濾波器濾波,而濾波器分為線性濾波器以及非線性濾波器。由于線性濾波器容易造成圖像模糊,使圖像細節(jié)丟失,所以通常圖像降噪使用的是非線性濾波器。在本圖像處理系統(tǒng)使用的是中值濾波和雙邊濾波兩種濾波器。
中值濾波是一種典型的非線性濾波技術,它的基本處理思路是利用像素點四周鄰域的灰度值的中值來替代該像素點的灰度值。這種方法既能去除脈沖噪聲和椒鹽噪聲又能較好的保留圖像邊緣細節(jié)。雙邊濾波與中值濾波一樣也是非線性濾波的一種方式,為達到“保邊去噪”的目的,雙邊濾波的過程結合了圖像像素點的空間鄰近度以及像素點的值的相似度并進行了折衷處理,不僅如此,雙邊濾波還考慮到了空域信息以及灰度相似性等問題。這使得雙邊濾波在去除噪聲的同時更有效的保存了圖像的特征點。在雙邊濾波的過程中,目標圖像像素的值取決于其在源圖像中鄰域相關像素點的值的加權組合。
圖像銳化是圖像增強一類,通過加重圖形的輪廓深度、增強圖形的邊緣以及灰度跳變的部分,使圖像變得更清晰。本圖像處理系統(tǒng)使用拉普拉斯算子來實現(xiàn)圖像的銳化。
[1]Pulli K,Baksheev A,Kornyakov K,et al.Real-Time Computer Vision with OpenCV[J].Communications of the Acm,2012,55(6):61~69.
[2]Yuille A L.Computer vision needs a core and foundations☆[J].Image&Vision Computing,2012,30(8):469~471.
[3]黃佳.基于OPENCV的計算機視覺技術研究[D].華東理工大學,2013.
[4]Steger,C.,Ulrich,C.機器視覺算法與應用[M].清華大學出版社,2008.
[5]顧偉康.計算機視覺學的發(fā)展概況[J].浙江大學學報,1986(4):142~148.
TP391.4
A
1004-7344(2016)10-0295-01
2016-3-15