opencv 图片叠加_OpenCVSharp学习之——ROI与图像叠加

ROI(region of interest),感兴趣区域。机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。在Halcon、OpenCV、Matlab等机器视觉软件上常用到各种算子(Operator)和函数来求得感兴趣区域ROI,并进行图像的下一步处理。

在图像处理领域,感兴趣区域(ROI) 是从图像中选择的一个图像区域,这个区域是你的图像分析所关注的重点。圈定该区域以便进行进一步处理。使用ROI圈定你想读的目标,可以减少处理时间,增加精度。

感兴趣区(Region of Interest,ROIs) 是图像的一部分,它通过在图像上选择或使用诸如设定阈值(thresholding) 或者从其他文件(如矢量> 转换获得等方法生成。感趣区可以是点、线、面不规则的形状,通常用来作为图像分类的样本、掩膜、裁剪区或及其他操作

实现代码:

1、ROI

lena = new Mat(@"lena.jpg", ImreadModes.Color);Rect roi = new Rect(200, 200, 180, 180);//首先要用个rect确定我们的兴趣区域在哪ImageROI = new Mat(lena, roi);//新建一个mat,把roi内的图像加载到里面去Bitmap bitmap_Lena= OpenCvSharp.Extensions.BitmapConverter.ToBitmap(lena);pictureBox1.Image = bitmap_Lena;Cv2.ImShow("ROI", ImageROI);Cv2.WaitKey();

2、图像叠加

Mat mat_Jin = new Mat("金馆长.jpg", ImreadModes.Color);Rect rect = new Rect(200, 200, mat_Jin.Cols, mat_Jin.Rows);//定义第一个矩阵,前2个参数是要放的位置,后面插入图片的大小           Mat pos = new Mat(lena, rect);Mat mask = mat_Jin.CvtColor(ColorConversionCodes.BGR2GRAY);//Cv2.Threshold(mask, mask, 190, 255, ThresholdTypes.BinaryInv);//灰度图二值化,高于190的变成黑色,其它白色mat_Jin.CopyTo(pos,mask);Cv2.ImShow("图像叠加", lena);Cv2.WaitKey();

3、效果演示

e92859b06f9e1e059c65ec25ff423e5e.gif

4、源代码已上传,关注后私信发送“ROI”即可

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值