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

基于PyQt5的數字圖像處理實驗平臺設計

2021-05-19 01:42:28陸安琴秦嬋嬋胡圣波李國慶郭子義李凌云
電子元器件與信息技術 2021年2期
關鍵詞:界面實驗

陸安琴,秦嬋嬋,2*,胡圣波,2,李國慶,郭子義,2,李凌云

(1.貴州師范大學智能信息處理研究所,貴州 貴陽 550001;2.貴州省教育廳射頻識別與傳感網絡工程中心,貴州 貴陽 550001;3. 華中師范大學物理科學與技術學院,湖北 武漢 430079)

0 引言

《數字圖像處理》是初學者學習計算機視覺和圖像處理的入門教程,是模式識別和機器視覺研究方向的核心課程。對于該門課程,教師授課難點是只能通過課本向學生講述數字圖像處理的基本原理和理論知識。學生如果只借助課本去學習,內容太抽象,對于課本中具體內容的理解還存在一定的欠缺[1-3]。

基于上述的分析,本文開發了一個基于PyQt5的數字圖像處理實驗平臺,該實驗平臺是數字圖像處理的輔助學習工具,簡單易操作,便于學生系統、全面地掌握數字圖像處理的基本原理和經典算法。實驗平臺界面分為菜單欄、工具欄、工作區和狀態欄為四個功能模塊,菜單欄是放置一些主要操作,工具欄放置一些圖像、文字等內容,細節操作和快捷操作,工作區是用于顯示,狀態欄顯示頁面提示內容。該平臺是集良好的實用性、交互性、移植性于一體,便于教學的數字圖像處理實驗平臺。

1 實驗平臺的設計思路

基于PyQt5的數字圖像處理實驗平臺是以《數字圖像處理》課程理論為基礎,在實驗平臺界面加入實踐教學的內容,實驗平臺系統架構如圖1所示。主要包括五個模塊,即邊緣檢測與分割、圖像變換、圖像濾波、圖像改善和綜合實例。該實驗平臺將課本中復雜的理論內容通過不同模塊來展示。

2 實驗平臺的設計與實現

實驗平臺包含了5個模塊的實踐教學內容,通過PyQt5中的Qt Designer來創建GUI主界面,在主界面創建一個Qmainwindow主窗口,分別在主窗口上創建菜單欄、工具欄、工作區、狀態欄等部件,在工作區創建控件QGraphicsView和QLabel,用于顯示圖片信息。窗口界面創建好后保存到文件夾下,會生成一個后綴為.ui的文件,然后使用pyui5將.ui轉化為.py文件。在命令行編輯指令$File Name $ -o $FileName Without Extension$.py -x,運行后就會生成一個.py的文件。然后將.py文件打包成.exe文件,用戶通過雙擊.exe程序可執行文件,進入到實驗平臺的主界面進行相應的操作。實驗平臺GUI主界面如圖2所示:

圖1 實驗平臺系統架構圖

圖2 主界面

2.1 功能設計

本實驗平臺從圖像改善、圖像變換、圖像濾波、邊緣檢測與分割和綜合實例五個方面進行界面布局。每個模塊分別詳細向學生展示了圖像處理過程和結果,學生通過選擇某一模塊的功能,就會跳轉到相應的子界面,然后進行對應的操作。通過這種方式,可以幫助學生真正掌握圖像處理的內容和原理。教師通過實驗平臺的輔助,在講授理論基礎和基本原理的時候,可以通過實際操作,更直觀的向學生闡述算法處理的結果,提升教學效果和質量。

2.1.1 圖像改善

圖像增強[4]是將圖像中不感興趣的區域弱化,突顯出目標區域,改善圖像質量,增強識別效果。圖像增強結果如圖3所示。

圖3 圖像增強結果

圖像復原是將受損的圖像盡可能恢復成接近原始圖像的過程,實現圖像的最優化。由于受損的圖像存在噪聲[5,6]和干擾等未知因素,所以圖像復原過程中會存在很多未知性。通過inpaint()函數實現圖像復原,圖4是復原的結果。

圖4 圖像復原結果

部分代碼如下:

thresh=cv2.inRange(self.im, np.array([240, 240, 240]), np .array ([255, 255, 255])) #圖片二值化處理

kernel = np.ones((3, 3), np.uint8)

hi_mask=cv2.dilate(thresh, kernel, iterations=1)

self.im=cv2.inpaint(self.im,hi_mask,5,flags= cv2.INPAINT_TELEA) #圖像擴張和復原

2.1.2 圖像變換

