OpenCV Mat图像颜色通道分离(split)合成(merge),各通道合图显示
来源:互联网 发布:慕情捏脸数据 编辑:程序博客网 时间:2024/05/17 22:49
OpenCV Mat图像颜色通道分离(split)合成(merge),各通道合图显示.
#include <cv.h>
#include <highgui.h>
#include <iostream>
#include <windows.h>
using namespace cv;
using namespace std;
intmain( int argc, char**argv )
{
FreeConsole(); //Hide theCMD window
if( argc != 2)
{
std::cout<<"请输入需要加载的文件!"<< std::endl;
return -1;
}
//读取图像
Matimage;
char * imageName = argv[1];
image= imread(imageName, CV_LOAD_IMAGE_COLOR);// Read thefile
if(! image.data ) //Check for invalid input
{
std::cout<< "文件加载失败,请检查!" <<std::endl ;
return -1;
}
//灰度图
MatgrayImage;
cvtColor(image,grayImage,CV_RGB2GRAY);//Coonvert the image from RGB to Grayscale format
//显示用
Matdisplay;
int w = image.cols;
int h = image.rows;
display.create(h*2,w*2,CV_8UC3);
//黑色
Matbk;
bk.create(h,w,CV_8UC1);
bk= Scalar(0);
//显示框
Matm(display,Rect(0,0,w,h));++====
Matm1(display,Rect(0,h,w,h));
Matm2(display,Rect(w,0,w,h));
Matm3(display,Rect(w,h,w,h));
Matm4(display,Rect(w/2,h/2,w,h));
//通道分离用
std::vector<cv::Mat>sbgr(image.channels());
//通道合成用
std::vector<cv::Mat>mbgr(image.channels());
//分离
split(image,sbgr); //split to sbgr[0],sbgr[1] ,sbgr[2]
//合成到显示-灰度
mbgr[0]= grayImage;
mbgr[1]= grayImage;
mbgr[2]= grayImage;
merge(mbgr,m);
//合成到显示-B
mbgr[0]= sbgr[0];
mbgr[1]= bk;
mbgr[2]= bk;
merge(mbgr,m1);
//合成到显示-G
mbgr[0]= bk;
mbgr[1]= sbgr[1];
mbgr[2]= bk;
merge(mbgr,m2);
//合成到显示-R
mbgr[0]= bk;
mbgr[1]= bk;
mbgr[2]= sbgr[2];
merge(mbgr,m3);
//复制到显示-原图
image.copyTo(m4);
//显示
namedWindow(imageName,CV_WINDOW_NORMAL);// Create a window fordisplay.
resizeWindow(imageName,w*2,h*2);
imshow(imageName, display); // Show our image inside it.
waitKey(0); //Wait for a keystroke in the window
return 0;
}
- OpenCV Mat图像颜色通道分离(split)合成(merge),各通道合图显示
- 【OpenCV笔记 08】OpenCV中分离颜色通道split()和图像通道混合merge()
- 学习OpenCV彩色图像的通道的分离(split)与合成(merge)
- 【拜小白opencv】3-彩色图像通道分离与合成;split()与merge()
- Opencv中颜色通道分离、混合的split和merge
- opencv中彩色图像通道分离、合成
- OpenCV 分离颜色通道与多通道图像混合
- OpenCV-----分离颜色通道 & 多通道图像混合
- OpenCV之五 分离颜色通道&多通道图像混合
- Python-OpenCV单通道加噪(cv2.split通道分离+skimage+cv2.merge通道合并)
- OpenCV分离图像通道
- opencv Mat 多通道拆分Split和组合Merge
- OpenCV 图像分离颜色通道 split函数和mege函数的运用
- 多通道图像的通道分享和合成函数-split、merge
- 分离颜色通道&多通道图像融合
- 分离颜色通道&多通道图像混合
- 分离颜色通道&多通道图像混合
- 分离颜色通道(split)和多通道融合(merge)
- 写给自己的几句话
- Fedora 18 安装后的几件事和音频/视频解码器的安装
- __declspec(dllexport)的意思与DEF导出函数的区别
- 2013年6月24日星期一(离屏表面blitter)
- 【书摘】《长尾理论》读书笔记
- OpenCV Mat图像颜色通道分离(split)合成(merge),各通道合图显示
- Xcode 如何复制编译报错信息
- WPF启动FLASH兼容
- 打印蛇形方阵
- Ogre射线精确查询
- .net post、get传值与isPostBack原理
- 网络客户端(2)------从web获得时间
- c#打开新窗体后关闭旧窗体
- <重构>读书笔记之<内联化方法>