• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于OpenCV的數(shù)字圖像處理實(shí)驗(yàn)教學(xué)研究

      2013-04-29 01:12:59李志欣卓亞琦
      大學(xué)教育 2013年9期
      關(guān)鍵詞:數(shù)字圖像處理項(xiàng)目教學(xué)實(shí)驗(yàn)教學(xué)

      李志欣  卓亞琦

      [摘 要]在數(shù)字圖像處理的實(shí)驗(yàn)教學(xué)中引入OpenCV,具有其合理性和必要性。OpenCV處理圖像的應(yīng)用于圖像變換和圖像邊緣檢測。將OpenCV引入數(shù)字圖像處理的實(shí)驗(yàn)教學(xué)中,既能簡化圖像處理的編程,又能切實(shí)地提高學(xué)生的實(shí)踐能力,使學(xué)生深入理解圖像處理的基礎(chǔ)理論和典型算法,獲得了良好的實(shí)驗(yàn)教學(xué)效果。

      [關(guān)鍵詞]數(shù)字圖像處理 OpenCV 實(shí)驗(yàn)教學(xué) 項(xiàng)目教學(xué)

      [中圖分類號] G642.423 [文獻(xiàn)標(biāo)識碼] A [文章編號] 2095-3437(2013)09-0042-02

      一、引言

      目前,大多數(shù)高校的數(shù)字圖像處理課程都是在引入Matlab集成的工具箱及其自帶函數(shù)的基礎(chǔ)上進(jìn)行實(shí)驗(yàn)教學(xué)[1]。由于Matlab程序的移植性較差,學(xué)生學(xué)習(xí)完成后不能直接面對實(shí)際的軟件開發(fā)和應(yīng)用,難以真正提高學(xué)生的工程實(shí)踐動手能力。

      為了讓學(xué)生既能掌握基本理論和技術(shù),又能較容易編寫算法的程序,我們在數(shù)字圖像處理的教學(xué)中引入了開源的計(jì)算機(jī)視覺庫OpenCV(Open Source Computer Vision Library)。該軟件是以C 函數(shù)和C++類的形式實(shí)現(xiàn)大量圖像處理算法,學(xué)生可以方便地利用OpenCV 進(jìn)行圖像處理算法的編程和驗(yàn)證,進(jìn)而在VC中開發(fā)功能更強(qiáng)大的應(yīng)用程序。相對于Matlab而言,學(xué)生不僅可以利用OpenCV 開放的源代碼,以函數(shù)進(jìn)行圖像處理,而且可以查看算法的代碼實(shí)現(xiàn),更好地培養(yǎng)學(xué)生的編程能力[2]。

      二、OpenCV概述

      OpenCV是Intel公司資助的面向廣大研究人員和學(xué)生的開源計(jì)算機(jī)視覺庫,它由一系列C函數(shù)和少量C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面很多通用算法,同時提供了MatLab等語言的接口,因此極大地方便了圖像處理和視頻技術(shù)的二次開發(fā)[3]。

      OpenCV主要包含六大模塊,其具體功能分別是[3]:(1) CV模塊:包含基本的圖形處理函數(shù)和高級的計(jì)算機(jī)視覺算法;(2) CVAUX模塊:包含輔助的OpenCV函數(shù),一般存放一些被淘汰的算法和函數(shù),同時也包含一些新出現(xiàn)的實(shí)驗(yàn)性的算法和函數(shù);(3) CXCORE模塊:包含OpenCV的基本數(shù)據(jù)結(jié)構(gòu)和線性代數(shù)支持;(4) HIGHGUI模塊包含圖像和視頻的界面函數(shù);(5) ML模塊:包含一些基于統(tǒng)計(jì)的分類和聚類工具,模式識別算法和回歸分析等;(6) CVCAM模塊:負(fù)責(zé)讀取攝像頭數(shù)據(jù)的模塊。

      利用OpenCV進(jìn)行程序開發(fā)具有以下幾個特點(diǎn)[4]:(1) 獨(dú)立性。OpenCV中大量的函數(shù)和類庫既可以獨(dú)立運(yùn)行,也可以在加入其它外部庫的情況下運(yùn)行;(2) 跨平臺性。構(gòu)成OpenCV的API函數(shù)具有跨平臺性,不僅能很好的支持各種不同的操作系統(tǒng),也可以很好地在不同公司的C/C++編譯器下工作;(3) 功能強(qiáng)大。OpenCV包含了線性表、樹、圖等基本數(shù)據(jù)結(jié)構(gòu),也包含圖像濾波、邊緣檢測和數(shù)字形態(tài)學(xué)等數(shù)字圖像處理的基本操作以及一些圖像高級處理功能;(4) 高效性。OpenCV的算法都是基于動態(tài)數(shù)據(jù)結(jié)構(gòu),使用Intel處理器指令集開發(fā)的優(yōu)化代碼,運(yùn)行速度快,處理效率高;(5) 開放性。OpenCV的源代碼是開放的,程序設(shè)計(jì)者可以直接修改它的源代碼,也可以將新的函數(shù)或類集成到它的庫中。

      三、數(shù)字圖像處理的實(shí)驗(yàn)設(shè)置

      實(shí)驗(yàn)是理論教學(xué)的有效輔助,對于數(shù)字圖像處理這類實(shí)踐性很強(qiáng)的課程就更加重要。通過閱讀和調(diào)試算法源代碼、體驗(yàn)算法的處理效果,學(xué)生可以加深對基礎(chǔ)理論的理解。根據(jù)理論教學(xué)的重點(diǎn)難點(diǎn)內(nèi)容,我們設(shè)計(jì)了相應(yīng)的實(shí)驗(yàn)項(xiàng)目,每個項(xiàng)目都要求學(xué)生運(yùn)用OpenCV和Visual C++編程語言框架來編寫數(shù)字圖像處理基本算法。

      項(xiàng)目教學(xué)法是針對課程體系結(jié)構(gòu)設(shè)計(jì)出一系列學(xué)習(xí)單元項(xiàng)目,項(xiàng)目設(shè)計(jì)圍繞著具有典型性、啟發(fā)性的關(guān)鍵問題,學(xué)生通過參與項(xiàng)目完成的全過程實(shí)現(xiàn)對課程內(nèi)容系統(tǒng)而深入的掌握[5]。項(xiàng)目教學(xué)法真正實(shí)現(xiàn)了以學(xué)生為中心、以教學(xué)目標(biāo)為中心,實(shí)現(xiàn)理論方法學(xué)習(xí)與實(shí)踐動手能力培養(yǎng)的緊密結(jié)合。

      本文基于項(xiàng)目教學(xué)法的研究,針對“數(shù)字圖像處理”課程教學(xué)體系結(jié)構(gòu),并結(jié)合教學(xué)大綱與教學(xué)目標(biāo)要求,同時參考國外大學(xué)的相關(guān)課程,設(shè)置了以下實(shí)驗(yàn)項(xiàng)目:

      (1) 圖像變換。

      (2) 圖像直方圖均衡化。

      (3) 頻域圖像增強(qiáng)。

      (4) 圖像邊緣檢測。

      (5) 圖像分割。

      (6) 人臉檢測。

      通常,學(xué)生完成一個項(xiàng)目需要4個過程[6]:(1) 項(xiàng)目原理分析;(2) 項(xiàng)目具體流程設(shè)計(jì);(3) 基于OpenCV的軟件設(shè)計(jì);(4) 結(jié)果展示與分析。以上每個階段都要求學(xué)生提交階段報(bào)告,根據(jù)學(xué)生報(bào)告反映出的問題,老師有針對性地進(jìn)行指導(dǎo),在解決問題中幫助學(xué)生真正掌握所學(xué)的知識,并提高動手能力。在項(xiàng)目法教學(xué)過程中,我們特別要注意克服項(xiàng)目無法完全覆蓋全部知識點(diǎn)的局限,因此,要在項(xiàng)目選擇與設(shè)計(jì)中綜合考慮,并結(jié)合項(xiàng)目原理研究建立對教學(xué)體系框架和全部知識點(diǎn)的整體把握。

      四、OpenCV處理圖像的應(yīng)用實(shí)例

      (一)圖像變換

      OpenCV提供多個圖像變換函數(shù)。函數(shù)cvWarpAffine利用指定的矩陣對輸入圖像進(jìn)行仿射變換,這類變換可以用一個3×3的矩陣來表示,其最后一行為(0, 0, 1)。典型的仿射變換包括平移變換、縮放變換、剪切變換、旋轉(zhuǎn)變換等。此外,函數(shù)cvWarpPerspective對圖像進(jìn)行透視變換,函數(shù)cvLogPolar將圖像從直角坐標(biāo)映射到極坐標(biāo),核心代碼如下:

      IplImage* dst = cvCreateImage( cvSize(256,256), 8, 3 );

      cvLogPolar( src, dst, cvPoint2D32f(src->width/2,src->height/2), 40 );

      圖1給出了圖像映射到極坐標(biāo)的結(jié)果實(shí)例。

      (二)圖像邊緣檢測

      圖像的邊緣是圖像最基本的特征,是灰度不連續(xù)的結(jié)果,因而邊緣檢測是圖像處理中的重要問題。OpenCV提供了cvSobel函數(shù)、cvLaplace函數(shù)和cvCanny等函數(shù)進(jìn)行邊緣檢測,下面以cvLaplace函數(shù)進(jìn)行舉例,其邊緣檢測的代碼為:

      IplImage *result_img = cvCreateImage(cvSize(img->width, img->height), IPL_DEPTH_8U, 1);

      cvLaplace (img, result_img);

      cvNamedWindow(“Result”, 0);

      cvShowImage(“Result”, result_img);

      第一句是創(chuàng)建一幅與原始圖像img同樣大小的通道數(shù)為1的圖像result_img;第二句是使用Laplace算子對圖像進(jìn)行邊緣檢測,并將結(jié)果存放在result_img中,后面兩句是在窗口中顯示result_img。程序的處理結(jié)果如圖2 所示。

      五、結(jié)束語

      OpenCV中的函數(shù)幾乎能夠覆蓋到所有的數(shù)字圖像處理的基本功能,而且其代碼又是免費(fèi)的和開放的。實(shí)踐證明,通過將OpenCV引入數(shù)字圖像處理的實(shí)驗(yàn)教學(xué)中,既能簡化圖像處理的編程,又能切實(shí)地提高學(xué)生的實(shí)踐能力,使學(xué)生深入理解圖像處理的基礎(chǔ)理論和典型算法,獲得了良好的實(shí)驗(yàn)教學(xué)效果。

      [ 參 考 文 獻(xiàn) ]

      [1] 趙敏.Matlab用于數(shù)字圖像處理的教學(xué)實(shí)踐研究[J].電腦知識與技術(shù),2012,8(31):7539–7540.

      [2] 李樹濤,胡秋偉.OpenCV在“數(shù)字圖像處理”課程教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2010,32(6):26–28.

      [3] 劉瑞禎,于仕琪.OpenCV教程[M].北京:北京航空航天大學(xué)出版社,2008.

      [4] 方玫.OpenCV技術(shù)在數(shù)字圖像處理中的應(yīng)用[J].北京教育學(xué)院學(xué)報(bào)(自然科學(xué)版),2011,6(1):7–11.

      [5] 郭艷光,趙希武.在高等計(jì)算機(jī)基礎(chǔ)教學(xué)中實(shí)施項(xiàng)目教學(xué)法的探索[J].計(jì)算機(jī)教育,2008,(6):48–49.

      [6] 何楚,馮倩,楊芳等.數(shù)字圖像處理課程實(shí)驗(yàn)教學(xué)過程設(shè)計(jì)[J].計(jì)算機(jī)教育,2011,(18):74–77.

      [責(zé)任編輯:戴禎杰]

      猜你喜歡
      數(shù)字圖像處理項(xiàng)目教學(xué)實(shí)驗(yàn)教學(xué)
      小議初中化學(xué)演示實(shí)驗(yàn)教學(xué)
      甘肅教育(2020年4期)2020-09-11 07:42:36
      電容器的實(shí)驗(yàn)教學(xué)
      物理之友(2020年12期)2020-07-16 05:39:20
      對初中化學(xué)實(shí)驗(yàn)教學(xué)的認(rèn)識和體會
      甘肅教育(2020年8期)2020-06-11 06:10:04
      數(shù)字圖像處理技術(shù)在當(dāng)前影像專業(yè)的作用探討
      信息與計(jì)算科學(xué)專業(yè)《數(shù)字圖像處理》課程教學(xué)探討與實(shí)踐
      考試周刊(2016年91期)2016-12-08 22:19:28
      幾何體在高中數(shù)學(xué)實(shí)驗(yàn)教學(xué)中的應(yīng)用
      基于項(xiàng)目教學(xué)的高校服裝設(shè)計(jì)教學(xué)現(xiàn)狀及對策
      戲劇之家(2016年19期)2016-10-31 19:41:17
      基于多元智能理論的高職項(xiàng)目教學(xué)分組學(xué)習(xí)探討
      職業(yè)(2016年10期)2016-10-20 22:01:04
      項(xiàng)目教學(xué)法在《基礎(chǔ)會計(jì)》課程中的應(yīng)用
      基于項(xiàng)目教學(xué)的人才培養(yǎng)模式改革
      科技視界(2016年22期)2016-10-18 16:06:13
      404 Not Found

      404 Not Found


      nginx
      法库县| 邵东县| 瓦房店市| 宁南县| 河北区| 贵港市| 高密市| 凤山县| 丽水市| 伊吾县| 上虞市| 昌江| 分宜县| 铁岭市| 东源县| 东至县| 波密县| 呈贡县| 鄂温| 镇原县| 东光县| 建瓯市| 望江县| 威宁| 绩溪县| 马关县| 修文县| 柳州市| 通州区| 太湖县| 嵩明县| 苏尼特右旗| 白朗县| 即墨市| 金湖县| 三明市| 眉山市| 建昌县| 南川市| 尤溪县| 西平县|