OV7725+M12基于OpenmvIDE实现矩形框的检测

        OV7725是一款采用STM32H750VBT6的摄像头,可通过OpenmvIDE使用Python语言来编程,实现摄像头的功能。

        放图:

 

        电赛用E题用了K210,弄的我苦不堪言,后来发现了这个,但是到货已经是封箱前几个小时了。只能留下来比赛结束后再去学这个。想看看这款OV与K210比怎么样。

        话不多说。

        要实现矩形框的检测,就要使用官方提供的img.find_rects()函数就是在摄像头画面中寻找矩形框。然后用画线的方法来框住边缘。

        还可以直接用此行代码添加到if循环里代替那四行的画线的代码。(其实我是有点强迫症的所以必须要让矩形框紧紧抱住她的边缘美观一点其实)。

img.draw_rectangle(r.rect(), color = (255, 0, 0))

 先让你们感受一下死死抱住她是什么样子。

 你们自行选择哈。

import sensor, image, time

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QQVGA2)
sensor.skip_frames(time=2000)

clock = time.clock()

#定义四个列表用于存储矩形四个点的横纵坐标#
A = (0, 0)
B = (0, 0)
C = (0, 0)
D = (0, 0)


while (True):
    clock.tick()
    img = sensor.snapshot()

    # 下面的`threshold`应设置为足够高的值,以滤除在图像中检测到的具有
    # 低边缘幅度的噪声矩形。最适用与背景形成鲜明对比的矩形
    for r in img.find_rects(threshold=10000):
        if r.w() > 40 and r.h() > 40:
            #img.draw_rectangle(r.rect(), color = (255, 0, 0))
            #返回一个由矩形对象的四个角组成的四个元组(x,y)的列表。四个角通常是按照从左上角开始沿 
            #顺时针顺序返回的。
            corner = r.corners()
            A = (corner[0][0], corner[0][1])
            B = (corner[1][0], corner[1][1])
            C = (corner[2][0], corner[2][1])
            D = (corner[3][0], corner[3][1])
            break
    #img.draw_circle(圆心的x,圆心的y,颜色,粗细,关闭填充)
    img.draw_circle(A[0], A[1], 5, color=(0, 0, 255), thickness=2, fill=False)
    img.draw_circle(B[0], B[1], 5, color=(0, 0, 255), thickness=2, fill=False)
    img.draw_circle(C[0], C[1], 5, color=(0, 0, 255), thickness=2, fill=False)
    img.draw_circle(D[0], D[1], 5, color=(0, 0, 255), thickness=2, fill=False)
    #框出矩形的边缘#
    #img.draw_line(起始点x,起始点y,终止点x,终止点y,颜色,画线的粗细)
    img.draw_line(A[0],A[1],B[0],B[1],color=(0,255,0),thickness=1)
    img.draw_line(B[0],B[1],C[0],C[1],color=(0,255,0),thickness=1)
    img.draw_line(C[0],C[1],D[0],D[1],color=(0,255,0),thickness=1)
    img.draw_line(D[0],D[1],A[0],A[1],color=(0,255,0),thickness=1)
    # 打印帧率
    print(clock.fps())

        给烙铁们看看效果哈。

         好咯,这是我第一次作品,可能会有错误的地方,如果有错的地方,欢迎大家在评论区指出,一定虚心改正!

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caiaijy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值