OpenMV模版匹配及其应用
创作时间:
作者:
@小白创作中心
OpenMV模版匹配及其应用
引用
CSDN
1.
https://bbs.csdn.net/topics/619466039
OpenMV是由美国克里斯团队基于MicroPython发起的开源机器视觉项目,它搭载了MicroPython解释器,使开发者能够在嵌入式设备上进行Python开发。OpenMV基于32位ARM Cortex-M7内核,结合各种摄像头,可以实现多种机器视觉应用,如人脸检测和物体分类等。
一、OpenMV简单介绍
OpenMV是由美国克里斯团队基于MicroPython发起的开源机器视觉项目,OpenMV搭载了MicroPython解释器,使其可以在嵌入式端进行python开发,OpenMV基于32位,ARM Cortex-M7内核的OpenMV-H7, 并结合各种摄像头,可以进行多种机器视觉应用的实现,比如人脸检测,物体分类等。
然后这里介绍两款基础OpenMV的相关信息
二、OpenMV的应用
OpenMV可以与无人机相结合,也可以运用在电子设计大赛中。2022全国大学生电子设计大赛中的小车识别数字项目,以及2023全国大学生电子设计大赛中的云台追踪激光项目,都运用到了OpenMV。
三、模版匹配及代码
模板匹配就是在给定的图片中,查找和模板最相似的区域,算法的输入包括模板和图片,通过不断移动模板图片,计算其与图片对应区域匹配度,将匹配度最高区域选择为最终结果。
下面是使用OpenMV进行模板匹配的代码示例:
# Template Matching Example - Normalized Cross Correlation (NCC)
#
# This example shows off how to use the NCC feature of your OpenMV Cam to match
# image patches to parts of an image... expect for extremely controlled environments
# NCC is not all to useful.
#
# WARNING: NCC supports needs to be reworked! As of right now this feature needs
# a lot of work to be made into somethin useful. This script will remain to show
# that the functionality exists, but, in its current state is inadequate.
import time
import sensor
import image
import math
from image import SEARCH_EX
from pyb import UART
# from image import SEARCH_DS
# Reset sensor
sensor.reset()
# Set sensor settings
sensor.set_contrast(1)
sensor.set_gainceiling(16)
# Max resolution for template matching with SEARCH_EX is QQVGA
sensor.set_framesize(sensor.QQVGA)
# You can set windowing to reduce the search image.
# sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60))
sensor.set_pixformat(sensor.GRAYSCALE)
# Load template.
# Template should be a small (eg. 32x32 pixels) grayscale image.
template = image.Image("5.pgm")
clock = time.clock()
uart = UART(3, 115200)
# Run template matching
while True:
clock.tick()
img = sensor.snapshot()
# find_template(template, threshold, [roi, step, search])
# ROI: The region of interest tuple (x, y, w, h).
# Step: The loop step used (y+=step, x+=step) use a bigger step to make it faster.
# Search is either image.SEARCH_EX for exhaustive search or image.SEARCH_DS for diamond search
#
# Note1: ROI has to be smaller than the image and bigger than the template.
# Note2: In diamond search, step and ROI are both ignored.
r = img.find_template(
template, 0.70, step=4, search=SEARCH_EX
) # , roi=(10, 0, 60, 60))
if r:
img.draw_rectangle(r)
print(clock.fps())
这里的 “emplate = image.Image("5.pgm")” 就是识别sd卡中5.pgm图片,识别到相同图片即可框出。
四、总结
OpenMV的应用非常广泛,尤其最近两年全国大学生电子设计大赛中加重了摄像头模块的使用,这也是现在智能化发展的趋势,本次只是举了一个简单的例子,接下来我们将讲解OpenMV与stm32之间的通信。
热门推荐
白茶煮陈皮有咽喉炎的人可以喝吗
解锁易读性密码:提升文字的可读性,征服读者与搜索引擎
“量子纠错”突破性进展!谷歌和中国研究团队打响量子竞速赛
常来常往,解锁常州与常熟的文旅密码
女性“最佳生育年龄”出炉,医生建议:过了这个年龄就别生了
百家姓之53—苗姓,起源·迁徙·家训·名人故事
在MBTI中S和N分别代表什么
止损率的合理设置方法是什么?止损率对投资有哪些影响?
多地楼市推出“迎新年、购新房”活动,房企发力春节营销
为什么说情劫是最好的疗愈呢?
14句深入人心的感情文案,撩动你最柔软的心弦
拥抱的力量:从科学到人文的温暖解读
美国数据震动市场:美元冲高跳水波动近60点,未来方向在哪里?
日本亲子游必去景点TOP5:从冲绳到东京的夏日度假指南
乌金木是什么木? 属于乌木吗
2025物化生最佳专业推荐:计算机科学与技术专业大学名单及录取分数线
“到安溪吃茶去!” 2024安溪开茶节暨安溪县茶庄园文化旅游节启幕
警惕!手足口病进入高发期!该如何识别?
“充实的教育生活才是最好的浪漫”——记甘肃省兰州市城关区一只船小学校长张文博
吸引力是什麼意思?
罗马教廷烧死布鲁诺带来的启示——科学是开启遏制宗教狂热的处方良药
牙齿矫正对提升颜值的影响有多大
今年第二轮存款利率下调背后
如何看懂显卡配置,提升电脑性能与使用体验
裁判理由透明:司法公正的重要体现
B本驾驶证年检需要哪些手续?
智能集群无人机组网技术关键要素详解
曼城对决纽卡,哈兰德与伊萨克争锋,争夺开云前四席位,央视直播
中国古代四大发明之一:黑火药
既当女儿又当老婆的面对生活所需的多重角色和情感责任:探索家庭动态与情感平衡