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之间的通信。
热门推荐
专家提醒:春节老人饮食需避开“三高”,注重营养补充
如何促进宝宝的语言能力
指压板超慢跑火了!有人跑出了足底筋膜炎,医生提醒
你以为正常,实则可能有害健康的 8 种东西
京港澳高速湖南段扩容工程全面铺开,三个路段同步开工
北京两大堵点迎新突破:杜家坎疏堵开工,丽泽路将通车
Rockstar Launcher离线模式无法建立连接?可以这样解决。
Steam游戏单机离线玩法指南:轻松实现离线游戏体验
樱花心动校园:唯美二次元校园恋爱模拟游戏
备孕神器:排卵监测方法大揭秘
秦腔“国潮”崛起:动漫出海,虚拟人演绎传统戏曲之美
人老腿不老:7个简单养腿方法,助你延缓衰老
脚后跟既不红、也不肿,但一走路就痛,要小心这种病
中科检测教你辨别炒菜调料安全性
十大炒菜必备调料,让你秒变大厨
厨房里的“全能王”:生姜让炒菜营养翻倍的秘密
深圳中医药膳师报考指南:条件、培训、考试与就业前景全解析
杭州临安秋季自驾游:竹海、枫叶、古村,一网打尽
浙江冰雪旅游跻身全国前十,探索“冰雪+”新模式
身体缺觉的三大信号与四大应对法,别让睡眠不足伤身
5日自驾游山南:南迦巴瓦到羊卓雍措,6县市精华游
拉萨出发,山南自驾:圣湖古刹到大峡谷
心脏性猝死年超54万,专家详解诱因、预防与急救
心脏性猝死九成院外发生,专家详解预防与急救
熬夜让年轻人猝死风险陡增,五大方法助你远离健康危机
洗衣机显示66故障怎么办?原因分析与解决方法
三地联动推暑期旅游:大黄山会奖、丽水文化、叶城摄影
宁波一日自驾游:历史文化、自然风光等5条路线详解
2024Steam年度最佳剧情游戏盘点:十大精品游戏推荐
最好玩的十款剧情向单机游戏大作 十大剧情游戏神作盘点