1 图像的算数运算
图像加法
图像减法
图像乘除法
2 图像的逻辑运算
图像相与
图像相或
图像取反
图像异或(半加运算)
3 代码
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 Lesson9
{
class Program
{
static void Main(string[] args)
{
Mat img1 = CvInvoke.Imread("3.jpg");
Mat img2 = CvInvoke.Imread("4.jpg");
Mat dst = new Mat();
//图像运算
//CvInvoke.Add(img1, img2, dst);
//CvInvoke.AddWeighted(img1, 0.3, img2, 0.8,0, dst);
//CvInvoke.Subtract(img1, img2, dst);//小于0时按0处理
//CvInvoke.AbsDiff(img1, img2, dst);//小于0时取绝对值
//乘除
//Mat temp = new Mat(new Size(img1.Cols, img2.Rows), DepthType.Cv8U, 3);
//temp.SetTo(new MCvScalar(1, 5, 2));
//CvInvoke.Multiply(img1, temp, dst, 3);
//CvInvoke.Divide(img1, temp, dst);
CvInvoke.BitwiseAnd(img1, img2, dst);
//CvInvoke.BitwiseOr(img1, img2, dst);
//CvInvoke.BitwiseNot(img2, dstImg);
CvInvoke.BitwiseXor(img1, img2, dst);
CvInvoke.Imshow("dst", dst);
CvInvoke.WaitKey(0);
}
}
}