opencv基础图行展示

"""
    试用opencv创建画布并显示矩形框(适用于目标检测图像可视化)
"""
# 创建一个黑色的画布,图像格式(BGR)
img = np.zeros((512, 512, 3), np.uint8)

# 画一个矩形:给定左上角和右下角坐标(宽度,高度)---> pt1=(15, 15), pt2=(50, 320)
cv2.rectangle(img, pt1=(15, 15), pt2=(50, 320), color=(255, 0, 0), thickness=8)

# 可视化
cv2.imshow('image', img)

cv2.waitKey(0)
# 释放资源
cv2.destroyWindows('image')

"""
    试用opencv创建画布并显示圆形内容
"""
# 创建一个黑色的画布
img0 = np.zeros((512,512,3), np.uint8)

# 设置圆的参数,进行画圆 参数定义: 给定椭圆的圆心、轴长、偏移的角度、以及椭圆的角度信息
cv2.ellipse(img0, center=(210, 310), color=(255, 0, 0), axes=(100, 50), angle=0, startAngle=0, endAngle=180, thickness=8)
cv2.ellipse(img0, center=(110, 110), color=(0, 255, 0), axes=(100, 50), angle=30, startAngle=0, endAngle=180, thickness=8)
cv2.ellipse(img0, center=(310, 110), color=(0, 0, 255), axes=(10, 50), angle=0, startAngle=0, endAngle=360, thickness=-1)
cv2.ellipse(img0, center=(210, 210), color=(0, 0, 255), axes=(50, 50), angle=0, startAngle=0, endAngle=180, thickness=-1)
cv2.ellipse(img0, center=(410, 410), color=(255, 255, 0), axes=(50, 50), angle=0, startAngle=0, endAngle=180, thickness=10)
cv2.rectangle(img0, pt1=(360, 410), pt2=(460, 410), color=(255, 255, 0), thickness=10)

# 可视化
cv2.imshow('IMG', img0)

cv2.waitKey(0)

# 释放资源
cv2.destroyWindow('IMG')

"""
    试用opencv创建画布并显示多边型
"""
# 创建一个黑色的画布
img2 = np.zeros((512, 512, 3), np.uint8)

# 画多边形
pts = np.array([
    [10,5],
    [20,50],
    [70,80],
    [50,10],
], np.int32)
print('the shape of pts:', pts.shape)
pts = pts.reshape((-1,1,2))
print('the reshape of pts:', pts.shape)
cv2.polylines(img2, [pts], isClosed=False, color=(255, 0, 255), thickness=8, lineType=cv2.LINE_4)


# 添加文本
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img2, text='Do IT!', org=(50,250), fontFace=font, fontScale=5, color=(0, 255, 0), thickness=8, lineType=cv2.LINE_AA)
# 可视化
cv2.imshow('Image2', img2)
cv2.waitKey(0)
cv2.destroyWindow('Image2')

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis入门到通关之Hash命令

文章目录 ⛄介绍⛄命令⛄RedisTemplate API❄️❄️添加缓存❄️❄️设置过期时间(单独设置)❄️❄️添加一个Map集合❄️❄️提取所有的小key❄️❄️提取所有的value值❄️❄️根据key提取value值❄️❄️获取所有的键值对集合❄️❄️删除❄️❄️判断Hash中是否含有该值 ⛄…

文献阅读:猕猴的单个基底外侧杏仁核神经元表现出与额叶皮层不同的连接模式

文献介绍 「文献题目」 Single basolateral amygdala neurons in macaques exhibit distinct connectional motifs with frontal cortex 「研究团队」 Peter H. Rudebeck(美国西奈山伊坎医学院) 「发表时间」 2023-10-18 「发表期刊」 Neuron 「影响因…

Springboot+Vue项目-基于Java+MySQL的母婴商城系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

Ubuntu去除烦人的顶部【活动】按钮

文章目录 一、需求说明二、打开 extensions 网站三、安装 GNOME Shell 插件四、安装本地连接器五、安装 Hide Activities Button 插件六、最终效果七、卸载本地连接器命令参考 本文所使用的 Ubuntu 系统版本是 Ubuntu 22.04 ! 一、需求说明 使用 Ubuntu 的过程中,屏…

【大语言模型】应用:10分钟实现搜索引擎

