적외선 어레이 센서 AMG8833 (Grid-EYE)의 데이터 표시
11338 단어 RaspberryPi온도 센서AMG8833파이썬matplotlib
이번에 할 일
지난번 에서 AMG8833(Grid-EYE)의 데이터 취득을 할 수 있었습니다만, 단지 숫자가 나올 뿐이었으므로 이미지로서 표시해 보려고 생각합니다.
2차원 배열 데이터의 시각화
matplotlib를 사용하여 2차원 배열을 표시합니다.
amg8833.py# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# imshowでsensor.pixelsの2次元配列データを表示させる
fig = plt.imshow(sensor.pixels, cmap="inferno")
plt.colorbar()
plt.show()
실행하면 이미지가 표시됩니다.
센서 상단에서 손을 파로 잡고 실행했습니다.
$ python3 amg8833.py
bicubic 보간을 사용해보기
우선 열화상 같은 것은 표시할 수 있었습니다만, AMG8833은 8x8 픽셀 때문에 해상도가 너무 낮아 잘 모르기 때문에, bicubic 보간을 사용해 보겠습니다.
imshow의 interpolation 옵션에서 bicubic을 지정하면 보간됩니다.
amg8833.py# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# 8x8ピクセルの画像とbicubic補間をした画像を並べて表示させる
plt.subplots(figsize=(8, 4))
# データ取得
sensordata = sensor.pixels
# 8x8ピクセルのデータ
plt.subplot(1, 2, 1)
fig = plt.imshow(sensordata, cmap="inferno")
plt.colorbar()
# bicubic補間したデータ
plt.subplot(1, 2, 2)
fig = = plt.imshow(sensordata, cmap="inferno", interpolation="bicubic")
plt.colorbar()
plt.show()
실행하면, 오리지널과 보간 화상의 2장이 나란히 표시됩니다.
$ python3 amg8833.py
조금은 손 모양을 알게 되었을까라고 생각합니다.
동영상으로 해보기
1장의 정지화상에서는 무언가와 불편하므로, 루프시켜 동영상으로 해 봅니다.
amg8833.py# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# 8x8ピクセルの画像とbicubic補間をした画像を並べて表示させる
plt.subplots(figsize=(8, 4))
# ループ開始
while True:
# データ取得
sensordata = sensor.pixels
# 8x8ピクセルのデータ
plt.subplot(1, 2, 1)
fig = plt.imshow(sensordata, cmap="inferno")
plt.colorbar()
# bicubicのデータ
plt.subplot(1, 2, 2)
fig = plt.imshow(sensordata, cmap="inferno", interpolation="bicubic")
plt.colorbar()
# plt.showだと止まってしまうので、pauseを使用
# plt.clfしないとカラーバーが多数表示される
plt.pause(.1)
plt.clf()
손을 왼쪽에서 오른쪽으로 움직여 촬영해 보았습니다.
$ python3 amg88333.py
Reference
이 문제에 관하여(적외선 어레이 센서 AMG8833 (Grid-EYE)의 데이터 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tm_nagoya/items/32d7e5becf73ba8a6110
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
matplotlib를 사용하여 2차원 배열을 표시합니다.
amg8833.py
# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# imshowでsensor.pixelsの2次元配列データを表示させる
fig = plt.imshow(sensor.pixels, cmap="inferno")
plt.colorbar()
plt.show()
실행하면 이미지가 표시됩니다.
센서 상단에서 손을 파로 잡고 실행했습니다.
$ python3 amg8833.py
bicubic 보간을 사용해보기
우선 열화상 같은 것은 표시할 수 있었습니다만, AMG8833은 8x8 픽셀 때문에 해상도가 너무 낮아 잘 모르기 때문에, bicubic 보간을 사용해 보겠습니다.
imshow의 interpolation 옵션에서 bicubic을 지정하면 보간됩니다.
amg8833.py# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# 8x8ピクセルの画像とbicubic補間をした画像を並べて表示させる
plt.subplots(figsize=(8, 4))
# データ取得
sensordata = sensor.pixels
# 8x8ピクセルのデータ
plt.subplot(1, 2, 1)
fig = plt.imshow(sensordata, cmap="inferno")
plt.colorbar()
# bicubic補間したデータ
plt.subplot(1, 2, 2)
fig = = plt.imshow(sensordata, cmap="inferno", interpolation="bicubic")
plt.colorbar()
plt.show()
실행하면, 오리지널과 보간 화상의 2장이 나란히 표시됩니다.
$ python3 amg8833.py
조금은 손 모양을 알게 되었을까라고 생각합니다.
동영상으로 해보기
1장의 정지화상에서는 무언가와 불편하므로, 루프시켜 동영상으로 해 봅니다.
amg8833.py# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# 8x8ピクセルの画像とbicubic補間をした画像を並べて表示させる
plt.subplots(figsize=(8, 4))
# ループ開始
while True:
# データ取得
sensordata = sensor.pixels
# 8x8ピクセルのデータ
plt.subplot(1, 2, 1)
fig = plt.imshow(sensordata, cmap="inferno")
plt.colorbar()
# bicubicのデータ
plt.subplot(1, 2, 2)
fig = plt.imshow(sensordata, cmap="inferno", interpolation="bicubic")
plt.colorbar()
# plt.showだと止まってしまうので、pauseを使用
# plt.clfしないとカラーバーが多数表示される
plt.pause(.1)
plt.clf()
손을 왼쪽에서 오른쪽으로 움직여 촬영해 보았습니다.
$ python3 amg88333.py
Reference
이 문제에 관하여(적외선 어레이 센서 AMG8833 (Grid-EYE)의 데이터 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tm_nagoya/items/32d7e5becf73ba8a6110
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# 8x8ピクセルの画像とbicubic補間をした画像を並べて表示させる
plt.subplots(figsize=(8, 4))
# データ取得
sensordata = sensor.pixels
# 8x8ピクセルのデータ
plt.subplot(1, 2, 1)
fig = plt.imshow(sensordata, cmap="inferno")
plt.colorbar()
# bicubic補間したデータ
plt.subplot(1, 2, 2)
fig = = plt.imshow(sensordata, cmap="inferno", interpolation="bicubic")
plt.colorbar()
plt.show()
$ python3 amg8833.py
1장의 정지화상에서는 무언가와 불편하므로, 루프시켜 동영상으로 해 봅니다.
amg8833.py
# -*- coding: utf-8 -*-
import time
import busio
import board
import adafruit_amg88xx
import matplotlib.pyplot as plt
# I2Cバスの初期化
i2c_bus = busio.I2C(board.SCL, board.SDA)
# センサーの初期化
sensor = adafruit_amg88xx.AMG88XX(i2c_bus, addr=0x68)
# センサーの初期化待ち
time.sleep(.1)
# 8x8ピクセルの画像とbicubic補間をした画像を並べて表示させる
plt.subplots(figsize=(8, 4))
# ループ開始
while True:
# データ取得
sensordata = sensor.pixels
# 8x8ピクセルのデータ
plt.subplot(1, 2, 1)
fig = plt.imshow(sensordata, cmap="inferno")
plt.colorbar()
# bicubicのデータ
plt.subplot(1, 2, 2)
fig = plt.imshow(sensordata, cmap="inferno", interpolation="bicubic")
plt.colorbar()
# plt.showだと止まってしまうので、pauseを使用
# plt.clfしないとカラーバーが多数表示される
plt.pause(.1)
plt.clf()
손을 왼쪽에서 오른쪽으로 움직여 촬영해 보았습니다.
$ python3 amg88333.py
Reference
이 문제에 관하여(적외선 어레이 센서 AMG8833 (Grid-EYE)의 데이터 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tm_nagoya/items/32d7e5becf73ba8a6110텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)