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

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

代码

import cv2
import numpy as npimg = 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)

运行结果

原图片

在这里插入图片描述

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

在这里插入图片描述

结果

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/77866.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【iOS】锁

线程安全 当一个线程访问数据的时候,其他的线程不能对其进行访问,直到该线程访问完毕。简单来讲就是在同一时刻,对同一个数据操作的线程只有一个。而线程不安全,则是在同一时刻可以有多个线程对该数据进行访问,从而得…

无涯教程-Perl - foreach 语句函数

foreach 循环遍历列表值,并将控制变量(var)依次设置为列表的每个元素- foreach - 语法 Perl编程语言中的 foreach 循环的语法是- foreach var (list) { ... } foreach - 流程图 foreach - 示例 #!/usr/local/bin/perllist(2, 20, 30, 40, 50);# foreach loop ex…

113、单例Bean是单例模式吗?

单例Bean是单例模式吗? 通常来说,单例模式是指在一个JVM中,一个类只能构造出来一个对象,有很多方法来实现单例模式,比如懒汉模式,但是我们通常讲的单例模式有一个前提条件就是规定在一个JVM中,那如果要在两个JVM中保证单例呢?那可能就要用分布式锁这些技术,这里的重点…

微信小程序接入腾讯云天御验证码

腾讯云新一代行为验证码(Captcha),基于十道安全防护策略,为网页、APP、小程序开发者打造立体、全面的人机验证。在保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。 …

centos 7 系统上重启 mysql 时报错 Failed to restart mysqld.service: Unit not found.

在 centos 7 系统上,使用常规命令:systemctl restart mysql 或 service mysqld restart 重启 mysql 时都会报如下错误: Failed to start mysqld.service: Unit not found. 根据所报错误,在网上搜罗了一圈,未果&#x…

中间人攻击

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、启动 Kali Linux准备 Apache 服务器使用Ettercap插件进行欺骗使用 Wireshark 捕获 Https 流量总结 前言 您可能已经熟悉中间人攻击:攻击者通过…

华云安参编的《云原生安全配置基线规范》正式发布

由中国信息通信研究院(以下简称“中国信通院”)、中国通信标准化协会主办的第十届可信云大会云原生安全分论坛于7月26日在北京国际会议中心成功召开。作为大会上展示的成果之一,由中国信通院联合行业领先企业共同编写的《云原生安全配置基线规…

Verilog学习记录-自用

always语句块一定条件写完整,否则电平触发,综合生成锁存器 task不可综合,主要用于仿真/验证 大部分都是并行执行的,只有begin end块中阻塞语句是串行 if-else和case的区别 if-else面积小,但时延(执…

redis的缓存更新策略

目录 三种缓存更新策略 业务场景: 主动更新的三种实现 操作缓存和数据库时有三个问题 1.删除缓存还是更新缓存? 2.如何保证缓存与数据库的操作的同时成功或失败? 3.先操作缓存还是先操作数据库? 缓存更新策略的最佳实践方案&am…

java+ssm民宿酒店客房推荐预订系统_2k78b--论文

摘 要 互联网日益成熟,走进千家万户,改变多个行业传统的工作方式。民宿推荐管理以用户需求为基础,借由发展迅猛的互联网平台实现民宿推荐管理的信息化,简化旧时民宿推荐管理所需的纸质记录这一繁杂过程,从而大幅提高民…

Kotlin基础(十一):反射和注解

前言 本文主要讲解kotlin反射和注解。 Kotlin文章列表 Kotlin文章列表: 点击此处跳转查看 目录 1.1 kotlin反射 1.1.1 kotlin反射概念和常见使用场景 在Kotlin中,反射是一种能够在运行时动态地获取、检查和操作类、属性、方法等结构的能力。Kotlin为反射提供了一…

图像快速傅里叶变换的工业应用案例简介:图像自相关,背景纹理去除,旋转矫正,划痕检测

快速傅里叶变换是非常重要的数学分析工具,同时也是一种非常重要的信号处理方法。 下面借助Halcon商业图像处理库,介绍些工业应用案例,我们可以通过案例理解图像快速傅里叶变换的一些应用场景。 案例1:图像自相关性确定芯片间距 …

数据可视化:Matplotlib详解及实战

1 Matplotlib介绍 Matplotlib是Python中最常用的可视化工具之一,可以非常方便地创建海量类型的2D图表和一些基本的3D图表。 Matplotlib提供了一个套面向绘图对象编程的API接口,能够很轻松地实现各种图像的绘制,并且它可以配合Python GUI工具(…

2023年08月IDE流行度最新排名

点击查看最新IDE流行度最新排名(每月更新) 2023年08月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多,这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

小白电脑装机(自用)

几个月前买了配件想自己装电脑,结果最后无法成功点亮,出现的问题是主板上的DebugLED黄灯常亮,即DRAM灯亮。对于微星主板的Debug灯,其含义这篇博文中有说明。 根据另一篇博文,有两种可能。 我这边曾将内存条和主板一块…

全球出货量突破1.3亿:华为智能穿戴产品国内第一份额诞生

根据华为运动健康技术暨HDC运动健康分论坛的消息,华为运动健康军团首席执行官兼华为终端BG智能穿戴与运动健康产品线总裁张炜透露,华为智能穿戴产品的全球出货量已突破1.3亿,用户数量也超过4.5亿,并多年来一直在中国智能手表市场占…

每日一题——复杂链表的复制

复杂链表的复制 题目链接 思路 如果不考虑random指针的复制,仅仅复制单链表的结构还是简单的。只需要通过一个指针cur遍历原链表,再不断创建新节点尾插到newHead后即可。 但如果要考虑random指针的复制,那过程就复杂了。 有小伙伴会这样想…

基于Azure OpenAI Service 的知识库搭建实验⼿册

1.概要 介绍如何使⽤Azure OpenAI Service 的嵌⼊技术,创建知识库;以及创建必要的资源组和资源,包括 Form Recognizer 资源和 Azure 翻译器资源。在创建问答机器⼈服务时,需要使⽤已部署模型的 Azure OpenAI 资源、已存在的…

Kafka-Broker工作流程

kafka集群在启动时,会将每个broker节点注册到zookeeper中,每个broker节点都有一个controller,哪个controller先在zookeeper中注册,哪个controller就负责监听brokers节点变化,当有分区的leader挂掉时,contro…

初识MySQL数据库之用户管理

目录 一、用户管理 二、用户 1. 用户信息 2. 创建用户 3. 用户登录测试 4. 删除用户 5. 设置用户远端登录 6. 修改密码 6.1 修改当前用户的密码 6.2 root用户修改指定用户的密码 三、权限 1. 数据库中的各个权限含义 2. 给用户授权 3. 查看用户拥有权限 4. 授权…