本文利用20Newsgroup这个数据集作为Corpus(语料库),用户可以通过搜索关键字来进行查询关联度最高的News,实现对文本的搜索引擎: 1. 导入数据集 from sklearn.datasets import fetch_20newsgroupsnewsgroups fetch_20newsgroups()print(fNu…

在Linux驱动中,如何确保中断上下文的正确保存和恢复?

大家好,今天给大家介绍在Linux驱动中,如何确保中断上下文的正确保存和恢复?,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 在Linux驱动中&am…

AI图书推荐:如何在课堂上使用ChatGPT 进行教育

ChatGPT是一款强大的新型人工智能,已向公众免费开放。现在,各级别的教师、教授和指导员都能利用这款革命性新技术的力量来提升教育体验。 本书提供了一个易于理解的ChatGPT解释,并且更重要的是,详述了如何在课堂上以多种不同方式…

STM32利用软件I2C通讯读MPU6050的ID号

今天的读ID号是建立在上篇文章中有了底层的I2C通讯的6个基本时序来编写的。首先需要完成的就是MPU6050的初始化函数 然后就是编写 指定地址写函数: 一:开始 二:发送 从机地址读写位(1:读 0&#xff1…

MySQL之索引失效、覆盖、前缀索引及单列、联合索引详细总结

索引失效 最左前缀法则 如果索引了多列(联合索引),要遵守最左前缀法则,最左前缀法则指的是查询从索引的最左列开始,并且不跳过索引中的列。如果跳跃某一列,索引将部分失效(后面的字段索引失效)。 联合索…

第1章 计算机网络体系结构

王道学习 【考纲内容】 (一)计算机网络概述 计算机网络的概念、组成与功能;计算机网络的分类; 计算机网络的性能指标 (二)计算机网络体系结构与参考模型 计算机网络分层结…

权威Scrum敏捷开发企业级实训/敏捷开发培训课程

课程简介 Scrum是目前运用最为广泛的敏捷开发方法,是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程,面向研发管理者、项目经理、产品经理、研发团队等,旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…

Ansys Workbench拓扑优化教程

很基础。 前言 进行拓扑优化的好处在于可以简化结构,满足力学性能的同时简化结构。 如赵州桥的一大一小的拱,就可以用拓扑优化优化出来,可见一千四百多年以前古人的智慧是多么丰富。 步骤 大体的步骤是需要 1.先导入模型(需…

练习题(2024/4/13)

1长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。 示例 1&am…

ThreadX:怎么确定一个线程应该开多少内存

ThreadX:如何确定线程的大小 在实时操作系统(RTOS)ThreadX中,线程的大小是一个重要的参数。这个参数决定了线程的堆栈大小,也就是线程可以使用的内存空间。那么,我们应该如何确定一个线程需要多大的字节呢…

Asterisk 21.2.0编译安装经常遇到的问题和解决办法之卸载pjsip

目录 会安装也要会卸载make uninstallldconfig 会安装也要会卸载 有些人就只会装。 最常见的场景就是需要卸载之前版本的pjproject。 一般来说,其他版本的 pjproject 会被作为静态链接库安装。这些库跟 Asterisk可能不兼容。 因此,在安装正确版本的pjpro…

语音识别(录音与语音播报)

语音识别(录音与语音播报) 简介 语音识别人工智能技术的应用领域非常广泛,常见的应用系统有:语音输入系统,相对于键盘输入方法,它更符合人的日常习惯,也更自然、更高效;语音控制系…

记录day1

1.早上 ①协同过滤算法 基于物品基于用户分别是如何实现的 相似度的计算方式 基于用户和基于物品的区别 实时性和新物品这里: 实时性指的是用户有新行为,这样基于物品就好,因为用户新行为了,用户矩阵不会变化,用户…

cron表达式使用手册

cron表达式 我们在使用定时调度任务的时候,最常用的就是cron表达式。通过cron表达式来指定任务在某个时间点或者周期性执行。 范围: 秒(0-59)(可选) 分(0-59) 时(0-…

从零实现诗词GPT大模型:数据集介绍和预处理

本章将介绍该系列文章中使用的数据集,并且编写预处理代码,处理成咱们需要的格式。 一、数据集介绍 咱们使用的数据集名称是chinese-poetry,是一个在github上开源的中文诗词数据集,根据仓库中readme.md中的介绍,该数据…

MySQL基础入门上篇

MySQL基础 介绍 mysql -uroot -p -h127.0.0.1 -P3306项目设计 具备数据库一定的设计能力和操作数据的能力。 数据库设计DDL 定义 操作 显示所有数据库 show databases;创建数据库 create database db02;数据库名唯一,不能重复。 查询是否创建成功 加入一些…