圖像變換是指圖像由一種狀態轉換為另一種狀態的過程,具體內容包括圖像旋轉、圖像鏡像和圖像縮放等基本內容。圖像變換可用于數據增強,制作訓練數據集和測試數據集,解決了圖片數據量不足導致圖像分割、目標追蹤等圖像處理結果準確率不高的問題。

圖像旋轉通過將圖像以某一點為中心旋轉一定的角度,得到一張新的圖像。圖像旋轉具有的屬性是旋轉前和旋轉后的點離中心的位置不變。通過flip()函數實現圖像的旋轉。

水平鏡像是選取目標圖像的垂直中軸線作為中心線,將圖像左右兩邊的圖像調換,得到一張新的圖像。垂直鏡像是選取目標圖像的水平中軸線為中心線,將圖像上下的圖像調換,得到一張新的圖像。通過transpose()函數實現圖像位置的調換,達到鏡像效果。

圖像縮放是通過改變圖像的大小來進而圖像中像素的質量,滿足用戶需求。當圖像放大時,圖像中的像素的識別度也會提高;當圖像縮小時,圖像的平滑度和清晰度會增強。通過scale()函數控制圖片的縮放,調整圖圖像縮放片的大小。圖5是圖像變換的結果。

圖5 圖像變換結果

部分代碼如下:

self.text11 = float(self.text1)

M=cv2.getRotationMatrix2D((cols/2,rows/2),self.text11, 1)

self.text33 = float(self.text3)

sfwidth1 = sfwidth * self.text33

sfheight1 = sfheight * self.text33

self.re_bh_lb.resize(sfwidth1,sfheight1)

2.1.3 圖像濾波

圖像濾波指的是在保留目標圖像的細節特征的同時對其包含的噪聲進行處理。主要內容包括均值濾波、中值濾波和高斯濾波等。

均值濾波是指選中某一目標像素,然后求出目標像素相鄰的像素的平均值,用該平均值來代替目標像素的值,通過blur()函數實現均值濾波。圖6是均值濾波結果。

中值濾波是指求出圖像中每個像素領域的像素的中值,然后用該中代替圖像中每個像素的值通過medianBlur()函數實現濾波過程。

高斯濾波是指求出圖像中每個點以及領域內其他點的像素值,然后進行加權平均,通過GaussianBlur()函數實現高斯濾波,圖7是高斯濾波結果。

圖6 均值濾波結果

部分代碼如下:

self.text11 = float(self.text1)

M=cv2.getRotationMatrix2D((cols/2,rows/2),self.text11, 1)

self.text33 = float(self.text3)

sfwidth1 = sfwidth * self.text33

sfheight1 = sfheight * self.text33

self.re_bh_lb.resize(sfwidth1,sfheight1)

圖7 高斯濾波結果

2.1.4 邊緣檢測與分割

邊緣檢測利用不同的邊緣檢測算子實現對圖像邊緣的提取,所用的算子包括Robert、Sobel算子和Canny算子。通過算子將圖像中亮度對比明顯的像素點標注出來,常用edge()函數來實現該過程。此功能可對灰度圖像進行處理,根據不同的算子,在函數調用中分別選擇Robel、Sobel、Canny實現不同算子的處理結果。圖8是邊緣檢測結果。

圖8 邊緣檢測結果

部分代碼如下:

img1 = cv2.imread(self.img)

a = cv2.Sobel(img1, cv2.CV_16S, 1, 0)

a = cv2.Sobel(img1, cv2.CV_16S, 0, 1)

s_a = cv2.convertScaleAbs(a)

s_b = cv2.convertScaleAbs(b)

self.im = cv2.addWeighted(s_a, 0.5, s_b, 0.5, 0)

自動圖像分割是指向計算機輸入算法,計算機根據算法分割出滿足約束條件的目標區域。具體包括閾值分割[7,8]、超像素分割、基于區域的分割等。圖9是閾值分割結果。

圖9 閾值分割結果

交互式圖像分割[9,10]是指向圖像中加入用戶交互信息,即先驗知識,幫助計算機更好地分割目標區域。實驗平臺展示了以一種基于深度學習的交互式圖像分割方法,通過融入極值點特征,將RGB圖像和極值點特征級聯輸入到神經網絡,經過神經網絡進行卷積、池化等操作,提取出目標的特征,通過輸出層輸出。相對于傳統的自動分割方法,該方法特征提取更高效、精確、完整。圖10是交互式分割結果。

圖10 交互式分割結果

主要代碼如下:

dmap=cv2.distanceTransform(tmp,cv2.DIST_L2,cv2.DIST_MASK_PRECISE)

