博客專欄

        EEPW首頁 > 博客 > LabVIEW色彩匹配實現顏色識別、顏色檢驗(基礎篇—13)

        LabVIEW色彩匹配實現顏色識別、顏色檢驗(基礎篇—13)

        發布人:美男子玩編程 時間:2022-06-22 來源:工程師 發布文章

        色彩匹配(Color Matching)是將模板圖像與待測圖像或其中某一區域的顏色進行比較,判斷它們是否相同或相近的過程。它可以用于顏色識別、顏色檢驗以及彩色對象定位等基于色彩信息比較的應用程序。


        色彩匹配通常分為色彩學習(Color Learning)和色彩比較(Color Comparing)兩步。

        • 在色彩學習階段,系統會對模板圖像或區域的顏色信息進行量化,并基于各種顏色及對應像素占總像素的百分比來生成顏色特征向量;

        • 在色彩比較階段,系統會將模板和待測圖像的顏色特征向量進行比較,并返回它們之間的相似度指標。


        如何才能判斷兩幅圖像中的顏色是否相同呢?


        當然是從圖像中不同顏色的像素統計信息入手。對于兩幅尺寸和顏色相同的圖像來說,圖像中每種顏色的像素數均相同。對于尺寸不同但顏色相同的圖像來說,圖像中每種顏色的像素數不相同,但是兩幅圖像中每種顏色的像素數占總像素數的比例卻相同。考慮通用性,可以將圖像中各種顏色對應的像素數占圖像總像素數的比例作為顏色比較的特征向量。


        但是,若對圖像中所有顏色都進行統計,生成的特征向量就會很大,這極不利于系統對實時性的要求。因此還要再進一步對特征向量進行優化。


        由于HSL色彩空間具有亮度和色彩信息分離的特點,因此可以將圖像轉換至HSL空間中,再基于色調和飽和度構成的色盤對顏色進行量化。這樣得到的顏色特征向量不僅不會受到亮度變化的影響,還能根據程序對顏色分辨率的需要,調整量化等級以減少特征向量的數據量。


        下圖顯示了提取圖像顏色特征向量的過程:


        圖片

        色譜提取


        首先彩色圖像被轉換至HSL色彩空間,以分離亮度和顏色信息。由于亮度128對應的色盤最大(中間),因此可以僅抽取該色盤進行量化。量化時先根據對顏色分辨率的需要,將色盤等分為多個扇區。顏色敏感度(color sensitivity)參數用來確定色盤具體被劃分為多少個扇區。


        Nl Vision采用低、中、高3擋顏色敏感度值來控制顏色的分辨率。低擋將色盤分為7個扇區,中擋將色盤分為14個扇區,高擋則將色盤分為28個扇區。扇區越多,說明量化的分辨率越高。色盤被等分為扇區后,就可以進一步沿著飽和度方向進行分割。Nl Vision將各扇區沿飽和度方向分為兩塊,具體分割位置由飽和度閾值(saturation threshold)決定,它控制了每個扇區分為兩塊的內圓的半徑。


        在色彩學習階段,機器視覺系統會從模板圖像或區域中提取其色譜。在匹配階段,機器視覺系統同樣會從目標圖像中提取其色譜,并比較其與模板圖像色譜的差異。而色譜之間的差異則可使用兩個向量之間的曼哈頓距離來定量評價。


        在實際中,為了補償色彩量化過程中可能發生的一些錯誤,一般都會在計算色譜之間的距離之前使用模糊權重函數對色譜進行加權。通過色譜間的曼哈頓距離(各元素間差異的絕對值求和),最終生成一個在0~1000之間的表示差異度的值。下圖顯示了上述色彩比較過程,其中0表示色譜之間沒有相似性,而1000分表示完美匹配。


        圖片


        綜上所述,色彩匹配實際上就是比較圖像或圖像區域的色譜與模板圖像的色譜是否相同或相近的過程。在學習階段,機器視覺系統會提取指定模板圖像或選擇圖像的色譜,其中圖像的顏色信息可以由一種或多種顏色組成。色譜提取過程可將圖像中的三維顏色信息量化表示為一維色譜。在顏色匹配階段,機器視覺系統會提取待測圖像中的色譜,并與學習到的模板色譜進行比較,最后計算色譜的匹配度。


        Nl Vision使用位于LabVIEW的視覺與運動→lmage Processing→Color Processing函數選板中的IMAQ Color Learn和IMAQ ColorMatch函數分別封裝了上述色彩學習和匹配過程。基于得到的色譜及其匹配度數據,機器視覺系統可設置閾值來實現顏色識別、顏色檢測、顏色定位以及其他基于色彩比較的應用程序,如下圖所示:


        圖片

         

        函數說明及使用可參見幫助手冊: 


        圖片



        1


        顏色識別



        顏色識別(Color ldentification)是指從預先定義的模板圖像色彩中搜尋與待測圖像顏色能最佳匹配者,以確定待測圖像顏色的歸屬。


        顏色識別應用一般會預先學習各種模板圖像的顏色,并將其連同圖像標簽保存至數據庫中。通過將被測圖像的顏色信息與數據庫中的記錄進行比較,獲取與其最接近的記錄,并返回對應的圖像標簽。


        通過一個一個顏色識別的實例程序了解其使用方法,程序設計思路如下所示:

        • 程序總體分為模板圖像顏色學習和顏色匹配兩部分,一開始先用For循環將存放在文件夾中的6幅模板圖像逐讀入內存,并用IMAQ ColorLearn提取各圖像的色譜,以供后續匹配過程進行比較;

        • 隨后,程序將待測圖像UUT.jpg讀入內存,并由For循環中的IMAQ ColorMatch計算其色譜,并與之前由IMAQ ColorLearn學習到的6個色譜逐一進行比較,以確定與之匹配的圖像;

        • 由于IMAQ ColorMatch可對同一ROl中的多個輪廓進行顏色匹配,因此其返回的匹配標記(Flag)和匹配度分值(Score)均為數組,其元素的值與ROI中輪廓的順序對應;

        • 對于整幅圖像匹配來說,相當于只有一個ROl和一個輪廓,因此僅取首個元素的值即可。由于程序設置了匹配度的閾值為800,因此從運行結果可以看到,被測圖像的顏色與第5幅模板圖像的顏色最匹配。


        程序實現如下所示:


        圖片


        程序效果如下所示:


        圖片



        2


        顏色檢驗



        顏色檢測(Color Inspection)是指通過檢查產品顏色是否與預知色彩相同來實現產品的缺陷檢測。如檢測產品是否缺少或有放錯的彩色部件,搜索彩色部件以及進行彩色標簽的缺陷檢測等。


        通過顏色檢測來檢查汽車保險絲安裝情況的實例,了解其使用方法,程序設計思路如下所示:

        • 程序一開始先讀取黃色保險絲模板圖像,并用IMAQ ColorLearn學習模板圖像的色譜;

        • 此后,While循環逐個將待測圖像文件夾中的圖像讀入內存,并調用IMAQ ColorMatch進行顏色匹配;

        • 由于指定的ROI中包含兩個對應于待測保險絲位置的矩形輪廓,因此IMAQ ColorMatch返回的匹配標志和匹配分值數組中的前兩個元素有效,分別按順序對應于對ROI中的兩個輪廓位置的檢測結果;

        • 根據返回的匹配標志的值是否為真,可以清楚獲知每個位置上的保險絲是否被正確安裝。

          只有當兩個位置上的保險絲均被正確安裝時,整個測試才能通過。


        程序實現如下所示:


        圖片


        程序能檢查第二行的第二和第三個位置是否正確安裝了型號為20的黃色保險絲。下面效果還顯示了檢測到ROI第一個輪廓對應位置未安裝保險絲的情況。同樣,當這兩個位置安裝的保險絲為其他類型時,測試也不能通過。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        fpga相關文章:fpga是什么


        可控硅相關文章:可控硅工作原理


        51單片機相關文章:51單片機教程


        比較器相關文章:比較器工作原理


        交換機相關文章:交換機工作原理


        晶振相關文章:晶振原理
        鎖相環相關文章:鎖相環原理


        關鍵詞: LabVIEW

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 格尔木市| 盖州市| 万州区| 张家川| 噶尔县| 阿图什市| 郓城县| 赞皇县| 建阳市| 普兰县| 阿克| 潞城市| 永清县| 铜山县| 神农架林区| 丹江口市| 卫辉市| 赣州市| 山东| 特克斯县| 永宁县| 资中县| 罗田县| 金坛市| 手游| 渑池县| 霸州市| 花垣县| 阿坝| 舒城县| 安康市| 阿鲁科尔沁旗| 桃园县| 榆社县| 开平市| 巴塘县| 紫阳县| 元朗区| 天气| 太保市| 沽源县|