【CanMV K230】矩形检测

news2024/11/15 18:05:29

【CanMV K230】矩形检测

  • 什么是 矩形检测
  • 矩形检测应用领域
    • 1.目标检测
    • 2.自动驾驶
    • 3.医学图像处理
    • 4.智能零售
    • 5.图像识别
    • 6.计算机视觉
  • K230应用
    • 相关函数
    • 官方例程

请添加图片描述
本篇内容:

  1. 什么是 矩形检测
  2. 矩形检测应用领域
  3. K230应用(包含相应函数及例程)

B站视频链接:已做成合集 (求去点赞,或者发个弹幕也行呀。C友)
抖音链接:已做成合集(求去点赞,或者发个弹幕也行呀。C友)

什么是 矩形检测

矩形检测是图像处理领域中的一项技术,它涉及到识别和定位图像中的矩形结构。这项技术在机器视觉、自动检测、文档处理等多个领域都有应用。矩形检测的基本步骤通常包括图像预处理、特征提取、轮廓检测和矩形验证。

矩形检测应用领域

矩形检测技术在多个领域都有广泛的应用,以下是一些主要的应用领域:

1.目标检测

在工业生产和安防监控等领域,矩形检测用于自动检测图像中的目标,为目标识别和跟踪提供基础。
在这里插入图片描述

2.自动驾驶

自动驾驶系统中,矩形检测技术用于检测道路线、障碍物、车辆等,以实现车辆与周围环境的实时感知和决策。
在这里插入图片描述

3.医学图像处理

在医学图像分析中,矩形检测技术可以帮助检测病灶、肿瘤等,为医生提供诊断依据。
在这里插入图片描述

4.智能零售

智能零售系统中,矩形检测用于商品识别、定位和分类,支持商品管理和库存控制。
在这里插入图片描述

5.图像识别

霍夫矩形检测技术在车牌识别、文字识别等图像识别任务中用于检测和分析图像中的矩形区域。
在这里插入图片描述

6.计算机视觉

在图像分割、目标定位等计算机视觉任务中,霍夫矩形作为基本特征进行处理和分析。
在这里插入图片描述

K230应用

相关函数

find_rects对象

构造函数

image.find_rects([roi=Auto, threshold=10000])

矩形识别函数。返回一个image.rect矩形对象列表。

参数说明
roi识别区域(x,y,w,h),未指定则默认整张图片。
threshold阈值。返回大于或等于threshold的矩形,调整识别可信度。

官方例程

'''
实验名称:矩形检测
实验平台:01Studio CanMV K230
教程:wiki.01studio.cc
说明:推荐使用320x240以下分辨率,分辨率过大会导致帧率下降。
'''

import time, os, sys

from media.sensor import * #导入sensor模块,使用摄像头相关接口
from media.display import * #导入display模块,使用display相关接口
from media.media import * #导入media模块,使用meida相关接口

try:

    sensor = Sensor(width=1280, height=960) #构建摄像头对象
    sensor.reset() #复位和初始化摄像头
    sensor.set_framesize(width=320, height=240) #设置帧大小为LCD分辨率(800x480),默认通道0
    sensor.set_pixformat(Sensor.RGB565) #设置输出图像格式,默认通道0

    Display.init(Display.ST7701, to_ide=True) #同时使用3.5寸mipi屏和IDE缓冲区显示图像,800x480分辨率
    #Display.init(Display.VIRT, sensor.width(), sensor.height()) #只使用IDE缓冲区显示图像

    MediaManager.init() #初始化media资源管理器

    sensor.run() #启动sensor

    clock = time.clock()

    while True:

        os.exitpoint() #检测IDE中断

        ################
        ## 这里编写代码 ##
        ################
        clock.tick()

        img = sensor.snapshot() #拍摄一张图片

        # `threshold` 需要设置一个比价大的值来过滤掉噪声。
        #这样在图像中检测到边缘亮度较低的矩形。矩形
        #边缘量级越大,对比越强…

        for r in img.find_rects(threshold = 10000):
            img.draw_rectangle(r.rect(), color = (255, 0, 0),thickness=2) #画矩形显示
            for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))#四角画小圆形
            print(r)

        #Display.show_image(img) #显示图片

        #显示图片,仅用于LCD居中方式显示
        Display.show_image(img, x=round((800-sensor.width())/2),y=round((480-sensor.height())/2))

        print(clock.fps()) #打印FPS

###################
# IDE中断释放资源代码
###################
except KeyboardInterrupt as e:
    print("user stop: ", e)
except BaseException as e:
    print(f"Exception {e}")
finally:
    # sensor stop run
    if isinstance(sensor, Sensor):
        sensor.stop()
    # deinit display
    Display.deinit()
    os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
    time.sleep_ms(100)
    # release media buffer
    MediaManager.deinit()

