369浏览
查看: 369|回复: 15

[求助] 行空板K10 micropython 如何拍照保存?

[复制链接]
行空板K10 micropython 如何拍照保存?

木子呢  管理员

发表于 2024-12-6 16:57:34

回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-7 06:58:12

早就细细读了好多遍,但是唯独缺“micropython"拍照并保存的介绍,是“micropython拍照保存照片”不是图形化c语言。
应该是k10的bug!<div class="reference"><p><a href="https://mc.dfrobot.com.cn/home.php?mod=space&uid=825817&do=profile" target="_blank">木子呢</a> 2024-12-06 04:57:34<p><div class="quote">看下官方教程:https://wiki.dfrobot.com.cn/_SKU ... 7%A9%BA%E6%9D%BFK10</div></div>
回复

使用道具 举报

PY学习笔记  初级技师

发表于 2024-12-15 14:49:47

深邃蓝 发表于 2024-12-7 06:58
早就细细读了好多遍,但是唯独缺“micropython"拍照并保存的介绍,是“micropython拍照保存照片”不是图形 ...

https://mp.weixin.qq.com/s?__biz ... 4504476088303617#rd引脚改成K10的引脚就行,其实micropython的东西很难所以很难出教程。刷官方的K10库固件即可
回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-16 17:55:00

PY学习笔记 发表于 2024-12-15 14:49
https://mp.weixin.qq.com/s?__biz=MzkzNDQzMTc0OA==&mid=2247484078&idx=1&sn=5d36f0e76df4636338a03185 ...

WARNING:root:Unexpected echo. Expected b'\r\n', got b'ES'
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x8 (TG1WDT_SYS_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403764db
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3820,len:0x105c
load:0x403c9700,len:0x4
load:0x403c9704,len:0xbd8
load:0x403cc700,len:0x2e30
entry 0x403c989c
W (26) boot.esp32s3: PRO CPU has been reset by WDT.
W (26) boot.esp32s3: APP CPU has been reset by WDT.
回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-17 08:46:43

以上代码不能运行,错误!

本帖最后由 深邃蓝 于 2024-12-17 09:00 编辑

import camera
camera.deinit() # 释放camera
try:
    camera.init(0, d0=8, d1=10, d2=11, d3=9, d4=18, d5=16, d6=15, d7=6,
            format=camera.JPEG, framesize=camera.FRAME_SVGA,
            xclk_freq=camera.XCLK_10MHz,
            href=5, vsync=4, reset=-1, pwdn=-1,
            sioc=48, siod=47, xclk=7, pclk=17)
except Exception as e:
    camera.deinit() # 释放camera
    camera.init(0, d0=8, d1=10, d2=11, d3=9, d4=18, d5=16, d6=15, d7=6,
            format=camera.JPEG, framesize=camera.FRAME_SVGA,
            xclk_freq=camera.XCLK_10MHz,
            href=5, vsync=4, reset=-1, pwdn=-1,
            sioc=48, siod=47, xclk=7, pclk=17)#y2-d0

buf = camera.capture()

with open('1.jpg','wb') as f:
    f.write(buf)    print("拍照已完成")
   
camera.deinit() # 释放camera

#
#以上代码不能运行,错误!


回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-17 08:59:20

以上代码不能运行,错误!
回复

使用道具 举报

PY学习笔记  初级技师

发表于 2024-12-18 17:03:52

深邃蓝 发表于 2024-12-17 08:59
以上代码不能运行,错误!

引脚是K10的吗?
回复

使用道具 举报

PY学习笔记  初级技师

发表于 2024-12-18 17:05:42


一定要是K10的引脚否则就错
回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-19 11:01:49

PY学习笔记 发表于 2024-12-18 17:05
一定要是K10的引脚否则就错

我检查过多次,是K10引脚,运行不成功,麻烦您也测试一下,不就知道了?
回复

使用道具 举报

PY学习笔记  初级技师

发表于 2024-12-20 09:08:17

深邃蓝 发表于 2024-12-19 11:01
我检查过多次,是K10引脚,运行不成功,麻烦您也测试一下,不就知道了? ...

那代码给我一下我测试一下
回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-20 12:21:15

代码早就发上面了啊
回复

使用道具 举报

PY学习笔记  初级技师

发表于 2024-12-21 14:17:30

深邃蓝 发表于 2024-12-20 12:21
代码早就发上面了啊

import camera


# 初始化摄像头
camera.init(0, format=camera.JPEG, fb_location=camera.PSRAM)

# 拍摄一张图片
buf = camera.capture()  # 大小是640x480

# 保存图片到文件
with open("第一张图片.png", "wb") as f:
    f.write(buf)
回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2024-12-23 09:19:05


您这代码,我早就测试过,不成功!
强烈建议"PY学习笔记"亲自测试再贴出来。
回复

使用道具 举报

PY学习笔记  初级技师

发表于 2025-1-1 17:57:09

import camera
from microbmp import MicroBMP #https://github.com/jacklinquan/m ... ob/main/microbmp.py

# 将 RGB565 转换为 RGB888 的函数
def RGB565_to_RGB888_array(rgb565_array, length, rgb888_array):
   for i in range(length):
       rgb565 = rgb565_array

       # 提取 RGB565 中的颜色分量
       red = (rgb565 >> 11) & 0x1F  # 5 bits
       green = (rgb565 >> 5) & 0x3F  # 6 bits
       blue = rgb565 & 0x1F  # 5 bits

       # 将颜色分量扩展到 8 位
       r = (red << 3) | (red >> 2)  # 5 bits to 8 bits
       g = (green << 2) | (green >> 4)  # 6 bits to 8 bits
       b = (blue << 3) | (blue >> 2)  # 5 bits to 8 bits

       # 将结果存储到 RGB888 数组
       rgb888_array[i * 3] = r
       rgb888_array[i * 3 + 1] = g
       rgb888_array[i * 3 + 2] = b

# 初始化摄像头
camera.init(0)

# 捕获一帧画面
buf = camera.capture()

# 创建 MicroBMP 实例
bmp = MicroBMP(width=640, height=480, depth=24)

# 将 RGB565 数据转换为 RGB888
rgb888_array = bytearray(bmp.DIB_w * bmp.DIB_h * 3)  # 初始化 RGB888 格式的像素数据数组
RGB565_to_RGB888_array(buf, len(buf) // 2, rgb888_array)

# 将 RGB888 数据写入 MicroBMP 实例
for y in range(bmp.DIB_h):
   for x in range(bmp.DIB_w):
       idx = (y * bmp.DIB_w + x) * 3
       bmp[x, y] = (rgb888_array[idx], rgb888_array[idx + 1], rgb888_array[idx + 2])

# 保存 BMP 文件
bmp.save("image.bmp")
试试这个
回复

使用道具 举报

深邃蓝  见习技师
 楼主|

发表于 2025-1-2 11:40:39

再次测试,运行可以,就是非常慢,要几分钟时间。

本帖最后由 深邃蓝 于 2025-1-6 16:49 编辑

再次测试,运行可以,就是非常慢,要几分钟时间。
有没有办法加快速度?

感谢大佬。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
关于楼主
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail