#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
//将一个四通道的图像转换为一个三通道的图像和一个arpha单通道图像。
//b此程序是mixchannel函数的简单用法。
int main()
{
//1.构造一个四通道的rgba图像。
Mat rgba(400,400,CV_8UC4,Scalar(1,2,3,4));//四通道图像。
imshow("rgba",rgba);
//2.定义两个图像,bgr和alpha图像。
Mat bgr(rgba.size(),CV_8UC3);
Mat alpha(rgba.size(),CV_8UC1);
//3.输出数组。
Mat out[] = {bgr,alpha};
//4.设置对应的索引。0-2。 1-1 2-0 3-3
int frome_to[] = { 0,2,1,1,2,2,3,3 };
//5.进行通道转换。
mixChannels(&rgba,1,out,2,frome_to,4);//输入图像数,输出图像数,索引以及索引数。
//6.显示。
imshow("bgr",bgr);
imshow("alpha",alpha);
waitKey(0);
return 0;
}
将一个四通道的图像转换为一个三通道的图像和一个arpha单通道图像
最新推荐文章于 2024-03-07 10:56:26 发布