OpenCV-Python小应用(七):获取图片ROI的HSV取值范围

news2024/12/26 10:34:01

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围

    • 前言
    • 前提条件
    • 实验环境
    • 获取图片ROI的HSV取值范围
    • 参考文献

前言

  • 本文是个人使用OpenCV-Python的应用案例,由于水平有限,难免出现错漏,敬请批评改正。
  • 更多精彩内容,可点击进入OpenCV-Python小应用专栏或我的个人主页查看

前提条件

  • 熟悉Python

实验环境

  • Python 3.6.13 (面向对象的高级语言)
  • OpenCV 3.4.10(python第三方库)pip3 install opencv-python==3.4.10.37

获取图片ROI的HSV取值范围

  • HSV颜色空间相关知识点,可查阅OpenCV-Python快速入门(四):色彩空间

在这里插入图片描述

# 导入库
import cv2
import numpy as np
import sys
from PIL import Image

# 图像显示函数
def show(name, img):
    cv2.namedWindow(name, 0)  # 用来创建指定名称的窗口,0表示CV_WINDOW_NORMAL
    # cv2.resizeWindow(name, img.shape[1], img.shape[0]); # 设置宽高大小为640*480
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

if __name__ == "__main__":
    # 读取图片
    img = cv2.imread("1.png")
    # show('img', img)
    # print(img.shape)  # (h,w,channel)
    img_ROI = img[80:119, 173:212]  # y,x -> h,w
    # show('img_ROI', img_ROI)
    # print(img_ROI.shape)
    # BGR -> HSV
    img_hsv = cv2.cvtColor(img_ROI, cv2.COLOR_BGR2HSV)
    # HSVmin
    Hmin, Smin, Vmin = min(img_hsv[:, :, 0][0]), min(img_hsv[:, :, 1][0]), min(img_hsv[:, :, 2][0])
    # HSVmax
    Hmax, Smax, Vmax = max(img_hsv[:, :, 0][0]), max(img_hsv[:, :, 1][0]), max(img_hsv[:, :, 2][0])
    print('Hmin,Smin,Vmin:', Hmin, Smin, Vmin)
    print('Hmax,Smax,Vmax:', Hmax, Smax, Vmax)
Hmin,Smin,Vmin: 78 58 12
Hmax,Smax,Vmax: 90 255 148

参考文献

[1] https://opencv.org/
[2] 李立宗. OpenCV轻松入门:面向Python. 北京: 电子工业出版社,2019

  • 更多精彩内容,可点击进入OpenCV-Python小应用专栏或我的个人主页查看

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于无人机的移动边缘计算网络研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

socket网络字节序以及大端序小端序

不同CPU中,4字节整数1在内存空间的存储方式是不同的。4字节整数1可用2进制表示如下: 00000000 00000000 00000000 00000001 有些CPU以上面的顺序存储到内存,另外一些CPU则以倒序存储,如下所示: 00000001 00000000 0…

【Spring】SpringBoot 配置 logback 日志

1. 概述 日志在一个业务系统重非常重要,包含有非常重要的数据,可以用于客户反馈问题的排查、线上问题的追踪,以及根据日志数据对业务情况进行有效的监控配置,及时发现线上问题。 常用的日志框架有好几种,但最常用的是…

[附源码]Node.js计算机毕业设计大学校园兼职网站Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

【观察】定义下一代云原生实时数仓,SelectDB Cloud“打了个样”

2020年,国家在《关于构建更加完善的要素市场化配置体制机制的意见》中,首次将数据与土地、资本、劳动力并列为关键生产要素,并提出加快培育数据要素市场的愿景,此举可谓意义重大。背后的原因是,当下中国企业正在加速从…

【车载开发系列】UDS诊断---写入内存($0x3D)

【车载开发系列】UDS诊断—写入内存($0x3D) UDS诊断---写入内存($0x3D)【车载开发系列】UDS诊断---写入内存($0x3D)一.概念定义二.报文格式1)请求报文2)肯定响应3)否定响…

Redis实战——消息队列

目录 1. 什么是消息队列? 2. 基于List结构模拟消息队列 3. 基于PubSub的消息队列 4. 基于Stream的消息队列 4.1 基于Stream的单消费者模式 4.2 基于Stream的消息队列-消费者组 1. 什么是消息队列? 字面意思就是存放消息的队列。最简单的消息队列模…

