0
我有一個問題,我正確地使用我的矩陣類型從rgb到lms顏色空間與opencv的顏色轉換。我發現的論文是here。我想要做的只是計算lms顏色三元組如下:RGB到LMS顏色空間轉換與OpenCV
Mat actRGBVec = new Mat(1,3,Imgproc.COLOR_RGB2BGR);
Mat lmsResVec = new Mat(1,3,CvType.CV_64FC3);
lmsMat = new Mat(inputImg.rows(),inputImg.cols(),CvType.CV_64FC3);
// iterate through all pixels and multiply rgb values with the lms transformation matrix
try {
for (int x = 0; x < inputImg.rows(); x++) {
for (int y = 0; y < inputImg.cols(); y++) {
actRGBVal = inputImg.get(x, y);
// vector holding rgb info
actRGBVec.put(0, 0, actRGBVal);
Core.gemm(lmsTransformMat, actRGBVec, 1, null, 0, lmsResVec, 0);
lmsMat.put(x, y, lmsResVec.get(0, 0));
}
}
}
catch (Exception e) {
Log.d("ImageHandler","Error rgb to lms conversion! " + e.getMessage());
}
lmsMat是CV_64FC3類型。 inputImg的類型爲Imgproc.COLOR_RGB2BGR。 lmsTransformMat的類型是CV_64FC1(因爲它只包含標量值,這應該是正確的類型?)。
異常說:錯誤rgb到lms的轉換! null 我在這裏做錯了什麼?