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

基于OpenCV與Java的圖像處理自主學習軟件設計

2019-10-15 02:21:53陳小宇魏靜靜
軟件導刊 2019年8期

陳小宇 魏靜靜

摘 要:《數字圖像處理》課程存在理論知識枯燥、實踐性強和學習難度大等問題。為了幫助學生自主學習該課程,利用JavaGUI組件和OpenCV圖像處理庫設計了圖像處理學習軟件平臺,實現圖像濾波、圖像增強、圖像加噪、圖像翻轉等常用功能,且可任意添加或刪除某一功能。實驗結果表明,該平臺具有操作方便、代碼開源、直觀形象的特點,加深了學生對理論知識的理解,有助于提高學生自主學習能力。

關鍵詞:圖像處理;學習軟件; JavaGUI;OpenCV圖像庫

DOI:10. 11907/rjdk. 182785 開放科學(資源服務)標識碼(OSID):

中圖分類號:TP319文獻標識碼:A 文章編號:1672-7800(2019)008-0116-03

Design of Image Processing Autonomous Learning Software

Based on OpenCV and Java

CHEN Xiao-yu,WEI Jing-jing

(Central China Normal University,Academy of Physical Science and Technology,Wuhan 430079,China)

Abstract: The course of Digital Image Processing suffers from problems like dull theoretical knowledge, stronger practicality and difficulty in learning. In order to help students to learn the course independently, we have designed an image processing learning software platform based on JavaGUI components and OpenCV image processing library, which realizes some common function modules, image filtering, image enhancement,image noise addition, image rollover and other common functions. Meanwhile, it can add or delete some function modules arbitrarily. It is confirmed that the platform has the characteristics of easy operation, open source code and visual image, and it contributes to enhance students understanding of theoretical knowledge and improve students ability of autonomous learning.

Key Words: image processing; learning software; JavaGUI; OpenCV image library

基金項目:華中師范大學基本科研業務費專項資金項目(CCNU16A02018)

作者簡介:陳小宇(1972-),男,博士,華中師范大學物理科學與技術學院副教授、碩士生導師,研究方向為光電信號檢測、信號與信息處理、嵌入式系統與應用;魏靜靜(1992-),女,華中師范大學物理科學與技術學院碩士研究生,研究方向為圖像處理。

0 引言

《數字圖像處理》課程是很多高校信息類專業重要的基礎課[1]。該課程具有知識體系嚴謹、概念抽象、理論推導繁瑣復雜、理論與實際聯系緊密等特點[2]。

授課一般采用理論講解、公式推導和Matlab演示相結合的方式,使抽象的理論知識具體化和形象化。張曉強等[3]利用Matlab圖形用戶接口設計了一個具有常見圖像處理功能的演示平臺,實現了該課程中核心教學內容的交互式仿真;肖龍飛等[4]利用Matlab GUI 設計的數字圖像教學軟件,涵蓋圖像空間域處理、圖像頻率域處理和插值放大3大模塊,滿足本科課程的基本教學需求;楊淑瑩等[5]基于VC++6.0開發了一套集理論教學與實驗教學于一體的軟件設計方法;張雁騰等[6]利用可視化編程語言VC++的MFC功能,針對數字圖像處理內容編寫了GUI人機交互圖形用戶界面。這些平臺主要用于教師作教學演示,具有交互性,但學生不能查看其函數庫內部的具體實現過程,不利于學生深刻理解圖像處理技術。本文采用JavaGUI組件和OpenCV圖像處理庫相結合的方式設計學習平臺,使學生在學習理論知識的同時,可以自主查看并學習函數的具體實現過程(OpenCV的開源性[7-10])。Java語言具有跨平臺性[11-12],因此該軟件可以運行在不同的操作系統上,更便于學生自主學習。

1 系統架構

本文根據常用的圖像處理基本操作流程和圖像處理技術設計學習平臺。首先設計一個含有開放源碼的可視化圖像處理操作界面,然后對這個界面中所列出的功能進行后臺回調函數編寫,從而完成整個圖像處理學習系統設計。系統由拍照、圖像加噪、圖像濾波、圖像翻轉、圖像特殊處理和幫助6個功能模塊構成,結構如圖1所示。

圖1 系統框架結構

