sd卡¶
例程¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import sensor
import lcd
import image
lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 1000)
print("cam init ok")
img_path = "/sd/image-1.jpg"
print("cam capture")
lcd.clear(lcd.WHITE)
img = sensor.snapshot()
lcd.clear()
img.save(img_path)
print("read image")
img_read = image.Image(img_path)
lcd.display(img_read)
print("exit")
|
实验准备¶
需要准备一张SD卡
SD卡需要格式化成xxx格式
将SD卡插入到
野火K210 AI视觉相机
连接到
CanMV IDE
并打开串口终端
执行程序
运行结果¶
1.可以看到 串口终端
上会显示下面的信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | >>> cmos cmos_pclk = 23
cmos cmos_xclk = 22
cmos cmos_href = 20
cmos cmos_pwdn = 21
cmos cmos_vsync = 18
cmos reg_width = 8
cmos i2c_num = 2
cmos pin_clk = 25
cmos pin_sda = 24
cmos gpio_clk = 0
cmos gpio_sda = 0
init i2c:2 freq:100000
[CANMV]: find ov2640
[CANMV]: find ov sensor
|
2.等待一小会,就会看到 串口终端
上打印 cam init ok
和 cam capture

3.这时可以看到lcd屏幕像闪光灯一样,先亮然后灭

4.在 串口终端
上打印 read image

5.可以看到屏幕在显示拍到的图片

6.在 串口终端
上打印 exit

7.程序结束
8.将 野火K210 AI视觉相机
断电 ,把sd卡拔出,并在电脑上用读卡器读出数据,可以看到sd卡中多了一张图片 image-1.jpg

注解
如果没插sd卡或者sd卡的格式不对,都会导致第四步没办法正常执行,会显示下图内容

程序分析¶
1 2 3 | import sensor
import lcd
import image
|
import sensor
: 导入用于控制图像传感器的模块。import lcd
: 导入用于控制LCD显示屏的模块。import image
: 导入用于处理图像的模块。
1 2 3 4 5 6 | lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.skip_frames(time = 1000)
print("cam init ok")
|
lcd.init()
: 初始化LCD显示屏。sensor.reset()
: 重置图像传感器。sensor.set_pixformat(sensor.RGB565)
: 设置图像传感器的像素格式为RGB565。sensor.set_framesize(sensor.QVGA)
: 设置图像传感器的帧大小为QVGA(320x240像素)。sensor.skip_frames(time = 1000)
: 跳过1000毫秒内的帧,等待传感器稳定。print("cam init ok")
: 打印消息,表示相机初始化完成。
1 | img_path = "/sd/image-1.jpg"
|
img_path = "/sd/image-1.jpg"
:设置图片保存的位置和图片保存的名称/sd/image-1.jpg
。
1 2 3 4 5 | print("cam capture")
lcd.clear(lcd.WHITE)
img = sensor.snapshot()
lcd.clear()
img.save(img_path)
|
print("cam capture")
: 打印消息,表示开始捕获图像。lcd.clear(lcd.WHITE)
: 清除LCD显示屏,并用白色填充。img = sensor.snapshot()
: 从图像传感器捕获一帧图像。lcd.clear()
: 清除LCD显示屏。img.save(img_path)
: 将捕获的图像保存到指定的路径。
1 2 3 4 | print("read image")
img_read = image.Image(img_path)
lcd.display(img_read)
print("exit")
|
print("read image")
打印消息,表示开始读取图像。img_read = image.Image(img_path)
: 从SD卡加载图像。lcd.display(img_read)
: 将加载的图像显示在LCD上。print("exit")
: 打印消息,表示程序结束。