merge_input=np.concatenate((img3,dismap),ax is=2).

inputs = inputs.to(device)

outputs = net.forward(inputs)

2.1.5 綜合案例

車牌識別是圖像識別技術在車輛牌照識別中的關鍵技術,該技術有利于車輛管理,電子收費,車輛違章監控,還能通過融合DSRC技術識別車輛身份,本實驗平臺首先讀取圖像數據,對圖像進行濾波、二值化等預處理,然后通過OpenCV和Canny算子對預處理后的圖像進行輪廓查找,根據一些參數來判斷查找到輪廓是否為車牌輪廓。車牌識別結果如圖11、圖12所示:

圖11 車牌識別結果

圖12 車牌識別結果

3 結語

本文利用Python強大的數值計算、數據分析和圖像處理的能力,基于PyQt5設計了一款圖形用戶界面圖像處理實驗平臺,實驗平臺集成五大模塊,通過實現圖像改善、圖像變換、圖像濾波、邊緣檢測與分割等功能,涵蓋了數字圖像處理基礎及進階技術,并通過綜合實例闡述了本系統在圖像識別中的應用,使圖像處理可視化更加直觀,便捷。實驗平臺操作簡單、界面友好,具有良好的實用性、交互性、移植性。用戶可以通過自行添加模塊設置,修改對應的參數,編寫回調函數,即可讓實驗平臺發揮更多的功能操作,讓圖像處理更豐富多彩。現今,數字圖像處理呈現出高靈活、廣適用、通用強、高精度的特點,應用領域涉及人類生活各個方面,通過設計這一圖像處理系統,不僅方便教學,也為圖像領域的研究人員提供了分析和解決問題的工具。

猜你喜歡
界面實驗
記一次有趣的實驗
微型實驗里看“燃燒”
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
做個怪怪長實驗
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
空間界面
金秋(2017年4期)2017-06-07 08:22:16
電子顯微打開材料界面世界之門
人機交互界面發展趨勢研究
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 欧美影院久久| 91外围女在线观看| 久久婷婷人人澡人人爱91| 亚洲成人播放| 香蕉蕉亚亚洲aav综合| 呦视频在线一区二区三区| 中文字幕日韩视频欧美一区| 午夜无码一区二区三区在线app| 国产精品欧美在线观看| 久久精品aⅴ无码中文字幕| 黄色网在线免费观看| 日韩二区三区无| 青青草国产在线视频| 午夜精品影院| 成年午夜精品久久精品| 国产99精品久久| 亚洲 日韩 激情 无码 中出| 4虎影视国产在线观看精品| 丝袜国产一区| 在线观看欧美精品二区| 欧美精品在线看| 激情爆乳一区二区| 看看一级毛片| 在线人成精品免费视频| 国产成人精品三级| 婷婷综合色| 久久精品一品道久久精品 | 亚洲第一成人在线| 国产成人精品在线| 99久久精品久久久久久婷婷| 亚洲码一区二区三区| 综合色区亚洲熟妇在线| 精品午夜国产福利观看| 玖玖精品视频在线观看| 性喷潮久久久久久久久| 性欧美在线| P尤物久久99国产综合精品| 亚洲国产av无码综合原创国产| 18禁色诱爆乳网站| 国产精品爽爽va在线无码观看 | 欧美日韩中文国产| 国产精品亚洲一区二区三区在线观看| 国产精品一区在线麻豆| 久久精品无码国产一区二区三区| 中文字幕无码电影| 99无码中文字幕视频| 国产99在线| 国产a网站| 制服丝袜国产精品| 先锋资源久久| 中国黄色一级视频| 成人午夜视频网站| 在线观看欧美精品二区| 国产成人永久免费视频| 亚洲欧美另类专区| 四虎影院国产| 亚洲国产欧美国产综合久久| 亚洲免费成人网| 一区二区三区四区精品视频| 国产老女人精品免费视频| 国产欧美日韩视频一区二区三区| 国产精品手机在线观看你懂的 | 国产在线观看91精品| 女人av社区男人的天堂| 免费看一级毛片波多结衣| 日韩视频免费| 欧美爱爱网| 91久久国产热精品免费| 欧美黄网站免费观看| 亚洲一区毛片| 国产成人啪视频一区二区三区| 91网站国产| 青青草国产一区二区三区| 欧美精品1区2区| 欧美伦理一区| 青青草国产免费国产| 亚洲天堂久久| yy6080理论大片一级久久| 色老二精品视频在线观看| 波多野结衣无码AV在线| 国产精品欧美日本韩免费一区二区三区不卡| 国产在线观看人成激情视频|