using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using Emgu.CV;using Emgu.CV.Structure;using Emgu.CV.CvEnum;using Emgu.Util;using System.Drawing;namespace EmguCV8{  class Program  {    static void Main(string[] args)    {      /*********图片叠加*********/      Mat img1 = new Mat("1.png");//1.jpg      Mat img2 = new Mat("2.png");//2.jpg      //两张图片的大小与位深度都要一样      Mat img3 = new Mat();      /*******加法********/      //方法一      //CvInvoke.Add(img1,img2,img3);      //方法二      //CvInvoke.AddWeighted(img1,0.5,img2,0.5,0,img3);      /*******减法********/      //CvInvoke.Subtract(img1,img2,img3);//直接相减      //CvInvoke.AbsDiff(img1,img2,img3);//相减后取绝对值叠加      /*******乘除法********/      //Mat temp = new Mat(new Size(img1.Cols, img1.Rows), DepthType.Cv8U, 3);      //temp.SetTo(new MCvScalar(1, 1, 1));      //CvInvoke.Multiply(img1,temp,img3,1);//相乘      //CvInvoke.Divide(img1, temp, img3,1);//相除      /*******与运算********/      //CvInvoke.BitwiseAnd(img1,img2,img3);      /*******或运算********/      //CvInvoke.BitwiseOr(img1,img2,img3);      /*******取反运算********/      //CvInvoke.BitwiseNot(img1,img3);      /*******取反运算********/      CvInvoke.BitwiseXor(img1, img2, img3);      CvInvoke.Imshow("img",img3);      CvInvoke.WaitKey(0);    }  }}

 
  
					
				
评论