拍照為一個單獨模塊,其首要作用是為了驗證Java對OpenCV圖像庫的調用以及文件操作是否成功,其次用來實現拍照功能。

系統設計關鍵步驟:①明確教學系統實現的主要功能,應該包含哪些模塊;②先畫出大概的圖像處理教學軟件的界面草圖,然后稍作修改,最后確定界面布局方案;③根據最終方案,使用Java語言GUI組件在Eclipse平臺上編寫圖形操作界面及其它菜單項目;④編寫每個菜單的功能回調函數并逐項進行功能檢查,排除所有功能Bug使系統穩定運行;⑤完成幫助部分,詳細說明軟件操作指南。

2 系統設計

2.1 關鍵點設計

本學習軟件內部參數和變量較多,正確設置各個參數及明確各參數之間的關系至關重要。任何一個函數在操作之前都要確定操作對象,確保不同回調函數與圖像數據之間傳輸的正確性。在軟件啟動時,默認打開拍照界面(見圖2拍照操作界面),以驗證Java與OpenCV圖像處理庫的鏈接是否成功。

圖2 拍照操作界面

2.2 圖像濾波

圖像濾波指在盡量保留原圖像特征的條件下對圖像進行噪聲抑制。濾波方法可分為空域濾波和頻域濾波[13-14],這里主要講解空域濾波。空域濾波即直接對像素灰度值進行處理,如式(1)所示。其中,[f(x,y)]為原圖像的像素灰度值,[g(x,y)]為處理后的像素灰度值,T是作用于[(x,y)]鄰域的算子。

[g(x,y)=T[f(x,y)]]? ? ? ? ? ? ? ? (1)

該功能模塊主要實現中值濾波與均值濾波兩種方法。

中值濾波是常用的非線性濾波方法,其主要思想是對像素鄰域向量化取中值進行濾波,其運算簡單、高效,如式(2)所示。

[Vout=median{a1,a2,a3,?,an}]? ? ? ?(2)

核心操作代碼如下:

Mat srcImage = Imgcodecs.imread("picture_path");

Mat dstImage = srcImage.clone();

Imgproc.blur(srcImage,dstImage,newSize(9,9),newPoint(-1,-1), core.BORDER_DEFAULT);

Imgcodecs.imwrite("D:\\java_opencv\\blur.jpg", dstImage);

均值濾波又稱鄰域平均法,將單個像素及指定鄰域內的所有像素按某種規則或模板計算平均灰度值,作為新圖像中的對應像素值。均值濾波模板為ones(m,n),模板內所有元素均為1,它們的權重相同,其降噪平滑后的圖像表達式如下:

[g(x,y)=1M(i,j)∈sg(i,j)]? ? ? ? ? ? (3)

其中,s是點[(x,y)]鄰域內的點集,M是點集s中的總點數。

核心操作代碼如下:

Mat srcImage = Imgcodecs.imread("picture_path");

Mat dstImage = srcImage.clone();

Imgproc.medianBlur(srcImage, dstImage, 7);

Imgcodecs.imwrite("D:\\java_opencv\\medianBlur.jpg", dstImage);

濾波操作界面如圖3所示。

圖3 濾波操作界面

2.3 圖像加噪

噪聲可以看作隨機信號,具有統計學上的特征屬性[15]。常見的噪聲有高斯噪聲和椒鹽噪聲[16]。高斯噪聲由攝像機傳感器元器件內部產生,可用上述的均值濾波去除噪聲,它的概率密度函數服從高斯分布[17],見式(4)。椒鹽噪聲是切割圖像時產生的黑白相間的亮暗點噪聲,椒即黑,鹽即白,是一種因為信號脈沖強度引起的噪聲,又稱脈沖噪聲,可通過上述的中值濾波很好地去除,其概率密度函數表達式如式(5)所示。

[P(z)=12πσe-(z-μ)2/2σ2]? ? ? ? ? ? ? ? ? ? (4)

[P(z)=Pa,z=aPb,z=b0,other]? ? ? ? ? ? ? ? ? ? ? ? ? (5)

2.4 圖像翻轉

