2017-06-14 80 views
-3

我正在開發使用Android的圖像處理應用程序。我對色彩空間和頻道感到困惑。我的問題是:Opencv是基於BGR顏色的,因此當我使用Android拍照時,它將採用RGB格式,我想將RGB轉換爲Lab,因此轉換後Lab顏色空間中的通道順序如何。是 L:0 A:1- B:2 或 L:2 A:1- B:0Opencv色彩空間和頻道

任何幫助理解。

回答

0

前者;他們總是按通道順序列出。 BGRB:0, G:1, R:2LabL:0, a:1, b:2HSVH:0, S:1, V:2

您可以檢查出RGBOpenCV docsLab轉換,這表明用來做轉換的實際公式。

+0

感謝您的回答。然而,我遵循一些教程,它只用於在沒有L的A-B通道中獲取圖像,如下所示:Imgproc.cvtColor(srcOrig,srcOrig,Imgproc.COLOR_RGBA2RGB); \t \t \t Imgproc.cvtColor(src,imgLab,Imgproc.COLOR_RGB2Lab,3); List lab_planes = new ArrayList (3); Core.split(imgLab,lab_planes); Mat channel = lab_planes.get(2); \t \t \t channel = Mat.zeros(imgLab.rows(),imgLab.cols(),CvType.CV_8UC1); //在實驗室色彩空間中只使用AB通道 lab_planes.set(2,channel); Core.merge(lab_planes,imgLab);所以我用2,這是正確的,或者我需要將其更改爲0。 – Nani