dfkt.net
当前位置:首页 >> opEnCV中为颜色赋值(255,0,0),却显示蓝色;赋值红色却显示蓝色。 >>

opEnCV中为颜色赋值(255,0,0),却显示蓝色;赋值红色却显示蓝色。

Opencv中cvScalar是CV_RGB的宏,cvScalar的储存顺序是B-G-R,而CV_RGB的储存顺序是R-G-B,两者正好相反,所以你的cvScalar(255,0,0),实际意思是B=255,当然是蓝色的

用你的程序跑了下,你这个应该是提取蓝色区域的代码,提取红色区域我记得是H空间315°~360°和0°~23° 具体代码你自己 按照这个参数再调试下吧

CvScalar是opencv中定义颜色的 类型static CvScalar colors[] 这句话的意思是定义一个 颜色数组下面花括号里面的内容则是定义各种不同的颜色,采用的是RGB彩色空间.如:{{0,0,255}}第一个0代表R(红色)强度为0,第二个0代表G(绿色)强度为0,255代表B(蓝色)强度为255.以此类推.

彩色图像一般是三通道图像(24位),一个像素需要3个值来表示分别是0-255,例如(255,178,233).你单通道(8位)只能表示一个值,范围0-255,所以都是灰度图

你可以结合http://zhidao.baidu.com/question/570104503.html?oldq=1来看,我在这里都有说明,下面是的我以前写的用识别出黄色区域并且用方框框出来的程序,这个程序在颜色方面设置的阀值稍微有点大,是为了减少现实光线的影响,你也可

RGB色彩模式(也翻译为“红绿蓝”,比较少用)是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准

函数RGB(255,0,0)表示的是红色.RGB(255,0,0)含义:红色值 Red=255;绿色值 Green=0;蓝色值 Green=0.常见颜色:黑色RGB:红色值 Red=0;绿色值 Green=0;蓝色值 Green=0;蓝色RGB:红色值 Red=0;绿色值 Green=0;蓝色值

红色区域这个词实在是太笼统了,要知道大红色的像素是(255,0,0),但此外还有浅红色等等,不可能每一种红色都是(255,0,0)的,所以先得给出你需要的红色的像素值范围,然后再考虑提取坐标值反而相对容易些.

1.既然知道了灰度值范围,为什么不直接用二值化? 2.选取色彩的时候应该要考虑S,要去除低Saturation的颜色.你这里没做,是不是有这个原因. HALCON例程里提供了一个简单的办法提取红色. 可以直接用RGB转成3个灰度图.用红色通道的灰度图分别减去另两个通道的和, 然后二值化提取你要的灰度值(一般是正数),就可以提取红色了.

准确的说颜色代码不是0-255的.颜色是由红、绿、蓝三色组成,都是0~255之间数字,这是由十进制或十六进制组成的颜色代码.比如如:纯红色(255,0,0)、纯黑色(0,0,0)、纯蓝色(0,0,139)等.人的眼睛看到的颜色有两种:1、 发光体

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.dfkt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com