2013-07-09 56 views
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?

回答

4

檢查這個(core_c.h LN 1264):

#define CV_RGB(r, g, b) cvScalar((b), (g), (r), 0) 
0

CvScalar的順序是RGB,而在opencv中的imread方法的順序是BGR。

+0

Canberk巴契然後。 scal.val [0]用於RED,scal.val [2]用於GREEN? – MelMed

+0

我想你想在這裏獲得像素顏色強度。我相信get2d返回BGR訂單;所以你的任務是真實的。我以爲你在問cvScalar構造函數,它創建了RGB。你爲什麼不用全藍色的圖像測試它,看看? – baci

+0

但是我可以向你保證,如果你想使用'scal'作爲方法的顏色輸入,這將是錯誤的。使用cvtColor(img,img,CV_BGR2RGB);在任何事情擺脫困惑之前 – baci