在这里插入图片描述## HDMI屏幕使用矩形检测

'''
实验名称:矩形检测测试
实验平台:01Studio CanMV K230
说明:实现图像在HDMI显示器进行矩形检测
测试人:咸鱼浆 2024年9月6日22:02:15
'''

import time, os, sys

from media.sensor import * #导入sensor模块,使用摄像头相关接口
from media.display import * #导入display模块,使用display相关接口
from media.media import * #导入media模块,使用meida相关接口

try:

    sensor = Sensor(width=1280, height=960) #构建摄像头对象,将摄像头长宽设置为4:3
    sensor.reset() #复位和初始化摄像头
    sensor.set_framesize(width=640, height=480) #设置帧大小为(width=640, height=480)太大了就显示不出来了,默认通道0
    sensor.set_pixformat(Sensor.RGB565) #设置输出图像格式,默认通道0

    #使用IDE缓冲区输出图像,显示尺寸和sensor配置一致。
    Display.init(Display.LT9611, to_ide=True)

    MediaManager.init() #初始化media资源管理器

    sensor.run() #启动sensor


    while True:
        os.exitpoint() #检测IDE中断
        ################
        ## 这里编写代码 ##
        ################
        img = sensor.snapshot() #拍摄一张图
        for r in img.find_rects(threshold = 10000):
            img.draw_rectangle(r.rect(), color = (255, 0, 0),thickness=2) #画矩形显示
            for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))#四角画小圆形
            print(r)
        Display.show_image(img, x=round((1920-sensor.width())/2),y=round((1080-sensor.height())/2))
        #Display.show_image(img) #显示图片

###################
# IDE中断释放资源代码
###################
except KeyboardInterrupt as e:
    print("user stop: ", e)
except BaseException as e:
    print(f"Exception {e}")
finally:
    # sensor stop run
    if isinstance(sensor, Sensor):
        sensor.stop()
    # deinit display
    Display.deinit()
    os.exitpoint(os.EXITPOINT_ENABLE_SLEEP)
    time.sleep_ms(100)
    # release media buffer
    MediaManager.deinit()

在这里插入图片描述

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

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

相关文章

【有啥问啥】HashHop在LTM-2-mini中的应用:解锁长期记忆模型的新纪元

HashHop在LTM-2-mini中的应用:解锁长期记忆模型的新纪元 引言 随着AI技术的飞速发展,模型在处理复杂任务和数据时所需的上下文窗口大小也在不断扩展。深度学习模型在处理超长上下文时,往往面临着计算资源消耗高、上下文丢失等问题。近期&am…

通信工程学习:什么是IFMP(Ipsilon流管理协议)

IFMP:Ipsilon流管理协议 IFMP(Ipsilon Flow Management Protocol),即Ipsilon流量管理协议,是一种用于网络流量管理的协议。它主要用于IP交换机、IP交换网关或IP主机中,通过控制数据传送,将现有网…

【H2O2|全栈】更多关于HTML(1)HTML进阶(一)

目录 HTML进阶知识 前言 准备工作 标签的扩展(一) 本文中的标签在什么位置使用? title标签 meta标签 name viewport referrer http-equiv charset content link标签 实际案例 可视部分 代码分析 其他标签 base标签 styl…

《论企业集成平台的技术与应用》写作框架,软考高级系统架构设计师

论文真题 企业集成平台是一个支持复杂信息环境下信息系统开发、集成和协同运行的软件支撑环境。它基于各种企业经营业务的信息特征,在异构分布环境(操作系统、网络、数据库)下为应用提供一致的信息访问和交互手段,对其上运行的应用进行管理,为应用提供服务,并支持企业信…

数论技巧——使用线性筛法去求1~n之间欧拉函数的和

本节是数论中的重要内容,也是算法竞赛中的常考点,初学者理解起来可能有些困难,需要多多体会 给定一个正整数 n,求 1∼n 中每个数的欧拉函数之和。 欧拉函数的定义:1~n中与n互质的数的个数被称为欧拉函数,记作φ(n) 欧…

操作系统 ---- 进程的概念、组成、特征

学习路线: 一、进程的概念及组成 我们通过一个例子来说明进程的概念以及程序和进程的区别。 我们在Windows操作系统中打开任务管理器,在任务管理器当中能看到此时系统当中运行的进程有哪些,如下图所示: 此时&#…

【前端】vue+html+js 实现table表格展示,以及分页按钮添加

一. 问题描述 数据条数太多显示到页面上时可能会渲染较慢,因此需要截取数据进行展示。 二. 代码写法 思路:按照上述图示思路,需要有两个数据列表,一个存储的是所有的列表数据,一个存储的是展示的数据列表&#xff0c…

蒙特卡罗——三门问题python代码实现