圖像翻轉操作是最基礎也是最重要的一種圖像幾何變換。幾何變換直觀上是改變圖像的大小、方向等,實則是對圖像像素空間關系的改變[18]。翻轉又稱圖像的鏡像,分為垂直鏡像和水平鏡像兩種。水平鏡像是翻轉后圖像每個像素點的橫坐標與翻轉前對應像素點的橫坐標關于圖像的豎直中心線對稱,即左右翻轉;垂直鏡像則是翻轉后圖像每個像素點的縱坐標與翻轉前對應像素點的縱坐標關于圖像的水平中心線對稱,即上下翻轉。該功能模塊主要實現這兩種翻轉操作。

2.5 特殊處理

特殊處理模塊包含灰度化操作和直方圖統計操作。

將一幅彩色圖像變換成單一灰色圖像的過程即為灰度化[19],如一幅彩色圖像的深度為8,那么一個像素點就有[255×255×255]種顏色變化范圍,而灰度化后像素變換范圍為255種,大大減少了圖像內存,后續操作處理計算量少、運算速度快、內存占用量少,因此一般進行圖像處理時會先將圖像轉化為灰度圖像。

灰度直方圖是對一幅圖像中出現的各個灰度等級的一種統計表示,通過直方圖可以看出圖像的灰度分布情況[20]。圖像的視覺效果與其直方圖有著對應關系,每一幅圖像都有自己對應的直方圖,不同圖像對應的直方圖也不一樣。直方圖是圖像處理的一種基本操作,通過觀察直方圖,可以分析圖像的灰度范圍、分布情況、整幅圖像的亮度均值以及亮暗對比度等,以此為基礎對圖像進行后續處理。

3 應用效果分析

為評估圖像處理學習平臺對學生自主學習情況的影響,將學習《數字圖像處理》課程的學生分為5個班,分別進行目的性試驗學習測試。其中一班、二班、三班學生未進行自主學習實踐操作,四班、五班學生安裝該學習軟件并進行自主學習實踐操作。

3.1 學生成績分析

成績的統計分析在一定程度上可以反映學生自主學習狀況,各班學生成績情況如表1所示。表1數據表明:與一班、二班和三班相比,四班和五班學生成績中優秀和良好的比例均較高,平均分明顯提高,中等和及格的比例較低。

表1 學生成績情況? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(%)

3.2 學生問卷調查

問卷調查能反映出學生對該平臺的認可度。對四班和五班的學生進行問卷調查,如表2所示。表2中數據表明:認為該平臺對學生學習起作用的人所占比例為96.2%,推薦使用該平臺的人所占比例為95.7%。

表2 問卷調查內容及結果? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(%)

4 結語

本文利用Java語言的跨平臺性和OpenCV開源性特點設計了圖像處理自主學習軟件,充分激發了學生自主學習的興趣。通過改變輸入參數進行學習,加深對數字圖像處理理論知識的理解,進一步提高學生的編程能力。但該平臺內容還不夠豐富,后期可添加一些與圖像處理技術相關的應用進行完善。

參考文獻:

[1] 杜云明,郝兵,劉文科. 《數字圖像處理》課程任務驅動教學模式的實踐[J]. 中國電力教育,2013(10):113-114.

[2] 梁志貞,江海峰,楊小冬. 基于“卓越計劃”的《數字圖像處理》課程教學改革實踐[J]. 高教學刊,2016(3):146-147.

[3] 張曉強,王雪松. 基于Matlab GUI的圖像處理演示平臺設計[J]. 中國醫學教育技術,2018,32(3):279-281.

[4] 肖龍飛,李金龍,楊凱. 基于Matlab的數字圖像處理教學軟件的設計[J]. 信息技術,2014(12):185-187.

[5] 楊淑瑩,張樺. 《數字圖像處理》教學軟件的開發設計[J]. 天津師范大學學報:自然科學版,2009,29(4):76-80.

[6] 張雁騰,黃勇, 朱昌洪,等. 《數字圖像處理》可視化教學軟件的設計[J]. 電子技術與軟件工程, 2017(14):74-75.

[7] 陰法名. 基于OpenCV圖像處理[J]. 科技信息,2009(32):220-221.

[8] 黎松,平西建,丁益洪. 開放源代碼的計算機視覺類庫OpenCv的應用[J]. 計算機應用與軟件,2005,22(8):134-136.

[9] 方玫,喻擎蒼,李華強. C++Builder下基于OpenCV的數字圖像處理[J]. 計算機工程與設計,2008, 29(4):882-884.

