大卫格拉斯 2021-12-07 20:13 采纳率: 0%
浏览 88
已结题

python树莓派读取IIC数据768字节resiza(24,32)后如何差值?

在用树莓派+MLX90640红外传感器做的简易热成像,树莓派直接通过Python从IIC读取768个字节,应该是一维数组,然后再img.resiza(24,32)形成二维数组,直接在Python中显示如图1,基本上是马赛克效果,

想插值一下,看了算法,如图2,但实例都是有X,Y的,本人太小白了,不知道如何把现有的数组插值,请指点。

图1


from ctypes import *
import numpy as np
from scipy import interpolate
import matplotlib.pylab as pl
import matplotlib as mpl
mlx90640 = cdll.LoadLibrary('./libmlx90640.so')
import matplotlib.pyplot as plt
import time
import smbus
bus=smbus.SMBus(1)
data = bus.read_word_data(0x33,0x800D)
bus.write_word_data(0x33,0x800D,data|0x0380)  #设置高帧率模式

#mlx90640 will output 32*24 temperature array with chess mode

temp=(c_float*768)()
ptemp=pointer(temp)
mlx90640.get_mlx90640_temp(ptemp)
time.sleep(1)
mlx90640.get_mlx90640_temp(ptemp)
plt.figure(1)

while True:
    mlx90640.get_mlx90640_temp(ptemp)
    img = (temp-np.min(temp))/(np.max(temp)-np.min(temp))*255  #归一化
    img.resize(32,24)   #将一维数组转化为二维数组,便于转化为图片
    /#img = img.astype(np.uint8)  #opencv处理的话就要
    plt.clf()
    plt.imshow(img,cmap='jet')  # jet/hsv/ranbow/gunplot等颜色模式可以选择
    plt.text(16,12,str(round(temp[383],2))+'°C')  #显示图像中心的物体温度
    plt.pause(0.001)



#代码粘上-----------------

#-------------------以下是参考插值算法-----------------------






"""
    绘制热成像图
"""
import numpy as np
import matplotlib.pyplot as mp

#准备数据
num = 1000
x, y = np.meshgrid(np.linspace(-3, 3, 10000),
                   np.linspace(-3, 3, 10000))

z = (1 - x / 2 + x ** 5 + y ** 3) * np.exp(-x ** 2 - y ** 2)

#绘制图片
mp.figure("imshow", figsize=(8, 6), facecolor="lightgray")
mp.title("imshow", fontsize=18)

mp.imshow(z, cmap="jet", origin="lower")
mp.colorbar()
#p.show()

想插值一下,看了算法,如图2,但实例都是有X,Y的,本人太小白了,不知道如何把现有的数组插值,请指点。

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-12-09 10:16
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


    本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


    因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。

    评论

报告相同问题?

问题事件

  • 系统已结题 12月15日
  • 创建了问题 12月7日

悬赏问题

  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题