注册 登录
编程论坛 Python论坛

用openmv来使用cnn来进行目标图片捕捉,已保存6张图片,也已编写如下代码,不知道有无问题,有无需要改进的地方

Metis 发布于 2025-02-25 22:00, 73 次点击

import time
import sensor
import image
from image import SEARCH_EX

# 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.
template1 = image.Image("/o.battery1.pgm")
template2 = image.Image("/o.battery2.pgm")
template3 = image.Image("/o.battery3.pgm")
template4 = image.Image("/o.battery4.pgm")
template5 = image.Image("/o.battery5.pgm")
template6 = image.Image("/o.battery6.pgm")

clock = time.clock()

# 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.
    r1 = img.find_template(template1, 0.70, step=4, search=SEARCH_EX)  # , roi=(10, 0, 60, 60))
    if r1:
        img.draw_rectangle(r1)
    r2 = img.find_template(template2, 0.70, step=4, search=SEARCH_EX)  # , roi=(10, 0, 60, 60))
    if r2:
        img.draw_rectangle(r2)
    r3 = img.find_template(template3, 0.70, step=4, search=SEARCH_EX)  # , roi=(10, 0, 60, 60))
    if r3:
        img.draw_rectangle(r3)
    r4= img.find_template(template4, 0.70, step=4, search=SEARCH_EX)  # , roi=(10, 0, 60, 60))
    if r4:
        img.draw_rectangle(r4)

    r5 = img.find_template(template5, 0.70, step=4, search=SEARCH_EX)  # , roi=(10, 0, 60, 60))
    if r5:
        img.draw_rectangle(r5)

    r6 = img.find_template(template6, 0.70, step=4, search=SEARCH_EX)  # , roi=(10, 0, 60, 60))
    if r6:
        img.draw_rectangle(r6)
    print(clock.fps())
0 回复
1