学习参数化计算优化风扇定位step by step

一、写在前面 本教程的目的是演示ANSYS Icepak的参数和优化功能。假定读者已经熟悉ANSYS Icepak界面,但是缺乏实战经验。 在这个案例中,读者可以掌握: 1、使用Network网络热阻Block来模拟IC芯片封装模型。 2、将变量定义为参数并通过参数…

算法竞赛入门【码蹄集进阶塔335题】(MT2226-2250)

算法竞赛入门【码蹄集进阶塔335题】(MT2226-2250) 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2226-2250)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件?目录1. MT2226 36进制22. MT2227 36进制33. MT2228 36进制44.…

电商、线上教育、在线医疗等必备资质——ICP许可证 。

危中有机,疫情也概莫能外。一场突如其来的疫情,引发了消费、健康、办公、学习等领域的新变革,电商、短视频、游戏、线上教育、在线医疗、知识付费等“互联网”项目,再次迎来发展机遇。 然而,如果想要借助互联网进行经…

[附源码]Python计算机毕业设计大学生网上书店Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

type 与 interface

type 与 interface 官方文档是这么说的: For the most part, you can choose based on personal preference, and TypeScript will tell you if it needs something to be the other kind of declaration. If you would like a heuristic, use interface until you…

基于C#+SQL Server2008实现(WinForm)学生宿舍管理系统【100010029】

1 概述 本次课程设计是数据库课程设计,我选的是学生宿舍管理系统,功能块主要是宿舍管理、学生管理、出入登记和来访登记,目的在于将学生宿舍的管理实现信息化,监控学生宿舍的情况防止意外发生。 课程设计任务的需求分析 2.1设计…

01算法的概念

开始系统学习算法啦!为后面力扣和蓝桥杯的刷题做准备!这个专栏将记录自己学习算法是的笔记,包括概念,算法运行过程,以及代码实现,希望能给大家带来帮助,感兴趣的小伙伴欢迎评论区留言或者私信博…

Day828.多线程原语:管程 -Java 并发编程实战

多线程原语:管程 Hi,我是阿昌,今天学习记录的是关于多线程原语:管程的内容。 并发编程这个技术领域已经发展了半个世纪了,相关的理论和技术纷繁复杂。 那有没有一种核心技术可以很方便地解决的并发问题呢&#xff1…

JAVA毕业设计——基于SpringBoot的健身房管理系统(源代码+数据库)

github代码地址 https://github.com/ynwynw/gym-public 毕业设计所有选题地址 https://github.com/ynwynw/allProject 基于SpringBoot的健身房管理系统(源代码数据库) 一、系统介绍 系统层次结构图如下: 管理员登录模块会员管理模块教练管理模块课程管理模块器材…

基于Java+SQL Server2000实现(界面)学生选课管理系统【100010025】

学生选课管理系统 二、需求描述 本系统是一个单机版的小型的学生选课管理系统,在本系统中,开发了一个面向管理员、学生和教师这三个对象的教务平台,对学生提供的服务有登录、选课、、修改登录密码、和查询成绩这几个服务,所选课…

第二季5:配置视频捕获(step3:VI部分)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 前言 本文将详细介绍博文第二季3:sample_venc.c的整体分析提及的“配置视频捕获”。 该部分主要涉及以下步骤: 5、配置MIPI6、初始化ISP7、运行ISP线程8、配置开启VI 设备捕…

Mybatis 参数处理器注入配置解析流程

参数处理器的作用 Mybatis作为一个ORM框架, 其最原始的本质就是JDBC,对于JDBC的使用步骤中有2步和参数处理器有关, 就是给预处理器PreparedStatement 设置参数以及通过结果集获取字段值。 这两个步骤在Mybatis中已经成为框架底层逻辑流程&am…

【K8S系列】第十一讲:包管理神器-Helm

目录 序言 1.背景介绍 1.1 k8s 简单介绍 1.2 k8s部署挑战 2.Helm 2.1 Helm介绍 2.1 使用优势: 3.Helm模块 3.1 Helm 3.1.1 安装Helm 3.2 Chart 3.2.1 Chart 基本介绍 3.2.2 Chart目录结构 3.3 Repoistory 3.4 Config 3.5 Release 4.投票 序言 当…