ESP32-Thonny 拍摄图片到SD卡

前言:

代码运行在Thonny

添加main.py到单片机中:

可以先运行一下试试:会输出以下信息:

没有问题的话(SD卡挂载成功,摄像头初始化成功)运行一次主程序后,闪光灯会闪烁一下。

代码:

python 复制代码
import camera
import socket
import time
import uos
from machine import SDCard
from machine import Pin


# 挂载sd卡到sd文件夹
try:
    uos.mount(SDCard(), "/sd")
except Exception as ret:
    print("挂载失败...", ret)
else:
    print("挂载成功...")

# 初始化摄像头 
camera.init(0, format=camera.JPEG, fb_location=camera.PSRAM)
print("初始化摄像头成功...")
    
# 上翻下翻
camera.flip(1)
#左/右
camera.mirror(0)

# 分辨率
camera.framesize(camera.FRAME_HVGA)
# 选项如下:
# FRAME_96X96 FRAME_QQVGA FRAME_QCIF FRAME_HQVGA FRAME_240X240
# FRAME_QVGA FRAME_CIF FRAME_HVGA FRAME_VGA FRAME_SVGA
# FRAME_XGA FRAME_HD FRAME_SXGA FRAME_UXGA FRAME_FHD
# FRAME_P_HD FRAME_P_3MP FRAME_QXGA FRAME_QHD FRAME_WQXGA
# FRAME_P_FHD FRAME_QSXGA


# 特效
camera.speffect(camera.EFFECT_NONE)
#选项如下:
# 效果\无(默认)效果\负效果\ BW效果\红色效果\绿色效果\蓝色效果\复古效果
# EFFECT_NONE (default) EFFECT_NEG \EFFECT_BW\ EFFECT_RED\ EFFECT_GREEN\ EFFECT_BLUE\ EFFECT_RETRO

# 白平衡
# camera.whitebalance(camera.WB_HOME)
#选项如下:
# WB_NONE (default) WB_SUNNY WB_CLOUDY WB_OFFICE WB_HOME

# 饱和
camera.saturation(2)
#-2,2(默认为0). -2灰度
# -2,2 (default 0). -2 grayscale 

# 亮度
camera.brightness(1)
#-2,2(默认为0). 2亮度
# -2,2 (default 0). 2 brightness

# 对比度
camera.contrast(1)
#-2,2(默认为0).2高对比度
#-2,2 (default 0). 2 highcontrast

# 质量
camera.quality(10)
#10-63数字越小质量越高

# socket UDP 的创建
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)

led = Pin(4, Pin.OUT)

try:
    count = 1
    while True:
        buf = camera.capture()  # 大小是640x480  拍摄一张图片
#        tu_name= "图{}.png".format(count)
#       with open(tu_name, "wb") as f:
#            f.write(buf)  # buf中的数据就是图片的数据,所以直接写入到文件就行了
#        print("拍照已完成")
        sd_name="/sd/tu{}.jpg".format(count)
        with open(sd_name, "wb") as f:
            f.write(buf)
        if count < 2:
            led.value(1)
            time.sleep(0.1)
            led.value(0)
            time.sleep(0.1)
#        print(sd_name)
        time.sleep(3)#3s
        count +=1
finally:      
    camera.deinit()


    
    

结果:

ji代码是在这个网站学习的:

PDF文档下载 (itprojects.cn)

相关推荐
天天进步20158 分钟前
Python全栈项目:结合Puppeteer和AI模型操作浏览器
开发语言·人工智能·python
闲人编程26 分钟前
用Python识别图片中的文字(Tesseract OCR)
开发语言·python·ocr·识图·codecapsule
盘古开天16661 小时前
从零开始:如何搭建你的第一个简单的Flask网站
后端·python·flask
国科安芯1 小时前
多输出电压条件下同步整流效率测试与优化
网络·单片机·嵌入式硬件·安全
二进制星轨1 小时前
Transofrmer架构详解与PyTorch实现(附代码讲解)
人工智能·pytorch·python
生而为虫2 小时前
02.第一个Python程序
开发语言·python
视觉AI2 小时前
如何查看 Linux 下正在运行的 Python 程序是哪一个
linux·人工智能·python
李宥小哥3 小时前
创建型设计模式1
stm32·嵌入式硬件·设计模式
std860213 小时前
嵌入式软件与单片机的核心技术与应用
单片机·嵌入式硬件
Shylock_Mister3 小时前
弱函数:嵌入式回调的最佳实践
c语言·单片机·嵌入式硬件·物联网