opencv如何将一个一副彩色图像,分解成三个单通道图像,再组合成彩色图像,试举一例
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/04 14:58:05
opencv如何将一个一副彩色图像,分解成三个单通道图像,再组合成彩色图像,试举一例
split可以分解Mat类型图像,
merge可以合并单通道图像为三通道图像
#include "stdafx.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include
#include
using namespace cv;
int main( int argc,char** argv )
{
Mat src,srcOfMerge;
vector mv;
/// Read image ( same size,same type )
src = imread("d:\\images\\WindowsLogo.jpg");
if( !src.data ) { printf("Error loading src \n"); return -1; }
split(src,mv);
/// Create Windows
namedWindow("RGB",1);
namedWindow("R",1);
namedWindow("R",1);
namedWindow("R",1);
namedWindow("srcOfMerge",1);
imshow( "RGB",src);
imshow("R",mv[0]);
imshow("G",mv[1]);
imshow("B",mv[2]);
merge(mv,srcOfMerge);
imshow("srcOfMerge",srcOfMerge);
waitKey(0);
return 0;
}
再问: split在哪个头文件下面?
再答: 用的opencv2.0, 应该就行了,具体在哪在程序里找函数的声明位置就可以了
merge可以合并单通道图像为三通道图像
#include "stdafx.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include
#include
using namespace cv;
int main( int argc,char** argv )
{
Mat src,srcOfMerge;
vector mv;
/// Read image ( same size,same type )
src = imread("d:\\images\\WindowsLogo.jpg");
if( !src.data ) { printf("Error loading src \n"); return -1; }
split(src,mv);
/// Create Windows
namedWindow("RGB",1);
namedWindow("R",1);
namedWindow("R",1);
namedWindow("R",1);
namedWindow("srcOfMerge",1);
imshow( "RGB",src);
imshow("R",mv[0]);
imshow("G",mv[1]);
imshow("B",mv[2]);
merge(mv,srcOfMerge);
imshow("srcOfMerge",srcOfMerge);
waitKey(0);
return 0;
}
再问: split在哪个头文件下面?
再答: 用的opencv2.0, 应该就行了,具体在哪在程序里找函数的声明位置就可以了
opencv实现彩色图像向灰度图像转换的函数是哪个呀?
如何将彩色图像用Matlab进行傅里叶变换,再反变换回去?
PS将彩色图像转换成灰度图像(最少4种),并比较他们的不同,
把24位彩色图像转换成8位的灰度图像的算法?
用matlab求彩色图像平均灰度是否要先转换成灰度图像?
为什么图像处理时要将真彩色图像转换为灰度图像
如何使用MATLAB计算彩色图像的颜色直方图?
彩色图像灰度化用什么算法
关于彩色图像RGB分量的疑问.
单色图像与彩色图像在计算机中的表示原理
做图像处理时,能不能用FPGA去采集图像,然后将得到的图像再交给opencv处理?
彩色图像的色彩强度和把彩色图像转换为灰度图像之后的灰度有没有区别?