• 
    

    
    

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

      ?

      基于OpenCV算法實現(xiàn)圖像處理軟件“焊點截取”

      2022-09-22 07:48:12劉卓帆袁銳
      電腦知識與技術 2022年23期
      關鍵詞:焊點圖像處理灰度

      劉卓帆,袁銳

      (廣東海洋大學,廣東湛江 524003)

      焊接也稱作熔接,是一種以加熱、高溫或者高壓的方式接合金屬或其他熱塑性材料如塑料的現(xiàn)代工藝過程,它已滲透到制造業(yè)的各個領域,直接影響產品質量[1]。在國內,大部分企業(yè)在焊接完成后,需要人工觀察、檢查焊接點處是否焊接成功。

      伴隨經(jīng)濟的高速發(fā)展,計算機視覺技術和它的相關的產業(yè)在近些年也逐漸興起。計算機視覺是用機器代替人眼對圖片進行觀察判斷,圖像處理是以計算機視覺為基石的技術,圖像處理技術已經(jīng)走入了實際的生產和應用中,成為生產環(huán)節(jié)的一種技術手段。

      1 開發(fā)環(huán)境

      軟件使用Anaconda編程集成包為開發(fā)工具,基于Python語言中Web框架的Jupyter Notebook設計與實現(xiàn)一款名為“焊點截取”的圖像處理軟件。程序開發(fā)庫主要包括:Tkinter、OpenCV、PIL、Torchvision、Os等庫和標記語言Markdown。開發(fā)環(huán)境為:操作系統(tǒng)Win10(64位)、開發(fā)語言Python3.8.0、Web應用程序Jupyter Notebook交互式筆記本。

      考慮到運行效率和軟件的后期開發(fā)和維護,使用Jupyter Notebook實現(xiàn),在一定程度上提高了可維護性、可行性,為后續(xù)軟件迭代發(fā)展打下基礎。軟件的主要功能需要使用到可以加載圖片、查看圖片形狀和分辨率、顯示圖片、調整圖像大小,用于解決計算機視覺問題的OpenCV庫[2];可以直接創(chuàng)建、排版簡單、可讀、直觀、學習成本低、支持插入圖片、輕松地導出HTML、md文件的Markdown;Python的標準GUI庫Tkinter;Python的圖像處理庫PIL庫;Pytorch圖形庫中的torchvision庫,以及Python中整理文件和目錄最為常用的模塊os庫。這些庫函數(shù)很大程度上方便了開發(fā)和優(yōu)化了開發(fā)的代碼,使軟件代碼的使用周期更為長久。利用Mardown標記語言,使得軟件的代碼樣式鮮明,增強代碼的可讀性,便于后續(xù)觀察、修改、復制。

      2 總體設計

      整體界面設計基于OpenCV計算機視覺庫實現(xiàn)的圖像處理軟件“焊點截取”的功能模塊圖,見圖1。

      圖1 焊點截取的功能模塊圖

      2.1 庫導入和創(chuàng)建界面

      在實現(xiàn)功能操作前需要將本設計用的Python第三方庫全部導入到工程項目中,包括Tkinter、OpenCV、PIL、Os、PIL、numpy、Torchvision等。其中numpy工具包是一個由多維數(shù)組對象和用于處理數(shù)組的例程集合組成的庫,支持大量高維度數(shù)組與矩陣運算。而圖片正是龐大的二維或者三維矩陣,圖像處理涉及對數(shù)組的變換和運算。

      2.2 二值化

      二值化是圖像分割的一種方法,二值化是把灰度圖像轉換成為二值圖像[3]。二值化的過程是,設置一個臨界值,把大于這個臨界值的像素變成預先設置好的灰度極大值,把小于這個臨界值的像素變成預先設置好的灰度極小值,由此達到二值化的效果。用這種方法可以簡化數(shù)字圖像信息,提高處理的速度。

      2.3 飽和度

      飽和度指色彩的鮮艷程度,在色彩學中,原色飽和度最高,隨著飽和度降低,色彩變得暗淡直至成為無彩色,即失去色相的色彩[4]。色彩作為信息的載體,它不僅適用于設計形式,還作為傳達信息的主體。可以通過調節(jié)飽和度對數(shù)字圖像中的次要信息進行過濾。

      2.4 rect核運算

      rect核就是一個小的矩陣,在形態(tài)學操作過程中,通常是對二值化后的圖像進行操作,此過程中的對象一般有兩個,一個是原圖像,即要進行處理的圖像,另一個就是核或者結構化元素。核可以看作是一個矩陣,這個矩陣由數(shù)組構成可以自由定義,也可以通過getStructuringElement函數(shù)獲得指定rect核的大?。⊿ize(a,b)就是a*b大小的矩陣)和形狀(方形、圓形等)核。核在圖像處理中的作用過程,就是rect核矩陣從原始圖像的左上角開始滑動,遍歷完整個圖像的同時一直進行運算的過程,這個過程中會給每一個點賦予新的值,從而實現(xiàn)不同的形態(tài)學處理。

      利用核與圖像之間進行卷積運算來實現(xiàn)圖像處理,在圖片模糊、銳化、凹凸、邊緣檢測等過程中都會用卷積運算實現(xiàn)。

      2.5 開運算和閉運算

      介紹開運算、閉運算前,要先介紹形態(tài)學處理操作中的腐蝕、膨脹操作。膨脹操作是根據(jù)選擇的核的大小對圖像進行膨脹處理,連接起來圖塊的最外圍增加相應的圖塊。腐蝕操作則會根據(jù)選擇的核的大小對圖像進行腐蝕處理,將連接起來圖塊的最外圍的灰度值或者RGB值變?yōu)?。

      閉運算先膨脹后腐蝕,把中心比較大的塊連接為一個整體,填補了空白的縫隙,開運算先腐蝕后膨脹,它對圖像輪廓進行平滑操作,可以達到去除了邊緣小點,使得焊接點邊緣變得圓潤的作用。

      2.6 隨機灰度化

      將一幅擁有RGB三通道的彩色圖像轉化為只擁有一條灰度通道的圖像這一過程稱為灰度化處理。這種方法會丟失原始圖像的色彩信息,但由于RGB三通道變成了灰度通道后矩陣維數(shù)下降,需要處理的數(shù)據(jù)呈幾何級下降,使得圖像處理的運算速度大幅度提高。

      2.7 調節(jié)圖像亮度、對比度、色度

      亮度是圖像的明暗程度,對比度是指圖像顏色種類的多少,色度劃分是為了便于以一定標準指定各式各樣的顏色,其實質上是一個標準系統(tǒng),通過系統(tǒng)中的點來代表每一種顏色。可以對圖像的色調范圍進行調整,增加亮度或者陰影,將不合適獲取焊接點區(qū)域的圖片進行修正。

      2.8 高斯濾波

      高斯濾波[5]是線性平滑濾波的一種,對于那些服從正態(tài)分布的噪聲有很好的抑制作用,適用于消除高斯噪聲。在實際場景中,通常都會假設圖像中包含的噪聲為高斯白噪聲,在許多圖像預處理的過程中,都會使用高斯濾波進行降噪。

      高斯濾波和均值濾波相似,都是利用一個掩膜和圖像進行卷積求解。高斯濾波的模板系數(shù)會隨著距離模板中心距離的增大而減小并且服從二維高斯分布。所以高斯濾波器相較于均值濾波器而言,對圖像模糊程度比較小。本設計為了保持圖像的整體細節(jié),使用高斯濾波對圖像進行噪點抑制。

      2.9 預處理過程

      本設計通過灰度化將圖片變成灰度圖,減小圖像原始數(shù)據(jù)量,便于后續(xù)處理時計算量更少,以此提高焊接點區(qū)域截取的正確性和正確率。使用進行圖像分割的二值化方法,用多個閾值和多個二值化方法將焊接區(qū)域和背景分離簡化,便于后期的處理,選取出最優(yōu)的二值化方法進一步提高處理速度。在圖像的預處理中使用圖像增強模塊中的其他功能,它們主要用于提取圖像中的感興趣區(qū)域[6]、對表達和描繪有意義的區(qū)域。感興趣區(qū)域是指圖片中蘊含信息量最密集的區(qū)域。如軟件中的焊接點區(qū)域,使后續(xù)的識別工作能夠抓住圖像焊接點區(qū)域,提高程序區(qū)分形狀特征的能力,成為圖像增強技術的有力補充。預處理前后對比見圖2。

      圖2 綜合對比圖

      2.10 選擇圖片

      設計圖片的選擇的功能鍵需要使用到前文的提到過的tkinter庫、os庫、Torchvision庫和PIL庫。

      os模塊提供Python程序與操作系統(tǒng)進行交互的接口,tkinter庫進行窗口視窗設計,Torchvision庫中vision.transforms工具庫將圖片按比例變?yōu)殚L300寬400的圖像方便在圖像顯示區(qū)顯示、PIL庫進行圖像的存儲和顯示。

      2.11 保存圖片

      保存圖片的功能鍵,只需要使用到os模塊提供的接口,將程序與操作系統(tǒng)進行交互。在os模塊提供的接口前需要定義outfile的路徑。

      2.12 顯示路徑

      在本文前面提到的選擇圖片和保存圖片,都需要顯示路徑這項功能將程序與用戶操作相連接來實現(xiàn)。顯示路徑的功能實現(xiàn)只需要用到tkinter庫,事實上它就是一種面向對象的GUI工具包TK的Python編程接口,提供了快速便利地創(chuàng)建Python GUI應用程序的方法。

      2.13 退出和按鈕設計

      目前的計算機桌面應用程序大多數(shù)為圖形化的用戶界面,結束功能通過鼠標對菜單、按鈕等圖形化元素觸發(fā)指令,并從標簽、對話框等圖形化顯示容器中獲取人機對話信息。按鈕上的信息就是獲取人機對話信息,而按鈕就是人機對話的重要工具。按鈕設計只需要用到tkinter庫就可以快速便利地實現(xiàn),退出功能只需要將tkinter打開的win窗口關掉就可以實現(xiàn)。

      2.14 焊接點區(qū)域獲取

      焊接直接影響產品質量、可靠性、壽命、生產成本、效率以及市場反應速度。焊接點是金屬焊件或者塑料焊件熔焊時,焊件接觸的位置。通常情況下焊接的質量通過焊接點的熔接情況判斷。焊接點區(qū)域獲取的功能鍵需要使用到前文的提到過的findContours函數(shù)找出焊接點輪廓,通過OpenCV計算出最大輪廓的旋轉邊界框,提取出輪廓中面積最大的矩形,最后在原圖中進行截取。截取效果見圖3。

      圖3 整體界面圖

      2.15 整體實現(xiàn)

      界面的總體設計如圖3所示,分為三大模塊:圖像增強模塊、基礎模塊、圖像分析模塊。其中圖像分析模塊是整個系統(tǒng)的核心模塊,它的功能是截取處理加工后圖像的焊接點區(qū)域。基礎模塊的功能包括:圖像處理前的圖片選擇功能、圖像處理后的保存圖片功能、退出功能。圖像增強模塊的功能包括:分離背景和目標的二值化功能、飽和度功能、rect核運算功能、開運算功能、閉運算功能、隨機灰度化功能、亮度、色度、對比度、調節(jié)功能。

      3 結束語

      “焊點截取”進行操作后新的圖像立刻呈現(xiàn),處理速度快,使軟件反饋時間短,增強用戶體驗;圖像處理方法可控,處理后的圖片結果,更加精確;界面極簡,功能界面一目了然,適用于工業(yè)應用。

      本設計還可以單獨使用空間域增強模塊對圖片目標進行縮小、放大、分離、結合和圖片像素修復,使用戶可以快速得到自己想要的效果圖?!昂更c截取”這款軟件的應用具有可平移性,“焊點”區(qū)域可以根據(jù)不同的目標問題修改成“感興趣區(qū)域”。如:在醫(yī)學成像中,測量腫瘤的邊界,判斷腫瘤的大?。辉谠u估心臟功能時,測量心內膜邊界,判斷心動周期的不同階段;測量2D地圖中特殊的多邊形區(qū)域,錄入地理信息系統(tǒng)中。在這些應用中都可以使用“焊點截取”這款軟件。

      實際的測試的過程中,本設計與運用神經(jīng)網(wǎng)絡的圖片截取焊接點區(qū)域相比,傳統(tǒng)算法實現(xiàn)的圖像處理雖然比較方便,但是魯棒性較差。由于含標簽的焊接圖片庫較小,神經(jīng)網(wǎng)絡算法不適用。這些問題在以后的程序開發(fā)中,可以嘗試人工添加標簽后,結合神經(jīng)網(wǎng)絡或者傳統(tǒng)算法和神經(jīng)網(wǎng)絡算法相互結合等方法進行優(yōu)化,實現(xiàn)全自動焊接點質檢,完成軟件迭代。

      猜你喜歡
      焊點圖像處理灰度
      采用改進導重法的拓撲結構灰度單元過濾技術
      基于灰度拉伸的圖像水位識別方法研究
      高技術通訊(2021年3期)2021-06-09 06:57:48
      機器學習在圖像處理中的應用
      電子制作(2018年18期)2018-11-14 01:48:20
      模糊圖像處理,刑事偵查利器
      圖像處理技術的實戰(zhàn)應用
      基于最大加權投影求解的彩色圖像灰度化對比度保留算法
      自動化學報(2017年5期)2017-05-14 06:20:56
      基于灰度線性建模的亞像素圖像抖動量計算
      焊盤尺寸對SMT焊點可靠性的影響
      DH36鋼摩擦疊焊焊點分布規(guī)律研究
      焊接(2016年2期)2016-02-27 13:01:14
      基于特征聚集度的FCM-RSVM算法及其在人工焊點缺陷識別中的應用
      安仁县| 繁峙县| 盐边县| 大厂| 雷州市| 洞口县| 米易县| 富阳市| 香格里拉县| 阿城市| 前郭尔| 泗水县| 西充县| 宜阳县| 南平市| 驻马店市| 甘谷县| 永仁县| 比如县| 楚雄市| 施甸县| 红河县| 英德市| 麻江县| 驻马店市| 承德市| 肃南| 桂林市| 乐业县| 盐亭县| 射阳县| 温泉县| 万山特区| 汕头市| 万载县| 社会| 英吉沙县| 叙永县| 大姚县| 伊宁市| 沙雅县|