OpenCV学习(十四)之彩色图像RGB通道的分离、合并与显示
来源:互联网 发布:电子相册在线制作软件 编辑:程序博客网 时间:2024/04/28 07:48
由于算法的需要,需要把彩色图像的R、G、B值分离出来,OpenCV中正好有split() 和 merge() 函数可以实现。
实验环境:VS2010 + OpenCV2.4.9
一、对单独彩色图片的RGB通道分离:
#include <iostream>#include "cv.h"#include "highgui.h"using namespace std;using namespace cv;int main(int argc,char* argv[]){Mat img = imread("lena.jpg"/*,CV_LOAD_IMAGE_COLOR*/);Mat channel[3];split(img,channel);imshow("original",img);imshow("B",channel[0]);imshow("G",channel[1]);imshow("R",channel[2]);//set blue channel to 0channel[0] = Mat::zeros(img.rows,img.cols,CV_8UC1);//merge red and green channelsmerge(channel,3,img);imshow("R_G_merge",img);waitKey(0);return 1;}下面是实验图片:
第一张是原始图片:
二、对摄像头摄入视频帧的RGB彩色通道分离
int main(int argc,char* argv[]){VideoCapture cap;cap.open(0);if(!cap.isOpened()) {exit(0);}cap.set(CV_CAP_PROP_FRAME_WIDTH,250);cap.set(CV_CAP_PROP_FRAME_HEIGHT,250);cout << "Frame Width: " << cap.get(CV_CAP_PROP_FRAME_WIDTH) << endl;cout << "Frame Height: " << cap.get(CV_CAP_PROP_FRAME_HEIGHT) << endl;Mat frame;vector<Mat> rgb;cap >> frame;//rgb.push_back( Mat(frame.rows, frame.cols, CV_8UC1));//rgb.push_back( Mat(frame.rows, frame.cols, CV_8UC1));//rgb.push_back( Mat(frame.rows, frame.cols, CV_8UC1));//rgb.push_back( Mat(frame.rows, frame.cols, CV_8UC1));namedWindow("original", 1);namedWindow("red", 1);namedWindow("green", 1);namedWindow("blue", 1);for(;;){cap >> frame;imshow("original", frame);split(frame, rgb);imshow("red", rgb.at(2));imshow("green", rgb.at(1));imshow("blue", rgb.at(0));if(waitKey(30) >= 0) break;}waitKey(0);return 1;}
上帝之手,O(∩_∩)O哈哈~
0 0
- OpenCV学习(十四)之彩色图像RGB通道的分离、合并与显示
- OpenCV学习(十四)之彩色图像RGB通道的分离、合并与显示
- OpenCV学习笔记(2)之图像通道分离和RGB三通道直方图显示
- OpenCV之Python学习笔记(1)(2): 图像的载入、显示和保存 图像元素的访问、通道分离与合并
- 学习OpenCV彩色图像的通道的分离(split)与合成(merge)
- opencv学习(二)分别显示彩色图像的RGB通道,以及图像的反色处理
- opencv彩色图像通道分离
- opencv学习之四:rgb通道的分离以及直方图的显示计算
- 利用OpenCV分离彩色图的RGB通道
- OPENCV获得彩色图像的RGB通道图像
- OpenCV Python教程之图像元素的访问、通道分离与合并
- 【OpenCV学习笔记】十二、图像的对比度和亮度调整及图像通道的分离与合并
- opencv中彩色图像通道分离、合成
- 分离与合并图像通道的方法
- opencv学习(十四)之图像颜色通道分离和融合
- 【OpenCV】分离多通道图像RGB的值
- 【OpenCV】分离多通道图像RGB的值
- 【OpenCV】分离多通道图像RGB的值
- java中equals和==的区别
- SQL Server中的Merge关键字
- android盒子自动化测试中的几种方法
- Socket 网络编程
- Android Studio系列教程四--Gradle基
- OpenCV学习(十四)之彩色图像RGB通道的分离、合并与显示
- C#中Abstract和Virtual使用
- Ubuntu编译Android源码之安装JDK
- *****(leetcode_string)Longest Palindromic Substring
- Linux时间同步
- C++ Primer(泛型算法)
- Process进程、Thread线程
- github简单使用教程
- 创业概念:路演