Opencv中RGB通道/HSV通道并分离
将原图分离为RGB单通道和B三通道(GR通道均为0)
Mat src_color = imread(path);
vector<Mat> channels;
vector<Mat> mbgr();
split(src_color, channels);
Mat B = channels.at();
Mat G = channels.at();
Mat R = channels.at();
Mat bk1(src_color.size(), CV_8UC1, Scalar());
Mat imageB(src_color.size(), CV_8UC3);
mbgr[] = B;
mbgr[] = bk1;
mbgr[] = bk1;
merge(mbgr, imageB);
imshow("imageB", imageB);
imshow("原图", src_color);
imshow("B", B);
imshow("G", G);
imshow("R", R);
waitKey();





利用opencv把RGB图片像HSV颜色空间转变的时候,H通道的值范围为: 0-180,S: 0-255,V:0-255。
利用直方图显示三个通道的时候,H通道都集中在前半部分,想让它取值范围扩大。后来发现了 CV_BGR2HSV_FULL ,CV_BGR2HSV 在转换图像的时候是将 H / 2 ---> H ,我们知道图像中色相H的取值范围为 0-360 ,所以利用opencv转换之后得到的H的范围为 0-180。而 CV_BGR2HSV_FULL 实现的映射是 H * 255 / 360 --->H , 所以利用_FULL 这个转换得到的H通道图像的范围为 0-255这两种方式都是opencv把[0-360] 的数据压缩到一个字节可以处理的数据。[ 所以这里说的图像的depth = 8, 刚好能表示的最大值是 255]
Mat src_hsv;
cvtColor(src_color, src_hsv, CV_BGR2HSV_FULL);
//cvtColor(src_color, src_hsv, CV_BGR2HSV);
vector<Mat> hsv_channels;
split(src_hsv, hsv_channels);
Mat H = hsv_channels.at();
Mat S = hsv_channels.at();
Mat V = hsv_channels.at();
imshow("H", H);
imshow("S", S);
imshow("V", V);



Opencv中RGB通道/HSV通道并分离的更多相关文章
- OpenCV中RGB和HSV转换的问题
1.一般情况下HSV模型各分量的取值范围为:H为0到360°,S为0到100%,V为0到255.但是在OpenCV中在由RGB转换到HSV的过程中,发现HSV中H为0到180°,S为0到255,V为0 ...
- opencv中RGB转HSV
cvCvtColor(src,dst,CV_BGR2HSV); 当中,src为三通道的,dst也为三通道的. OPENCV 中 H.S.V.顺序分别为3*x+0 3*x+1 3*x+2 open ...
- OpenCV绘制图像中RGB三个通道的直方图
一开始是看<OpenCV计算机视觉编程攻略(第2版)>这本书学做直方图,但是书本里说直方图的部分只详细说了黑白图像(单通道)的直方图绘制方法,RGB图像的直方图只说了如何计算,没有说计算完 ...
- OpenCV——RGB和HSV颜色空间
RGB颜色空间 在RGB中,一幅图像有三个独立的图像平面或通道组成:红,绿,蓝(以及第四个通道透明度). RGB颜色表 资料:网络 ◇ 编制:王践舜 RGB(255,23,140)是光的三原色,也 ...
- 颜色空间模型 与 Opencv中的HSV模型范围
颜色空间总结 RGB.HSV.YUV 什么是颜色 Wiki是这样说的:颜色或色彩是通过眼.脑和我们的生活经验所产生的一种对光的视觉效应.嗯,简单点说,颜色就是人对光的一种感觉,由大脑产生的一种感觉.感 ...
- 图像通道、Scalar、分离、合成通道
http://lib.csdn.net/article/opencv/33264 http://blog.csdn.net/laohu_tiger/article/details/17359777 h ...
- [ActionScript 3.0] AS3.0 将图像的Alpha通道转换为黑白图像(分离ARGB方式)
import flash.display.BitmapData; import flash.display.Bitmap; /** * 将图像的Alpha通道转换为黑白图像(分离ARGB方式) */ ...
- OpenCV中HSV颜色模型及颜色分量范围
HSV颜色模型 HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)..这 ...
- golang中为何在同一个goroutine中使用无缓冲通道会导致死锁
package main import "fmt" func main() { /* 以下程序会导致死锁 c := make(chan int) c <- 10 n1 := ...
随机推荐
- cmd以管理员打开
- linux及windows安装maven
一.linux安装maven 1.wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-maven-3.6. ...
- 分离vue文件,方便后期维护
参考: https://www.cnblogs.com/wy120/p/10179901.html https://blog.csdn.net/sinat_36146776/article/detai ...
- Oracle Database 18c数据库安装步骤
1.Oracle官网登录下载https://login.oracle.com/mysso/signon.jsp WINDOWS.X64_180000_db_home.zip 2.D盘根目录新建文件夹: ...
- ActiveMQ 基础
Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件:由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行.它能很好地 ...
- limit方法也是模型类的连贯操作方法之一
limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多.ThinkPHP的limit方法可以兼容所有的数据库驱动类的. 限制结果数量 例如获取满足要求的 ...
- Python-数据类型内置方法(2)
目录 元组(tuple) 内置方法: 字典(dict) 内置方法: 优先掌握: 需要掌握 集合(set) 优先掌握 深浅拷贝 拷贝(赋值) 浅拷贝 深拷贝 总结 存值个数 有序 or 无序 可变 or ...
- laravel框架中使用QueryList插件采集数据
laravel框架中使用queryList 采集数据 采集数据对我们来说真家常便饭,那么苦苦的写正则采集那么一点点东西,花费了自己大把的时间和精力而且没有一点技术含量,这个时候就是使用我们的好搭档Qu ...
- 01.visual studio 2017添加菜单
创建项目 文件--新建项目 如果新建项目 左侧没有扩展菜单,请安装即可 添加菜单 右键--添加新项 菜单设置 菜单设置文件: MyCommandPackage.vsct <Buttons> ...
- Android基础控件SeekBar拖动条的使用
1.简介 SeekBar继承ProgressBar,相关属性和三种不同状态下的触发方法: <!--<SeekBar--> <!--android:layout_width=&q ...