嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
简单emgucv运用
private void button14_Click(object sender, EventArgs e)
{
Mat channel = new Mat("hua.jpg", Emgu.CV.CvEnum.LoadImageType.AnyColor);
VectorOfMat channels = new VectorOfMat();//创建VectorOfMat类型储存分离后的图像
CvInvoke.Split(channel, channels);//分离通道
Mat B_channel = channels.GetInputOutputArray().GetMat(0);
Mat C_channel = channels.GetInputOutputArray().GetMat(1);
Mat D_channel = channels.GetInputOutputArray().GetMat(2);
imageBox1.Image = channel;
imageBox3.Image = B_channel;
imageBox4.Image = C_channel;
imageBox5.Image = D_channel;
//反向通道
Mat dst = new Mat();
VectorOfMat mv = new VectorOfMat();
mv.Push(B_channel);
mv.Push(C_channel);
mv.Push(D_channel);
CvInvoke.Merge(mv, dst);
imageBox6.Image = dst;
/*
public static void Split(IInputArray src,IOutputArray mv);//把IInputArraysrc
分成多个通道。
参数解析:
IInputArray src:需要进行分离的图像。
IOutputArray mv:分离后得到的图像数组,一般为VectorOfMat类型。
VectorOfMat类型在命名空间Emgu.CV.Util中。
*/
}
private void button15_Click(object sender, EventArgs e)
{
VectorOfMat channels = new VectorOfMat();
Mat matB = new Mat("hua.jpg", LoadImageType.Grayscale);//创建灰色图
Mat matG = new Mat(matB.Size, DepthType.Cv8U, 1);//创建其他通道
Mat matR = new Mat(matB.Size, DepthType.Cv8U, 1);
channels.Push(matB);
channels.Push(matG);
channels.Push(matR);
//channels.Push(matR);
Mat dst = new Mat();
CvInvoke.Merge(channels, dst);
imageBox3.Image = matB;
imageBox4.Image = matG;
imageBox5.Image = matR;
imageBox6.Image = dst;
/*
public static void Merge(IInputArrayOfArrays mv,IOutputArray dst);//通道合成。
参数解析:
IInputArrayOfArrays mv,:需要合成的数组通道一般为VectorOfMat类型。
IOutputArray dst:输出合成图像。
*/
}