opencv的Mask操作,选择图片中感兴趣的区域

这篇具有很好参考价值的文章主要介绍了opencv的Mask操作,选择图片中感兴趣的区域。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近做目标检测任务的时候,需要对固定区域的内容进行检测,要用到opencv的mask操作,选择图片固定的区域

代码

import cv2
import numpy as np

img = cv2.imread('data/images/smoking.png')

# 弹出一个框 让你选择ROI | x,y是左上角的坐标
x,y,w,h = cv2.selectROI(img)
print(x, y, w, h)

# 创建mask
mask = np.zeros_like(img[:,:,0])

# 将感兴趣的区域的值设置为1
mask[y:y+h,x:x+w] = 1

# 将mask与原图像做与操作,留下感兴趣的区域,其它区域变成了0
masked_img = cv2.bitwise_and(img,img,mask=mask)

# 显示图片
cv2.imshow('img',img)
cv2.imshow('img_mask',masked_img)
cv2.waitKey()

# 保存图像
cv2.imwrite('data/images/masked_img.png', masked_img)

运行结果

原图片

opencv的Mask操作,选择图片中感兴趣的区域,计算机视觉模型笔记,opencv,人工智能,计算机视觉

执行 x,y,w,h = cv2.selectROI(img)

opencv的Mask操作,选择图片中感兴趣的区域,计算机视觉模型笔记,opencv,人工智能,计算机视觉

结果

opencv的Mask操作,选择图片中感兴趣的区域,计算机视觉模型笔记,opencv,人工智能,计算机视觉

mask取反,得到非ROI区域

background = cv2.bitwise_and(img,img,mask=1-mask)

对ROI处理,得到完整图片

可以对ROI检测香烟,检测之后在ROI的香烟上画上框,再roi+background得到完整图片文章来源地址https://www.toymoban.com/news/detail-663554.html

result = roi + background

到了这里,关于opencv的Mask操作,选择图片中感兴趣的区域的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenCV实战(3)——图像感兴趣区域

    在实际应用场景下,图像处理函数有时只需要应用于图像的部分区域。 OpenCV 中使用了一种优雅而简单的机制来定义图像中的子区域并将可以将其视为常规图像进行操作。本节中,我们将学习如何定义图像内的感兴趣区域 ( region of interest , ROI )。 为了说明如何定义感兴趣区域

    2024年02月09日
    浏览(63)
  • opencv-07-感兴趣区域(ROI)

    在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区 域(Region of Interest,ROI)。在设定感兴趣区域 ROI 后,就可以对该区域进行整体操作。 以下是一些 的例子: 目标检测和跟踪 :在计算机视觉中,目标检测和跟踪是常见的任务。通过使用

    2024年02月16日
    浏览(45)
  • opencv基础-07-感兴趣区域(ROI)

    在图像处理过程中,我们可能会对图像的某一个特定区域感兴趣,该区域被称为感兴趣区 域(Region of Interest,ROI)。在设定感兴趣区域 ROI 后,就可以对该区域进行整体操作。 以下是一些 的例子: 目标检测和跟踪 :在计算机视觉中,目标检测和跟踪是常见的任务。通过使用

    2024年02月13日
    浏览(36)
  • 【CV大模型SAM(Segment-Anything)】如何保存分割后的对象mask?并提取mask对应的图片区域?

    上一篇文章【CV大模型SAM(Segment-Anything)】真是太强大了,分割一切的SAM大模型使用方法:可通过不同的提示得到想要的分割目标中 详细介绍了大模型SAM(Segment-Anything)的不同使用方法 ,后面有很多小伙伴给我留言问我分割后的目标对象如何保存,这篇介绍一下分割后的ma

    2024年02月09日
    浏览(54)
  • OpenCV——《bitwise_and》mask的操作以及直方图的操作

    bitwise_and该函数是一个and操作当两者全为1的时候才会为1,有0则0. 对应的是直方图横坐标代表的是0-256.纵坐标代表的是出现的次数。 三种颜色分别代表的是RGB三种通道上的信息

    2024年02月11日
    浏览(46)
  • OpenCV学习笔记 | ROI区域选择提取 | Python

            ROI区域是指图像中我们感兴趣的特定区域,OpenCV提供了一些函数来选择和提取ROI区域,我们可以使用OpenCV的鼠标事件绑定函数,然后通过鼠标操作在图像上绘制一个矩形框,该矩形框即为ROI区域。本文将介绍代码的实现以及四个主要函数 cv2.setMouseCallback、def sele

    2024年02月07日
    浏览(41)
  • 叁[3],感兴趣区域ROI

    ROI,感兴趣区域(region of interest),截取图像 方法1:使用Rect 方法2:使用Range 注:Mat类型中copyTo函数和clone函数和赋值操作符操作。 3.1.1,代码1(copyTo,类型+尺寸相同) 指针版 3.1.2,打印结果 src.isContinuous=1 src.type=16 srcROI - Memery Address:000000EF810FF980 srcROI - Memery Address:000000EF810FF98

    2024年02月06日
    浏览(34)
  • 计算机竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

    🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分 工作量:3分 创新点:4分 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/d

    2024年02月12日
    浏览(61)
  • 6. QT环境下使用OPenCV(利用鼠标实现图像的ROI区域选择)

    1. 说明 一张图像显示的内容可能并非所有的都是有用信息,有时需要选定某些区域做出特殊的处理。在OPenCV当中可以在图像上响应鼠标的操作,选取出图像上的特殊区域 — ROI区域。 效果展示: 2. 实现步骤 首先在QtCreator中创建一个新的widget项目,并配置好OPenCV的开发环境,

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包