opencv中cvCvtColor函数在哪个库
3个回答
展开全部
下载opencv source,RGB2Gray部分源码在opencv-4.0.1\modules\imgproc\src\color_rgb.cpp文件中,如下:
template<typename _Tp> struct RGB2Gray
{
typedef _Tp channel_type;
RGB2Gray(int _srccn, int blueIdx, const float* _coeffs) : srccn(_srccn)
{
static const float coeffs0[] = { R2YF, G2YF, B2YF };
memcpy( coeffs, _coeffs ? _coeffs : coeffs0, 3*sizeof(coeffs[0]) );
if(blueIdx == 0)
std::swap(coeffs[0], coeffs[2]); }
void operator()(const _Tp* src, _Tp* dst, int n) const
{
int scn = srccn;
float cb = coeffs[0], cg = coeffs[1], cr = coeffs[2];
for(int i = 0; i < n; i++, src += scn)
dst[i] = saturate_cast<_Tp>(src[0]*cb + src[1]*cg + src[2]*cr); }
int srccn;
float coeffs[3];
};
其中YF, G2YF, B2YF定义在文件color.hpp中,代码如下:
//constants for conversion from/to RGB and Gray, YUV, YCrCb according to BT.601
const float B2YF = 0.114f;
const float G2YF = 0.587f;
const float R2YF = 0.299f;
2017-06-07
展开全部
cvCvtColor(...),是Opencv里的颜色空间转换函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
cvCvtColor(...),Opencv颜色空间转换函数实现RGB颜色向HSV,HSI等颜色空间转换转换灰度图像
参数CV_RGB2GRAYRGBgray
具体用线性灰度变换函数:
Gray=0.299*R+0.587*G+0.144*B
通查看OpenCVdocumentation或者源代码解具体实现
参数CV_RGB2GRAYRGBgray
具体用线性灰度变换函数:
Gray=0.299*R+0.587*G+0.144*B
通查看OpenCVdocumentation或者源代码解具体实现
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询