[10] ZELINSKY A. Learning OpenCV—computer vision with the opencv library[J]. IEEE Robotics & Automation Magazine,2009,16(3):100-101.

[11] 高彥卿. Java語言特點與未來發展趨勢探析[J]. 中國電子商務, 2013(21):50-51.

[12] 韋東. Java語言與Java技術[J]. 計算機光盤軟件與應用, 2011(18):208-209.

[13] PELI T,LIM J S. Adaptive filtering for image enhancement[C].? IEEE International Conference on Acoustics, Speech, & Signal Processing. IEEE, 1982.

[14] MCADAMS H P, JOHNSON G A,SUDDARTH S A,et al. Implementation of adaptive filtration for digital chest imaging[J]. Optical Engineering, 1987, 26(7):669-674.

[15] 王連利,劉增力,劉康,等. 基于灰度直方圖的單一圖像噪聲類型識別研究[J]. 軟件導刊,2018,17(4): 197-200.

[16] 郭忠明. 基于CUDA的并行圖像處理性能優化[D]. 大連:大連理工大學,2012.

[17] 岡薩雷斯. 數字圖像處理[M]. 北京: 電子工業出版社, 2005.

[18] 徐鵬飛. 圖像處理中幾種幾何變換的實現[J]. 電腦知識與技術, 2017(35):210-211.

[19] 付欽學. 循環流化床鍋爐排渣含碳量在線檢測方法設計[D]. 北京:華北電力大學, 2014.

[20] 蘇慧娟,于正林,張桂林. 基于OpenCV的圖像處理[J].? 科技資訊,2014,12(8):18-19.

(責任編輯:杜能鋼)

主站蜘蛛池模板: 亚洲精品在线91| 韩日午夜在线资源一区二区| 18禁黄无遮挡免费动漫网站| 97精品伊人久久大香线蕉| 国产又粗又猛又爽视频| 久久黄色视频影| 亚洲浓毛av| 少妇被粗大的猛烈进出免费视频| 亚洲成a人在线观看| swag国产精品| 国产视频资源在线观看| 国产成人精品2021欧美日韩| 宅男噜噜噜66国产在线观看| 欧美自慰一级看片免费| 日本三区视频| 亚洲男女在线| 国产日韩欧美一区二区三区在线 | 亚洲天堂网2014| 国产1区2区在线观看| 午夜不卡福利| 伊大人香蕉久久网欧美| 先锋资源久久| 亚洲一级毛片在线观播放| 一区二区三区毛片无码| 99999久久久久久亚洲| 国产无套粉嫩白浆| 看av免费毛片手机播放| 麻豆精选在线| 日韩一区二区在线电影| 亚洲第一精品福利| 国产精品久久久久婷婷五月| 国产成人高清精品免费| 波多野结衣一区二区三区四区视频| 粉嫩国产白浆在线观看| 午夜国产大片免费观看| 国产黄色片在线看| 国产本道久久一区二区三区| 欧美一级在线| 美女无遮挡被啪啪到高潮免费| 久久久久久高潮白浆| 精品中文字幕一区在线| 成人午夜免费观看| 婷婷色在线视频| 一级黄色网站在线免费看| 国产黄在线免费观看| 国产精品护士| 国产精品吹潮在线观看中文| 亚洲天堂久久| 成年人视频一区二区| 日本午夜网站| 久久精品无码一区二区国产区| 无码乱人伦一区二区亚洲一| 亚洲精品制服丝袜二区| 久操中文在线| 青青草91视频| 尤物精品视频一区二区三区| 动漫精品中文字幕无码| 亚洲国产清纯| 丁香综合在线| 亚洲色图另类| 亚洲日韩AV无码精品| 久久女人网| 欧美人与动牲交a欧美精品| 精品人妻AV区| 色婷婷亚洲综合五月| 67194亚洲无码| 色综合日本| 99这里精品| 国产不卡网| 久久99久久无码毛片一区二区| 国产白丝av| 色综合中文字幕| 亚洲色图在线观看| 国产成人免费高清AⅤ| 亚洲欧美日韩成人在线| 久久精品国产电影| 国产午夜福利在线小视频| 亚洲精品欧美重口| 国产成人精品综合| …亚洲 欧洲 另类 春色| 亚洲性视频网站| 精品一区二区三区四区五区|