視覺中是一個(gè)“該用才用”的工具)
彩色圖像分析在工業(yè)視覺中是一個(gè)“該用才用”的工具。絕大多數(shù)測(cè)量和定位任務(wù)用灰度圖就能完成但當(dāng)顏色本身是檢測(cè)目標(biāo)時(shí)彩色分析就不可替代了。什么時(shí)候必須用彩色灰度圖把顏色信息壓縮成了亮度。如果兩個(gè)物體的顏色不同但亮度相近灰度圖里它們看起來一樣彩色圖才能區(qū)分。典型必須用彩色的場(chǎng)景線序檢測(cè)線束中紅、藍(lán)、黃線的排列順序顏色就是檢測(cè)目標(biāo)顏色分選LED 燈珠的色溫分級(jí)、塑料粒子的顏色分揀印刷品色差包裝印刷的顏色一致性檢測(cè)食品分揀水果成熟度、烘焙程度判斷標(biāo)記識(shí)別不同顏色的標(biāo)簽、標(biāo)記點(diǎn)區(qū)分顏色空間RGB 不是最佳選擇RGB 是最直觀的顏色表示但它有一個(gè)致命問題三個(gè)通道高度相關(guān)。光照強(qiáng)度一變R、G、B 三個(gè)值同時(shí)變化你很難把“顏色變化”和“亮度變化”分開。HSV 是工業(yè)視覺中最常用的顏色空間因?yàn)樗杨伾畔⒔怦盍薍Hue色相顏色的種類紅、綠、藍(lán)0-360°SSaturation飽和度顏色的純度0 是灰色1 是純色VValue明度顏色的亮度HSV 的核心優(yōu)勢(shì)是H 通道對(duì)光照變化不敏感。只要色相不變光照強(qiáng)一點(diǎn)弱一點(diǎn)H 值基本穩(wěn)定。這讓顏色檢測(cè)在光照波動(dòng)時(shí)更魯棒。// OpenCV: BGR → HSVMathsvnewMat();Cv2.CvtColor(bgr,hsv,ColorConversionCodes.BGR2HSV);// 提取 H 通道做顏色分析Mat[]channelsCv2.Split(hsv);Mathuechannels[0];顏色分割用 inRange 做閾值灰度圖用一個(gè)閾值就能分割彩色圖需要三個(gè)通道同時(shí)限定范圍。OpenCV 的InRange正是干這個(gè)的。// 檢測(cè)紅色區(qū)域紅色在 HSV 中跨越 0° 和 180°需要兩段Matmask1newMat(),mask2newMat(),redMasknewMat();Cv2.InRange(hsv,newScalar(0,100,100),newScalar(10,255,255),mask1);Cv2.InRange(hsv,newScalar(170,100,100),newScalar(180,255,255),mask2);Cv2.BitwiseOr(mask1,mask2,redMask);// 對(duì) mask 做形態(tài)學(xué)清理和 Blob 分析Cv2.MorphologyEx(redMask,redMask,MorphTypes.Open,kernel);Cv2.FindContours(redMask,outvarcontours,out_,RetrievalModes.External,ContourApproximationModes.ApproxSimple);關(guān)鍵點(diǎn)紅色的 H 值在 HSV 中位于 0° 附近和 180° 附近兩段因?yàn)樯嗍黔h(huán)形的必須用兩個(gè)范圍合并否則會(huì)漏掉一部分紅色。顏色分類從像素到類別分割出顏色區(qū)域后需要判斷它屬于哪個(gè)顏色類別。最簡單的方法是計(jì)算區(qū)域內(nèi)的平均 HSV 值然后與預(yù)定義的顏色中心比較。// 計(jì)算紅色區(qū)域的平均 HSVScalarmeanHsvCv2.Mean(hsv,redMask);doubleavgHuemeanHsv.Val0;// 平均色相// 判斷顏色類別stringcolorName;if(avgHue15||avgHue170)colorName紅;elseif(avgHue45)colorName橙/黃;elseif(avgHue75)colorName綠;elseif(avgHue130)colorName藍(lán);elsecolorName紫;更魯棒的方法是在 Lab 顏色空間計(jì)算色差ΔE。Lab 空間的設(shè)計(jì)目標(biāo)就是“人眼感知均勻”——兩個(gè)顏色的 ΔE 越小人眼看越接近。工業(yè)色差檢測(cè)常用 ΔE 2 作為“肉眼不可分辨”的閾值。光照是彩色分析的最大敵人彩色分析比灰度分析更怕光照變化。同一個(gè)紅色物體在暖光和冷光下拍出來R 和 B 的值會(huì)明顯不同。工程上的應(yīng)對(duì)策略固定光源色溫使用同色溫的光源避免混用暖光和冷光白平衡校準(zhǔn)拍攝前用白紙做白平衡讓白色物體在圖像中呈現(xiàn)為 RGB 等值優(yōu)先用 H 通道H 通道對(duì)光照強(qiáng)度不敏感是顏色檢測(cè)的首選建立顏色參考在視野中放置標(biāo)準(zhǔn)色卡每次檢測(cè)前校準(zhǔn)顏色基準(zhǔn)一句話總結(jié)彩色圖像分析的核心是用 HSV 解耦顏色和亮度用 InRange 做顏色分割用 Blob 分析定位顏色區(qū)域。它的適用場(chǎng)景很明確當(dāng)顏色本身就是檢測(cè)目標(biāo)時(shí)。對(duì)于測(cè)量、定位、缺陷檢測(cè)等不依賴顏色的任務(wù)灰度圖仍然是更簡單、更快速、更穩(wěn)定的選擇。