欢迎光临散文网 会员登陆 & 注册

ESP32CAM的openmv初体验

2022-04-14 11:26 作者:邪恶的胖次菌  | 我要投稿

ESP32CAM的使用

基础入门

import camera

camera.init(0,format=2)

camera.init(0,format=camera.GRAYSCALE) #默认灰度图

camera.init(0,format=3)

camera.init(0,format=camera.JPEG)#JPG格式

# 相关格式

# JPEG -- 3

# YUV422 -- 1

# GRAYSCALE -- 2

# RGB565 -- 0

camera.framesize(5)

#320X240 设置分辨率 

img=camera.capture()


SD卡管理

import uos

from machine import SDCard

#FAT 格式的存储卡

uos.mount(SDCard(),'/sd')

uos.listdir()

uos.chdir('/sd')

uos.listdir()

图片保存

fg=open("a.jpg","w")

fg.write(img)

fg.close() 

#thonny 使用直接右击下载文件,直接查看,本地空间,OPENMV下的esp32cam有1MB的可用空间,单纯micropython下有2MB的空间

#闪关灯

#GPIO4 为LED补光灯,若长时间使用会有严重的发热问题

from machine import Pin

flash=Pin(4,Pin.OUT)

flash.on() #打开闪关灯

flash.off() #关闭闪关灯

openmv初体验

img参数直接打印为: 分辨率 文件类型 文件大小

在非jpg下 建设使用320x240 的分辨率(默认分辨率) 可用分辨率:

需要250ms (推荐分辨率 可以4FPS)

  • camera.framesize(5) 5 :::: {"w":320, "h":240, "type"="grayscale", "size":76800} ::: 267 ms

  • camera.framesize(6) 6 :::: {"w":400, "h":296, "type"="grayscale", "size":118400} ::: 249 ms

需要750ms

  • camera.framesize(7) 7 :::: {"w":480, "h":320, "type"="grayscale", "size":153600} ::: 770 ms

  • camera.framesize(8) 8 :::: {"w":640, "h":480, "type"="grayscale", "size":307200} ::: 722 ms

  • camera.framesize(9) 9 :::: {"w":800, "h":600, "type"="grayscale", "size":480000} ::: 686 ms

需要2000ms(不建议使用)

  • camera.framesize(10) 10 :::: {"w":1024, "h":768, "type"="grayscale", "size":786432} ::: 2019 ms

  • camera.framesize(11) 11 :::: {"w":1280, "h":720, "type"="grayscale", "size":921600} ::: 1819 ms

  • camera.framesize(12) 12 :::: {"w":1280, "h":1024, "type"="grayscale", "size":1310720} ::: 2126 ms

  • camera.framesize(13) 13 :::: {"w":1600, "h":1200, "type"="grayscale", "size":1920000} ::: 1968 ms

JPG模式下全分辨率可用,但是使用OPENMV建议处理分辨率为320x240 或 400x296

ESP32CAM 处理步骤

  1. 设定相机参数

  2. 拍照

  3. 使用OPENMV处理

使用img(拍摄完的对象)进行处理 使用help(img)查看其方法 和openmv的stm32设备下,除了拍照方面不同,其他方面都差不多,文档地址: book.openmv.cc 大家做相应的替换

二维码识别:

img.find_qrcodes() 若识别到二维码,就会返回扫描的相关数据。 但是二维码需要使用灰度图片

import time,camera

camera.init(0,format=2)#使用灰度图

#camera.init(0,format=camera.GRAYSCALE) 

while True:    

    img=camera.capture()    

    e=img.find_qrcodes()    

    if e:        

        print(e)    

    time.sleep(0.5)


ESP32CAM的openmv初体验的评论 (共 条)

分享到微博请遵守国家法律