2
我圖的*訂單cvScalar
你確認什麼是正確的順序如下:
- x和y:X的寬度和y爲圖像的高度?
B,G和R:OpenCV顏色順序?
CvScalar scal = cvGet2D(img, x, y); blue_lum=scal.val[0]; green_lum=scal.val[1]; red_lum=scal.val[2];
- 3Channel圖像的順序?通道1是B,通道3是R?
我圖的*訂單cvScalar
你確認什麼是正確的順序如下:
B,G和R:OpenCV顏色順序?
CvScalar scal = cvGet2D(img, x, y);
blue_lum=scal.val[0];
green_lum=scal.val[1];
red_lum=scal.val[2];
檢查這個(core_c.h LN 1264):
#define CV_RGB(r, g, b) cvScalar((b), (g), (r), 0)
CvScalar的順序是RGB,而在opencv中的imread方法的順序是BGR。
Canberk巴契然後。 scal.val [0]用於RED,scal.val [2]用於GREEN? – MelMed
我想你想在這裏獲得像素顏色強度。我相信get2d返回BGR訂單;所以你的任務是真實的。我以爲你在問cvScalar構造函數,它創建了RGB。你爲什麼不用全藍色的圖像測試它,看看? – baci
但是我可以向你保證,如果你想使用'scal'作爲方法的顏色輸入,這將是錯誤的。使用cvtColor(img,img,CV_BGR2RGB);在任何事情擺脫困惑之前 – baci