JOEYCH

  • 2024-11-03
  • 回复了主题帖: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪 作品总结与提交

    wangerxian 发表于 2024-11-2 10:48 那还可以的,这个帧率完全够用了。 不写模式切换什么的,还可以快不少

  • 2024-11-01
  • 回复了主题帖: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪 作品总结与提交

    wangerxian 发表于 2024-10-30 17:45 双光融合模式帧率就很低了吧。毕竟要采集两个传感器的图像。 每秒十帧,手持测量看看板子发热情况感觉还可以。代码还有优化空间

  • 2024-10-30
  • 发表了主题帖: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪 作品总结与提交

    本帖最后由 JOEYCH 于 2024-10-30 15:33 编辑 “双光融合”智能热像仪 作者:JOEYCH 作品简介 本项目为一款“双光融合”智能热像仪, “双光融合”指的是可见图像与热图像相融合。该设备硬件上基于高性能STM32H7微控制器,软件上基于使用micropython语言的OPENMV开源项目和“TensorFlow Lite“AI模型框架,实现了图像采集的高效率和手写数字分析的高精度。听取”秦天“大佬的建议,添加LCD触摸屏提供直观的用户交互体验,支持模式的快速切换和实时监测分析。 “双光融合”智能热像仪在医疗健康领域能够进行体温检测,快速判断发烧症状,在工业应用中则可以监测电路板焊接作业中的热量分布,帮助技术人员定位问题。此外,设备的便携性设计和自主充电方案,使其在移动便携使用时也能保持长时间的续航能力。 主要技术特点: 基于高性能STM32H7微控制器控制,集成了两种类型的图像传感器:可见光摄像头OV5640和红外传感器MLX90640,用于高效准确的数据采集。 热成像仪基于开源框架OPENMV进行开发,利用插值算法、二值化滤波和图形融合等高级图像处理技术,以优化图像质量和分析精度。 利用TensorFlow Lite框架,自主训练模型,在嵌入式设备进行优化,通过神经网络算法对图像进行准确的识别。 设备配备了LCD触摸屏,支持在屏幕上手写数字,切换3种工作模式:图像显示、二值化处理、高温测量和热成像融合。 系统框图 “双光融合”智能热像仪的硬件设计思路,主要包括以下几个部分: 可见光传感器 OV5640:用于捕捉可见光图像。 OV5640是一款500万像素的CMOS图像传感器,支持最高2592x1944分辨率和15fps的QSXGA图像输出。它具备自动曝光和白平衡功能,支持DVP和MIPI接口,以及JPEG图像格式输出。传感器内部集成了图像处理功能,并可通过SCCB接口进行寄存器配置。 热成像传感器 MLX90640:用于获取红外热成像数据。 MLX90640是一款32x24像素的红外阵列传感器,具有0.1K RMS@1Hz的高NETD,支持1Hz至60Hz的可编程刷新率。采用3.3V供电,最大电流23mA。提供两种视场角,工作温度范围-45℃至85℃,测温范围-40℃至300℃。支持I2C接口,适用于多种温度测量和监控应用。 主控(openmv开源项目): 基于openmv的开源项目,总体结构上在openmv4的基础上升级为openmv4plus。硬件部分在原有开源项目基础上进行了优化,包括供电布局设计和双电源处理电路的改进,同时添加了充电功能{可以边冲边用}和电量检测功能(需要软件支持) 触摸屏(2.8寸开源方案): 显示部分基于B站up主“程双双的智能控制集”的开源方案,电路设计部分进行了简化。 软件设计主要思路为状态机切换设计,具体内容如下: 切换方式:通过在触摸屏上手绘数字进行识别,切换状态。 (该功能仅作为在单片机上运行AI的尝试 ,并不实用) 状态一:可见光模式:此模式下仅启用可见光传感器(OV5640),用于捕捉可见光图像。 状态二:二值化边缘检测模式: 在此状态下,系统会对图像进行二值化处理,进行边缘检测,从而更好地识别目标物体的轮廓。 状态三:“双光融合“热像模式: 启用双传感器(可见光和热成像)进行融合检测,用于复杂环境下的危险物体识别或监控。 三种模式下的工作参数: 图像处理功能 普通摄像模式 二值化模式 平滑色轮热成像图 功耗(mW) 1218.74 1243.45 913.53 分辨率(fps) 50 30 10.4 温度检测准确度 无 无 近距离73.6% 红外图像处理 无 无 存在约20%误差 三、各部分功能说明 实物整体如图所示: 四、作品源码 software:项目软件 hardware: 硬件原理图 word:论坛帖子的草稿、图片和整个比赛项目的最终文档 micropython:语言教程 openmv_v4.2.1:固件源码 软件使用方式: openmv插上电脑后,将software文件夹中所有文件放入openmv弹出的U盘中即可。 下载链接: download.eeworld.com.cn/detail/JOEYCH/634847 五、作品功能演示视频 详见论坛帖子。 六、链接汇总 【2024 DigiKey 创意大赛】”双光融合“智能热像仪 物料开箱 - DigiKey得捷技术专区 - 电子工程世界-论坛 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第一部分:可见光部分实现 - DigiKey得捷技术专区 - 电子工程世界-论坛 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第二部分:热像显示 - DigiKey得捷技术专区 - 电子工程世界-论坛 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第三部分:触摸屏制作/双光融合 - DigiKey得捷技术专区 - 电子工程世界-论坛 【2024 DigiKey 创意大赛】“双光融合”智能热像仪 番外与说明 - DigiKey得捷技术专区 - 电子工程世界-论坛 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第四部分:手写数字识别 - DigiKey得捷技术专区 - 电子工程世界-论坛 七、项目总结 在本项目中,我开发了一款“双光融合”智能热像仪,其核心功能是将可见光图像与热图像相融合,实现对场景的多维度检测和分析。硬件设计基于高性能的STM32H7微控制器,结合OPENMV开源平台和TensorFlow Lite AI框架,使得设备在图像采集方面具备了高效率,并在手写数字识别等应用中达到了较高的精度。此外,在“秦天”大佬的建议下,加入了LCD触摸屏,实现了直观的用户交互,使模式切换与实时监测更为便捷。这款设备在医疗健康和工业领域具有广泛应用,如体温检测和电路板热量监测等,展示了显著的实用价值。 然而,项目中也存在一些不足之处,比如在双光图像融合的精度和响应速度上还有进一步优化空间,此外,便携性设计虽然达标,但在极端环境下的稳定性仍有待提升。未来,我计划在算法优化和硬件适应性方面进行更深入的改进。 在此项目中,我们深深感谢得捷电子(Digi-Key)和EEworld电子工程世界论坛为我们提供的支持和平台。正是他们的支持,让我能够接触到前沿的技术资源、交流学习的机会,并将创意付诸实践。此外,感谢广大网友对项目的关注与建议,他们的反馈为项目的优化和改进提供了宝贵的参考。在整个过程中,得捷电子、EEworld论坛的支持与广大网友的鼓励都给予了我巨大的动力,让我在研发过程中不断挑战自我、追求卓越。  

  • 加入了学习《 【2024 DigiKey 创意大赛】”双光融合“智能热像仪》,观看 “双光融合”智能热像仪

  • 加入了学习《2024digikey多功能旋钮》,观看 2024digikey多功能旋钮

  • 上传了资料: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪

  • 回复了主题帖: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第四部分:手写数字识别

    wangerxian 发表于 2024-10-29 19:23 这个和之前咱们做的AI活动数字识别是不是相似? 不好意思,没有了解过这个活动。

  • 2024-10-28
  • 发表了主题帖: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第四部分:手写数字识别

    # 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第四部分:手写数字识别 ## 一、实现tensorflow的硬件说明 在前面的部分当中,我们已经实现了触摸屏的驱动,并将提供的openmv4升级为openmv4plus(官方数据:运行tensorflow-lite在OpenMV4 H7 Plus上面运行大概每秒45帧,在OpenMV4 H7上面运行大概每秒25帧左右,两者都是可以运行的),这都让我们在openmv上对较高性能的单片机运行神经网络做出更好的尝试。 ## 二、tensorflow-lite介绍 TensorFlow Lite(TFLite)是 TensorFlow 团队推出的轻量级深度学习框架,专门为移动设备和嵌入式设备的机器学习推理进行优化。它支持在设备端(Edge)进行高效的推理操作,具有低延迟、低功耗、无需网络连接等特点。 ### 1. **模型转换与优化** TensorFlow Lite 提供了强大的工具来将标准 TensorFlow 模型转换为 TFLite 格式。转换后的模型体积更小,运行更高效,适合在资源受限的设备上运行。TFLite 支持以下几种优化技术:    - **量化(Quantization)**:通过降低模型权重的精度(例如,将浮点数转为 8 位整数),来减少模型大小和内存占用,同时加速推理速度。    - **修剪和剪枝(Pruning & Trimming)**:减少模型中不必要的参数,以降低模型复杂度和计算负担。    - **模型分片(Model Splitting)**:将模型分成多块,以适应更小内存的设备​:contentReference[oaicite:0]{index=0}。 ### 2. **多平台支持** TensorFlow Lite 设计为多平台兼容,能够运行在多种设备上,包括:    - **Android 和 iOS 设备**:TFLite 提供了适用于 Java、Swift 和 Objective-C 的 SDK,使开发者能够在主流移动平台上集成机器学习功能。    - **嵌入式 Linux 设备**:例如树莓派等,可以运行基于 Linux 的 TFLite 推理引擎。    - **微控制器(Microcontrollers)**:如 Arduino、ESP32 等低功耗设备,这些设备在资源上非常有限,因此 TFLite 的微控制器版本经过极致优化,适合用于 IoT 设备​:contentReference[oaicite:1]{index=1}​:contentReference[oaicite:2]{index=2}。 ### 3. **硬件加速** TensorFlow Lite 支持硬件加速,以充分利用设备上的计算资源,实现更快的推理速度。这包括:    - **GPU 加速**:在支持的 Android 和 iOS 设备上,TFLite 能够调用 GPU 来处理计算密集型任务,适合计算机视觉等应用。    - **专用 AI 加速器**:例如,许多手机和嵌入式设备上配备的神经网络处理单元(NPU)或谷歌 Edge TPU,可以极大地加速机器学习推理。    - **多线程支持**:可以在多个 CPU 线程上运行模型,进一步提高计算效率​:contentReference[oaicite:3]{index=3}。 ### 4. **应用场景与性能分析** TensorFlow Lite 特别适合需要实时推理、低延迟的应用场景,如:    - **计算机视觉**:如物体检测、人脸识别、图像分类等。    - **自然语言处理**:包括文本分类、情感分析、问答系统等。    - **语音处理**:如语音识别、关键词检测等。 参考文献: - [TensorFlow Lite 概述](https://www.tensorflow.org/lite) - [TensorFlow Blog 上的 TFLite 应用](https://blog.tensorflow.org) ## 三、tensorflow-lite的数据集训练 ### 1. **数据集采集** 我所使用的触摸屏大小为2.4寸,分辨率为320*240。使用画图软件,将画布设置到相同的大小,白底黑字,使用鼠标写数字1~4各50张,如果可以的话,建议叫上你的朋友一起写~ ### 2. **模型训练** 方法一:使用星瞳科技提供的云端训练平台来训练,无需配置环境,较为简单。 网站:https://ai.singtown.com/zh-hans/ 方法二:使用openmv官方提供的ipynb脚本文件来训练,详情见附件 ### 3. **训练结果导入并验证** 将训练好的trained.tflite,并复制到OpenMV的存储 直接使用摄像头识别的测试代码: '''python # This code run in OpenMV4 H7 or OpenMV4 H7 Plus import sensor, image, time, os, tf sensor.reset()                         # Reset and initialize the sensor. sensor.set_pixformat(sensor.GRAYSCALE)    # Set pixel format to RGB565 (or GRAYSCALE) sensor.set_framesize(sensor.QVGA)      # Set frame size to QVGA (320x240) sensor.set_windowing((240, 240))       # Set 240x240 window. sensor.skip_frames(time=2000)          # Let the camera adjust. clock = time.clock() while(True):     clock.tick()     img = sensor.snapshot().binary([(0,64)])     for obj in tf.classify("trained.tflite", img, min_scale=1.0, scale_mul=0.5, x_overlap=0.0, y_overlap=0.0):         output = obj.output()         number = output.index(max(output))         print(number)     print(clock.fps(), "fps") ''' 使用触摸屏输入的测试代码: '''python import sensor, image, time import os, tf from screen import screen screen.init() #创建用于绘图的画布,并填充黑色 img_drawing_board=sensor.alloc_extra_fb(320,240,sensor.GRAYSCALE) img_drawing_board.draw_rectangle(0,0,320,240,fill=True,color=(255, 255, 255)) fps=0   #帧速变量 last_x=0    #上一次x坐标 last_y=0    #上一次y坐标 first_time_press=True   #第一次按下(抬笔后线条不连续) is_drawing = False clock = time.clock()    #声明时钟,用于获取帧速 while(1):     if screen.press:    # 如果触屏被按下         if first_time_press:    # 如果首次按下,绘制一个点            img_drawing_board.draw_line(screen.x, screen.y, screen.x, screen.y, color=(0, 0, 0), thickness=3)            last_x = screen.x  # 记录本次坐标到‘上一次’变量            last_y = screen.y            first_time_press = False  # 解除首次标识            is_drawing = True  # 开始绘制         else:   # 非首次按下,绘制连续线条             img_drawing_board.draw_line(screen.x, screen.y, last_x, last_y, color=(0, 0, 0), thickness=3)             last_x = screen.x  # 记录本次坐标到‘上一次’变量             last_y = screen.y     elif is_drawing:   # 如果之前正在绘制且现在不再按下         for obj in tf.classify("03.tflite", img_drawing_board, min_scale=1.0, scale_mul=0.5, x_overlap=0.0, y_overlap=0.0):             output = obj.output()             number = output.index(max(output))             print(number)         img_drawing_board.draw_rectangle(0,0,320,240,fill=True,color=(255, 255, 255))         first_time_press = True   # 置首次标识为True,等待下一次绘制         is_drawing = False  # 结束绘制状态     screen.display(img_drawing_board) #显示图像到屏幕,并获取触摸信息。不运行此函数,不会更新触屏信息。 ''' 可以看到,终端中准确的识别出了我们写的数字,实验成功!

  • 2024-10-22
  • 回复了主题帖: 【2024 DigiKey 创意大赛】“双光融合”智能热像仪 番外与说明

    wangerxian 发表于 2024-10-22 09:06 引脚在下面的可以考虑下面吹,前提背面没有什么元器件,要不吹掉了。 还能这样,学习了

  • 回复了主题帖: 【2024 DigiKey 创意大赛】红外温度检测及火灾报警器

    鲜de芒果 发表于 2024-10-20 23:35 NAS服务器上 了解

  • 2024-10-20
  • 加入了学习《得捷电子专区》,观看 【2024 DigiKey 创意大赛】红外温度检测及火灾报警器

  • 回复了主题帖: 【2024 DigiKey 创意大赛】红外温度检测及火灾报警器

    想问问Homeassisant是部署在哪里的呀?

  • 回复了主题帖: 【2024 DigiKey 创意大赛】“双光融合”智能热像仪 番外与说明

    这部分非作品的主要部分,目的为补充与说明。主要部分还在审核中

  • 回复了主题帖: 【DigiKey创意大赛】家庭共享智能药盒04+人脸分辨程序设计

    实时性好吗?  

  • 回复了主题帖: 【DigiKey创意大赛】家庭共享智能药盒03+设计PCB和调试BME280

    oet 发表于 2024-9-21 14:58 这个PCB是根据不同场景焊接不同器件的,焊接热成像传感器的时候不焊接屏幕,焊屏幕的板反插在背面,整个 ... 被q到了,双光融合是我的题目

  • 发表了主题帖: 【2024 DigiKey 创意大赛】“双光融合”智能热像仪 番外与说明

    # 【2024 DigiKey 创意大赛】“双光融合”智能热像仪 番外与说明 ## 一、充分利用开源项目 openmv作为一个较为出名且历时较久的成熟开源项目,其软硬件都充分开源,特别制作的IDE功能齐全,不仅带有许多demo,还能够烧录固件。因此,我们能够制作自己的openmv板子。 一劳永逸的想法,在openmv4的基础上升级为openmv4plus。硬件部分在原有开源项目基础上进行了优化,包括供电布局设计和双电源处理电路的改进,同时添加了充电功能和电量检测功能(需要重新编译固件,还未完成)。 原理图和PCB如下: 焊接调试后,实物如下,功能正常: ## 二、说明 从比赛规则和节约成本的角度考虑,选用的物料是openmv和BME680(元件),MLX90640元件虽在比赛清单中,但是是自备的。 然而BME680(元件)体积小,侧面无引脚,焊接难度大,制作失败。我仅提供开源的micropython驱动代码库,未经过测试。 作品总体上与报名时的选题相一致,主要功能“双光融合”已实现,还添加了电阻触摸屏。BME680温湿度传感器也为拓展功能,个人认为不影响完赛。

  • 2024-10-19
  • 发表了主题帖: 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第三部分:触摸屏制作/双光融合

    # 【2024 DigiKey 创意大赛】”双光融合“智能热像仪第三部分:触摸屏制作/双光融合 ## 一、触摸屏制作 ### 1.1 绘制原理图和PCB: ### 1.2 触摸屏驱动 将下列代码单独放在openmv弹出的U盘中,命名为`screen.py`。 ```python # 作者:程欢欢的智能控制集 import lcd from pyb import Pin, SPI, millis, hard_reset import struct from sensor import alloc_extra_fb, snapshot, RGB565 from time import sleep x = 0 y = 0 z = 0 press = False x_original = 0 y_original = 0 z_original = 0 press_threshold = 2800 # Calibration data calibration_data = [     29532, 796, -89.8,    # x_min, x_max, x_step     1976, 30872, 120.4,   # y_min, y_max, y_step     27492.0, 17716, -35.0, 10.8667  # z_min, z_max, z_x_step, z_y_step ] calibration_coordinate = ((80, 60), (240, 60), (80, 180), (240, 180)) baudrate = 80 spi2 = SPI(2, SPI.MASTER, baudrate=40*1000000, phase=1) CS = Pin('P3', Pin.OUT_PP) RS = Pin('P8', Pin.OUT_PP) # Functions for writing to the display def write_c(c):     CS.low()     RS.low()     spi2.send(c)     CS.high() def write_d(c):     CS.low()     RS.high()     spi2.send(c)     CS.high() def write_command(c, *data):     write_c(c)     if data:         for d in data:             write_d(d) def set_resolution(x, y, w, h):     write_c(0x2a)     write_d(int(x / 256))     write_d(x % 256)     write_d(int((x + w - 1) / 256))     write_d((x + w - 1) % 256)     write_c(0x2b)     write_d(int(y / 256))     write_d(y % 256)     write_d(int((y + h - 1) / 256))     write_d((y + h - 1) % 256)     write_c(0x2C) def init(screen_baudrate=80, pressure=1800):     global calibration_data, baudrate, press_threshold     press_threshold = 5000 - pressure     lcd.init(width=320, height=240, triple_buffer=False, rgb=True)     write_c(0x36)  # Set screen direction     write_d(0xa0)     set_resolution(0, 0, 320, 240)  # Set screen resolution     baudrate = screen_baudrate     try:         from screen import calibration         calibration_data = calibration.data     except:         touch_calibration() def touch_calibration():     # Calibration logic     ... def display(img):     # Touch display logic     ... ``` ## 二、双光融合的实现 ### 主要思路: 对于可见光图像和热图像分别创建两张图片(帧缓冲区),按比例缩放至合适的大小,然后将两个图片按比例相叠加产生融合图像。对于触摸屏,根据照片的尺寸大小和MLX90640传回的原始数组数据计算出映射关系,实现触摸屏返回的像素和温度数据相对应 代码如下: ```python import sensor import image import time import fir import gc from screen import screen from ulab import numpy as np # Parameters kernel_size = 1  # kernel width = kernel height = (size*2)+1 kernel = [+1, +1, +1, +1, -9, +1, +1, +1, +1] thresholds_binary = [(50, 200)]  # grayscale thresholds thresholds_track = (0, 100, -7, 69, 25, 127) white = (255, 255, 255) frame_count = 0 gc.collect() # Initialize camera sensor.reset() sensor.set_pixformat(sensor.RGB565) sensor.set_framesize(sensor.QQVGA) sensor.set_auto_gain(False) sensor.set_auto_whitebal(False) sensor.skip_frames(time=2000) # Initialize thermal sensor fir.init(type=fir.FIR_MLX90640, refresh=32) screen.init() # Allocate buffer for IR image ir_buffer = image.Image(fir.width(), fir.height(), sensor.RGB565) # Scale factors x_scale = sensor.width() / ir_buffer.width() y_scale = sensor.height() / ir_buffer.height() clock = time.clock() while True:     clock.tick()     img = sensor.snapshot()     if frame_count % 10 == 0:         gc.collect()     ta, ir, to_min, to_max = fir.read_ir()     ir_raw = np.array(ir).reshape((fir.width(), fir.height()))     fir.draw_ir(ir_buffer, ir, alpha=256)     img.draw_image(ir_buffer, 0, 0, x_scale=x_scale, y_scale=y_scale, alpha=128, hint=image.BILINEAR)     if screen.press:  # If touch screen is pressed         img.draw_circle(screen.x, screen.y, 5, color=(255, 0, 0))         img.draw_string(screen.x + 5, screen.y - 5, "%0.2f C" % ir[(screen.y // 5 - 1) * 32 + screen.y // 5], color=white, scale=1, mono_space=False)     img.draw_string(2, sensor.height() - 10, "Min: %0.2f C" % to_min, color=white, scale=1, mono_space=False)     img.draw_string(2, sensor.height() - 20, "Max: %0.2f C" % to_max, color=white, scale=1, mono_space=False)     img.draw_string(2, sensor.height() - 30, "FPS: %0.2f " % clock.fps(), color=white, scale=1, mono_space=False)     img.compress(quality=90)     screen.display(img)     if frame_count % 30 == 0:         print(clock.fps())     frame_count += 1 ```

  • 发表了主题帖: 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第二部分:热像显示

    本帖最后由 JOEYCH 于 2024-10-19 21:12 编辑 # 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第二部分:热像显示 ## 一、MLX90640拓展板制作 ### 1. MLX90640的datasheet **MLX90640 32x24 红外阵列** **1.1 特点和优势** - 小尺寸,低成本 32x24 像素红外阵列 - 易于集成 - 符合行业标准的四引脚 TO39 封装 - 工厂校准 - 噪声等效温差(NETD)0.1K RMS @ 1Hz 刷新率 - I²C 兼容的数字接口 - 可编程刷新率 0.5Hz...64Hz - 3.3V 电源电压 - 电流消耗小于 23mA - 提供两种视场选项——55°x35° 和 110°x75° - 工作温度范围 -40°C 到 +85°C - 目标温度范围 -40°C 到 +300°C - 符合 RoHS 规范 **1.2 应用示例** - 高精度非接触式温度测量 - 入侵/运动检测 - 存在检测/人员定位 - 智能建筑空调温控传感器 - 汽车空调系统中的热舒适度传感器 - 微波炉 - 工业移动部件的温控 - 可视红外温度计 驱动软件可通过以下链接获取:[MLX90640 Library](https://github.com/melexis/mlx90640-library.git) **1.3 描述**   MLX90640 是一个完全校准的 32x24 像素的热红外阵列,采用行业标准的四引脚 TO39 封装,带有数字接口。   MLX90640 包含 768 个 FIR 像素。集成了一个环境传感器来测量芯片的环境温度,并使用它来测量供电电压(VDD)。所有红外传感器、环境温度(Ta)和 VDD 的输出都存储在内部 RAM 中,并通过 I²C 接口进行访问。 ### 2. 原理图绘制 使用 I²C 通信,加入上拉电阻和滤波电容。 ### 3. 根据 openmv 的两排针之间的间距绘制 PCB ### 4. 打板并焊接 ## 二、MLX90640热成像代码设计 根据第一部分中给出的材料,编写代码. ```python import image, time, fir, lcd # 初始化热传感器 fir.init(type=fir.FIR_MLX90640, refresh=32) # 16Hz, 32Hz or 64Hz. # 初始化lcd lcd.init() # FPS clock clock = time.clock() while (True):     clock.tick()     img = fir.snapshot(copy_to_fb=True)     lcd.display(img)     # Print FPS.     print(clock.fps()) ```

  • 回复了主题帖: 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第一部分:可见光部分实现

    openmv相关连接: 网址:https://openmv.io/pages/download 中文教程:https://book.openmv.cc/ 中文函数文档(版本较老,有能力的建议直接阅读英文):https://docs.singtown.com/micropython/zh/latest/pyboard/index.html openmv使用micropython语言,给出相关连接: micropython官网:https://micropython.org/ micropython GitHub仓库:https://github.com/micropython/micropython

  • 发表了主题帖: 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第一部分:可见光部分实现

    # 【2024 DigiKey 创意大赛】“双光融合”智能热像仪第一部分:可见光部分实现 ## 一、openmv入门使用 ### 1. openmvIDE #### 1.1 软件安装 在官网上安装与自己使用的版本相同的软件   网址:[OpenMV下载](https://openmv.io/pages/download) #### 1.2 了解IDE的功能与使用方式 (1)将openmv通过数据线连接到电脑,在IDE的右下角显示出一个可被连接的图标 (2)点击连接,最下方的信息中显示出板子与摄像头的型号、固件信息等 #### 1.3 demo运行测试 (1)点击左下角绿色播放按键运行代码,可以看到运行正常无报错,帧缓冲区中显示出拍摄到的图像,输出拍摄的帧率。 代码如下: ```python # This work is licensed under the MIT license. # Copyright (c) 2013-2023 OpenMV LLC. All rights reserved. # https://github.com/openmv/openmv/blob/master/LICENSE # # Hello World Example # # Welcome to the OpenMV IDE! Click on the green run arrow button below to run the script! import sensor import time sensor.reset()  # Reset and initialize the sensor. sensor.set_pixformat(sensor.RGB565)  # Set pixel format to RGB565 (or GRAYSCALE) sensor.set_framesize(sensor.QVGA)  # Set frame size to QVGA (320x240) sensor.skip_frames(time=2000)  # Wait for settings take effect. clock = time.clock()  # Create a clock object to track the FPS. while True:     clock.tick()  # Update the FPS clock.     img = sensor.snapshot()  # Take a picture and return the image.     print(clock.fps())  # Note: OpenMV Cam runs about half as fast when connected     # to the IDE. The FPS should increase once disconnected. ``` (2)运行结果如下:

最近访客

< 1/1 >

统计信息

已有4人来访过

  • 芯积分:60
  • 好友:--
  • 主题:7
  • 回复:14

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言