[openCV学习]openCV函数cvtColor()中转为灰度图的背后数学理论
来源:互联网 发布:淘宝为什么让马云有钱 编辑:程序博客网 时间:2024/05/21 15:00
- **图像处理中,经常会用到这个函数,现在让我们先看看这个函数的源码**
'''template<typename _Tp> struct RGB2Gray{ typedef _Tp channel_type; RGB2Gray(int _srccn, int blueIdx, const float* _coeffs) : srccn(_srccn) { static const float coeffs0[] = { 0.299f, 0.587f, 0.114f }; 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];};'''
由上面的代码可以看得出来,我们的代码实现方法之一用的是公式:
有公式可知,B通道的分量占比最大,还有一种做法是直接把三个通道的数据叠加起来。
0 0
- [openCV学习]openCV函数cvtColor()中转为灰度图的背后数学理论
- 【拜小白opencv】2图像彩色空间转换,RGB转灰度图等。cvtColor()函数
- OPENCV入门教程三:cvtColor彩色图转灰度图
- OPENCV入门教程三:cvtColor彩色图转灰度图
- OpenCV的颜色空间转换函数 cvtColor
- Opencv的cvtColor函数-颜色空间转换
- OpenCV代码提取:cvtColor函数的实现
- opencv-cvtcolor
- OpenCV学习(二):imread,cvtColor,imshow,imwrite的使用
- OpenCV之颜色空间转换:cvtColor()函数
- opencv resize/cvtcolor
- OpenCV Canny(), cvtColor()
- OpenCV学习:将图像转为二值图像(函数cvtColor和函数threshold)
- OpenCV学习:将图像转为二值图像(函数cvtColor和函数threshold)
- opencv 灰度图
- 关于opencv中cvtcolor函数的code参数用CV_BGR2YUV与CV_BGR2YCrCb的了解
- opencv 中函数的一相关说明,如:cvtColor和cvCvtColor区别
- opencv 灰度形态学函数cvMorphologyEx()
- Maven生命周期详解
- java日常笔记2016-12-02
- spring4 mvc 快速入门 - spring boot or not?
- Java内部类相关问题的总结与体会
- Android基础-数据存储
- [openCV学习]openCV函数cvtColor()中转为灰度图的背后数学理论
- [System.Runtime.CompilerServices.AccessedThroughPropertyAttribute("")]
- 递归获取指定文件夹下的所有文件
- JAVA中重写equals()方法的同时要重写hashcode()方法
- OO创建对象
- 指针的个人见解(1)
- WebSocket
- Android基础--界面操作
- java io流常用方法总结