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

本文介绍了使用Emgu3.4的Image类进行图像处理,包括图像的加法、减法、乘法、除法操作,以及逻辑运算中的与、或、非。通过实例展示了如何对图像进行数值和逻辑运算,并讨论了运算中需要注意的尺寸一致性和图像变化效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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();       图片变得越来越来亮,如过用减法,变得黑。第三个图片相加,第四相减。

  原图

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();

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

 pictureBox4.Image = (~a2).Bitmap; 

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

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



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值