王振鐸 邊倩
摘要:數字圖像處理是在計算機科學、醫學、物理學等學科基礎上發展起來的一門科學,它廣泛應用在各行各業。利用Java 技術對圖像進行處理,利用Java Swing實現可視化。該系統性能穩定,功能實用,且具有良好的擴展性。
關鍵詞:圖像處理;Java;opencv
中圖分類號:TP391? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)28-0097-03
Abstract:Digital image processing is a science developed on the basis of computer science, medicine, physics and other disciplines. It is widely used in all walks of life. Java technology is used for image processing, and Java Swing is used for visualization. The system has stable performance, practical function and good expansibility.
Keywords: image processing; Java; oepncv
1引言
圖像處理旨在將圖像轉化為一個數字矩陣保存在電腦中,并利用一定的算法對其進行處理。圖像處理的基礎是數學,最核心的任務就是各種算法的設計和實現。目前,圖像處理技術已經廣泛應用在各行各業中。例如:生物醫學、數字地圖,通訊技術、工業生產、計算機科學等等。所以,將數字圖像保存到數據庫中,進行相應的圖像處理和圖像識別,是圖像應用的研究基礎。本文利用Java技術開發了一種數字圖像處理系統。此系統可以方便地實現各種常用的操作,同時也為后期醫學影像的處理打下了基礎[1-5]。
2 開發環境
2.1 Eclipse環境下java中調用opencv庫
opencv是一個可以在多個操作系統環境下的計算機視覺庫,提供了通用的圖像處理和計算機視覺方面的算法實現。并提供了多種語言接口,例如:C、C++、Java、C#等。
2.2 eclipse中java調用opencv庫的方法
首先從opencv官網上下載opencv的庫(opencv-24.13.3.jar );
2.3 在eclipse中加入opencv的類庫
2.4 測試一個簡單的javaopecv程序,驗證環境的正確性
3 Java 處理數字圖像的流程
數字圖像的處理主要是圖像的預處理和識別,其中圖像預處理主要包括:
3.1 圖像灰度化;二值化
在RGB模型中,若R=G=B時,則彩色表現為灰度顏色,灰度范圍為0-255,其中R=G=B的值叫灰度值;所以,灰度圖像每個像素點只需一個字節存放灰度值(又稱強度值、亮度值)。一般常用的是加權平均法來求像素點的灰度值,常用的加權方法有5種,如下:
1)Gray = B ; Gray = G ; Gray = R
分量法,即用RGB三個分量的某一個分量作為該點的灰度值;
2)Gray = max({B , G , R})
最大值法,取彩色圖像中的三個分量亮度的最大值作為灰度圖的灰度值;
3)Gray = (B + G + R) / 3
將彩色圖像中的三分量求平均得到一個灰度圖;后兩種都屬于加權平均法
4)Gray = 0.072169 * B + 0.715160 * G + 0.212671 * R
是opencv開發庫所采用的一種求灰度值算法
5)Gray = 0.11 * B + 0.59 * G + 0.3 * R
從人體生理學角度所提出的一種求灰度值算法(人眼對綠色的敏感最高,對藍色敏感最低)另外,圖像的二值化,就是將圖像上的像素點的灰度值設置位0或255這兩個極點,也就是將整個圖像呈現出明顯的只有黑和白的視覺效果。
3.2 圖像降噪,去除干擾線
現實中的數字圖像在數字化和傳輸過程中常受到成像設備與外部環境噪聲干擾等影響,為了減少數字圖像中噪聲的過程稱為圖像降噪。
3.3 圖像腐蝕、膨脹處理
圖像的腐蝕就是圖像的一部分區域與指定的核進行卷積,求核的最小值并賦值給指定區域。 腐蝕可以理解為圖像中高亮區域的領域縮小。圖像的膨脹是將圖像的一部分區域與指定的核進行卷積,求核的最大值并賦值給指定區域。 膨脹可以理解為圖像中高亮區域的領域擴大。
3.4 圖像分割
圖像分割就是把圖像分成若干個特定的、具有獨特性質的區域,以便提取感興趣目標的技術和過程。它是由圖像處理到圖像分析的關鍵步驟。
3.5 字符歸一化
就是將分割好的圖像內的字符歸一化到一個標準模板大小;歸一化的理想結果就是:歸一化到標準模板大小;傾斜校正;筆畫寬度歸一化;字形歸一化。
4 數字處理的Java實現
下面對主要的數字圖像處理操作的Java實現進行介紹,以二值化處理為例。
另外,數字圖像處理還有、數字圖像邊緣檢測去噪,字符化等基本操作,數字圖像邊緣檢測與文獻2的類似,讀者可以參考文獻2,由于篇幅限制,這里不再贅述。
5 結束語
本文介紹了java技術處理醫學圖像的過程和關鍵實現。后期數字圖像處理還包括圖像的識別,利用opencv識別庫,可以方便地對處理的圖像進行識別,證明了系統具有良好的擴展性。
參考文獻
[1] 劉偉.基于INTERNET的醫學圖像傳輸與發布系統的研究[D].泰安:泰山醫學院,2007.
[2] 劉娜,童小念.數字圖像邊緣檢測的Java實現[J].電腦知識與技術,2007(7):235-236.
[3] 畢文杰,李慎江.DICOM醫學影像文件格式與常見格式的轉換[J].醫療衛生裝備,2008(10):154-156.
[4] 張德成,孫莉.基于Java的醫學圖像數據接口[J].信息技術,2008(3):115-117.
[5] 康曉東.醫學影像圖像處理[M].北京:人民衛生出版社,2009.
【通聯編輯:朱寶貴】