原创 milkduo实时视像头显示在12864上的例程

2023-12-6 10:04 148 0 分类: 物联网 文集: 学习分享
以下是一个基本的例程,可以将实时视像头显示在12864液晶显示屏上:

```python
import cv2
import numpy as np
import time
from machine import I2C, Pin

# 初始化I2C和引脚
i2c = I2C(scl=Pin(5), sda=Pin(4))
lcd = I2C(scl=Pin(5), sda=Pin(4), freq=400000)

# 初始化摄像头
cap = cv2.VideoCapture(0)

while True:
    # 读取一帧图像
    ret, frame = cap.read()
    if not ret:
        break
    # 将图像转换为灰度图
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    # 缩放图像到合适的大小
    resized = cv2.resize(gray, (320, 240))
    # 将图像数据写入LCD屏幕
    lcd.writebytes(resized)
    # 延时一段时间,避免过快刷新导致画面闪烁
    time.sleep(0.01)

# 释放资源并关闭摄像头和LCD屏幕
cap.release()
lcd.writebytes([])
```

这个例程使用了OpenCV库来处理图像,首先初始化了I2C总线和LCD屏幕的引脚连接。然后,使用cv2.VideoCapture函数打开摄像头,并在一个无限循环中不断读取摄像头的图像数据。对于每一帧图像,先将其转换为灰度图,然后缩放到合适的大小,最后将图像数据写入LCD屏幕。为了避免画面闪烁,程序在每次刷新后会延时一段时间。当摄像头无法读取到图像时,程序会退出循环并释放资源。

作者: 丙丁先生, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3996156.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 0
赞赏0

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
0
1
2
3
4
5
6
7
8
9
0
关闭 站长推荐上一条 /4 下一条