ESP32CAM的openmv初體驗(yàn)
ESP32CAM的使用
基礎(chǔ)入門
import camera
camera.init(0,format=2)
camera.init(0,format=camera.GRAYSCALE) #默認(rèn)灰度圖
camera.init(0,format=3)
camera.init(0,format=camera.JPEG)#JPG格式
# 相關(guān)格式
# JPEG -- 3
# YUV422 -- 1
# GRAYSCALE -- 2
# RGB565 -- 0
camera.framesize(5)
#320X240 設(shè)置分辨率?
img=camera.capture()
SD卡管理
import uos
from machine import SDCard
#FAT 格式的存儲(chǔ)卡
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的空間
#閃關(guān)燈
#GPIO4 為L(zhǎng)ED補(bǔ)光燈,若長(zhǎng)時(shí)間使用會(huì)有嚴(yán)重的發(fā)熱問題
from machine import Pin
flash=Pin(4,Pin.OUT)
flash.on() #打開閃關(guān)燈
flash.off() #關(guān)閉閃關(guān)燈
openmv初體驗(yàn)
img參數(shù)直接打印為: 分辨率 文件類型 文件大小
在非jpg下 建設(shè)使用320x240 的分辨率(默認(rèn)分辨率) 可用分辨率:
需要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 處理步驟
設(shè)定相機(jī)參數(shù)
拍照
使用OPENMV處理
使用img(拍攝完的對(duì)象)進(jìn)行處理 使用help(img)查看其方法 和openmv的stm32設(shè)備下,除了拍照方面不同,其他方面都差不多,文檔地址:?book.openmv.cc?大家做相應(yīng)的替換
二維碼識(shí)別:
img.find_qrcodes() 若識(shí)別到二維碼,就會(huì)返回掃描的相關(guān)數(shù)據(jù)。 但是二維碼需要使用灰度圖片
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)