学习图像处理知识---Emgu3.4 image类学习(二)

图像逻辑运算和基本数学运算

1.加法和减法 采用方法 (图+、-数值)或(图+.-图)(如果图片加减,一定要注意尺寸大小一致否则会报错);

            a2 = new Image<Bgr, byte>((Bitmap)pictureBox2.Image);

           a3=new Image< Bgr, byte> ((Bitmap)pictureBox1.Image)

              a2 = a2 + 50;(a2=a2-50)变黑   a2=a2+a3;a2=a2-a3;

            pictureBox4.Image = a2.Bitmap;

            pictureBox4.Refresh();       图片变得越来越来亮,如过用减法,变得黑。第三个图片相加,第四相减。

学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)  原图学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)

2.乘法和除法方法(单独乘或除一个double 数比较简单类如加减法,这里只介绍ConvolutionKernelF用法

public class ConvolutionKernelF : Matrix<float> 
 float[,] fou = new float[50, 50]; //红色数值越大越模糊
            for (int i = 0; i <50; i++)
                for (int j = 0; j <50; j++)
                    fou[i, j] = 1;
                   ConvolutionKernelF a9 = new ConvolutionKernelF(fou);
            Emgu.CV.Image<Bgr, float> a10 = (a2 * a9);//乘法后类型会发生变化 如要不变在定义的时候就Image<Bgr, float>
      // pictureBox4.Image = (a2/0.51).Bitmap; //除小于1小数图片变亮,大于1变黑,乘法相反
            pictureBox4.Image = (a10).Bitmap;
            pictureBox4.Refresh();

学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)

逻辑运算and, or ,complement(非)not ,如果图片之间进行逻辑的话,尺寸一定要相同。跟普通double值也能逻辑

 pictureBox4.Image = (~a2).Bitmap; 

pictureBox4.Image = (a2&a3).Bitmap; 

pictureBox4.Image = (a2|a3).Bitmap;

学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)学习图像处理知识---Emgu3.4 image类学习(二)