cvScalar的顺序是什么?

3

我的Img在IplImage*中

您确认以下是正确的顺序:

  • x and y: x for the width and y for the height of the image?
  • B, G and R : the order of OpenCV in colors?

    CvScalar scal = cvGet2D(img, x, y);
    blue_lum=scal.val[0];
    green_lum=scal.val[1];
    red_lum=scal.val[2];
    
  • The order of a 3Channel image? Channel 1 is B and Channel 3 is R ?
2个回答

5

请查看核心文件 core_c.h 第1264行:

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

0

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


Canberk Baci Then. scal.val[0] 是红色,scal.val[2] 是绿色? - MelMed
我认为你想在这里获取像素颜色强度。我相信get2d返回BGR顺序; 所以你的分配是正确的。我以为你在问cvScalar构造函数,它创建RGB。为什么不用全蓝图像进行测试呢? - baci
但我可以向您保证,如果您想将“scal”用作方法的颜色输入,那么这是错误的。在任何操作之前,请使用cvtColor(img,img,CV_BGR2RGB)来消除混淆。 - baci

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接