三门问题 b站李永乐老师讲解三门问题 python蒙特卡罗模拟 #模拟三门问题 import random as rd #n:模拟次数,m:中奖次数 n100000 m0 for i in range(n):#车位于的门号carrd.randint(0,2)#人随机选择一个门doorrd.randint(0,2)#主持人展示空门empties{0,1,2}-{car,door}emptyrd…

jmeter基准测试详解

配置基准测试策略:单线程连续发送请求5分钟 脚本:基准测试.jmx 提取码: 0000 登录接口换成自己需要的登录接口即可 一、基准测试脚本配置 线程组下添加图表插件:TPS、响应时间、服务器资源 linux服务器在serveragent目录下启动serveragen…

Golang | Leetcode Golang题解之第395题至少有K个重复字符的最长子串

题目&#xff1a; 题解&#xff1a; func longestSubstring(s string, k int) (ans int) {for t : 1; t < 26; t {cnt : [26]int{}total : 0lessK : 0l : 0for r, ch : range s {ch - aif cnt[ch] 0 {totallessK}cnt[ch]if cnt[ch] k {lessK--}for total > t {ch : s[…

智能翻译新时代:深入解析AI驱动的翻译软件优势

现在语言已经不再是我们学习交流的难点了&#xff0c;因为我们的身边涌现了一批类似百度在线翻译这样的翻译工具为我们与不了的语言直接搭建其一个桥梁。这次我们就来一起探讨有什么好用的翻译工具吧。 1.福昕在线翻译 链接直达&#xff1a;https://fanyi.pdf365.cn/doc 对…

[Redis] Redis中的String类型

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

comfyui中的几种inpainting工作流对比

inpainting方法集合_sdxl inpaint教程-CSDN博客文章浏览阅读150次。1.32G,通过它可以将所有的sdxl模型转成sdxl_inpaint模型,源于fooocus_inpaint_head,将9个通道压缩为4个通道的小型卷积网络,标准模型unet有4个通道,重绘模型有9个通道,inpaint_model_head和inpaint mode…

Jupyter Notebook 修改默认路径

Jupyter Notebook 修改默认路径 1、默认路径 安装anaconda后&#xff0c;jupyter notebook默认路径下很多文件&#xff0c;很乱&#xff0c;所以为了创建一个干净的文件夹专门存放我的python项目&#xff0c;修改jupyter notebook的文件路径 这是我现在打开jupyter notebook…

常见概念 -- 光回波损耗

什么是回波损耗 回波损耗&#xff0c;又称为反射损耗&#xff0c;当高速信号进入或退出光纤的某个部分&#xff08;例如光纤连接器&#xff09;&#xff0c;不连续和阻抗不匹配会引起反射&#xff0c;这就是光纤回波损耗。器件的回波损耗Return Loss(RL)是光信号的输入端口的反…

【信创】推荐一款在龙芯CPU终端上使用的WiFi接收器 _ 统信 _ 麒麟

原文链接&#xff1a;【信创】推荐一款在龙芯CPU终端上使用的WiFi接收器 | 统信 | 麒麟 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在龙芯CPU架构的台式机上如何安装和使用无线WiFi接收器的文章。对于使用龙芯CPU的台式机用户来说&#xff0c;安装并配置WiF…

新版智慧职教(zjy2域名开头的)怎么下载课件?一篇文章教会你

文章目录 1、引言2、痛点3、解决方法 &#x1f343;作者介绍&#xff1a;双非本科大四网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;专注于Java领域学习&#xff0c;擅长web应用开发&#xff0c;目前开始人工智能领域相关知识的学习 &#x1f985;个人主页&#xff…

Redis面试必备:Redis两种内存回收策略,Redis键空间、过期字典等

请记住胡广一句话&#xff0c;所有的中间件所有的框架都是建立在基础之上&#xff0c;数据结构&#xff0c;计算机网络&#xff0c;计算机原理大伙一定得看透&#xff01;&#xff01;~ 1. Redis数据库 1.1 Redis数据库的理解 我们可以把Redis的数据库和MySQL的数据库理解成…

运维学习————Zabbix监控框架(1)

目录 一、监控 1、概念 2、作用 3、创建监控框架 老牌监控框架 新款王牌监控框架 二、zabbix简介 1、概述 2、核心功能 三、主要组件及运行原理 1、主要组件 Zabbix Server Zabbix Agent Zabbix Proxy Zabbix Web 界面 数据库 其他 2、监控架构原理图 原…

通义千问Qwen2-7b-instruct部署

前言 https://www.modelscope.cn/models/qwen/Qwen2-7B-Instruct 其实完全可以按照这个介绍来装&#xff0c;不过容易遇到一些问题&#xff0c;新学习&#xff0c;也是记录一下 环境 python 3.10 在自己电脑上用conda创建一个新环境找租用的服务器租一台&#xff0c;3090一…