Loading

キーボード型のRAspberryPiとは![新刊情報]

こんにちは、さやです🐰

 

今回紹介するのは「日経Linux  3月号」です。

今月号で気になった記事はこちらです!

2020年11月に発売された「Raspberry Pi 400」について書かれています。
「Raspberry Pi 400」は今までのRaspberryPiの機能がキーボードに内蔵された新しい形になっています

 

ここでRaspberryPiを知らない方に簡単に説明すると、、、
RaspberryPiとは手のひらサイズの超小型のコンピューターのことで、値段の手軽さと、その値段に対するスペックの高さから様々なところで利用されています。
知能情報メディア課程の授業でも使用しているので、3回生や2回生の人は1回生のときの「メディア処理基礎」という授業で使ったのを覚えていると思います。

▽▽これがRaspberryPi!!

 

今回発売された「Raspberry Pi 400」はキーボードに内蔵されたことで、これまで多く利用されていた電子工作用途よりも、PCとしての使い方が主流になるそうです。

現在「Raspberry Pi 400」は英国向け、米国向け、ドイツ向けが発売済みですが、日本では2021年春頃に日本語キーボードを実装した製品が発売される予定です!

 

気になる方は是非読んでみてください😊

以上、さやでした~

Raspberry Piで遊ぼう! 【フレーム差分法の紹介】

どもー、たなかです!
たなか「なんか唐突にRaspberry Piで遊びたい!」
と言ったわけで、Raspberry Piで監視カメラを作ろうと思います!
まあ、「ラズパイで遊ぶ」&「監視カメラを作る」しか決まってないので
とりあえず、適当にやるかということで


監視カメラと言ったらとりあえず
カメラを使って映像をリアルタイムに表示出来るようにすればいいので
PythonのOpenCVを利用して↓のようにWebカメラを利用して表示した!

import cv2

capture = cv2.VideoCapture(0)

while(True) :
ret, flame = capture.read()
cv2.imshow('Raw Flame', flame)

k = cv2.waitKey(1)
if k == 27 : #escを押すと終了

break

capture.release()
cv2.destroyAllWindows()

とりあえず、これを使えばwebカメラからの映像が見れます!
「監視カメラの映像を見る」というのには、成功したので
次の段階へ


では、ラズパイで映像をどうやって送るか…
やっぱり、監視カメラは遠隔で見たいじゃないですか!
ということで、私が考えた方法は、何かしらが動いたら写真を撮り、それをネットのなんかでアップするという方法です!

では、今度はWebカメラで写真を撮るプログラムを作成しよう!

import cv2

cam = cv2.VideoCapture(0)
img = cam.read()[1] cv2.imwrite("sample.jpg", img)

cam.release()

↓のように撮れました!


何かしら動いたらどうして反応させるか

「フレーム差分法」というアルゴリズムを使って撮影させよう!
詳しくはこちら

んで、ソースコードをどうぞ

import cv2

save_path = "./save_image/"

camera = cv2.VideoCapture(0)

img1 = img2 = img3 = get_image(camera)

th = 300
n = 1

while True :

if cv2.waitKey(1) == 27 :

break

diff = check_image(img1, img2, img3)

cnt = cv2.countNonZero(diff)

if cnt > th :

print("taked image")
cv2.imshow('PUSH ENTER KEY', img3)
cv2.imwrite(save_path + str(n) + ".jpg", img3)
n += 1

else :

cv2.imshow('PUSH ENTER KEY', img3)
img1, img2, img3 = (img2, img3, get_image(camera))

camera.release()
cv2.destroyAllWindows()

def get_image(camera) :

img = camera.read()[1] return img

def check_image(img1, img2, img3) :

gray1 = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)
gray2 = cv2.cvtColor(img2, cv2.COLOR_RGB2GRAY)
gray3 = cv2.cvtColor(img3, cv2.COLOR_RGB2GRAY)

diff1 = cv2.absdiff(gray1, gray2)
diff2 = cv2.absdiff(gray2, gray3)

dif_and = cv2.bitwise_and(diff1, diff2)

_, dif_wb = cv2.threshold(dif_and, 30, 255, cv2.THRESH_BINARY)
diff = cv2.medianBlur(dif_wb, 5)
return diff

これで、以下のような写真が撮れました!

これらが3枚撮れて
これの差分を撮った写真がこれです!

差分だけでgifファイルを作るとこんな感じ


といった感じで、ラズパイで遊んでいます!(現在の進捗状況はここまで)
フレーム間差分法ではなく、これをTensorflowの機械学習で認識させたいので
これからも遊びたいと思います!
以上!

Raspberry Pi!

どもー、たなかです
今回、メディア処理基礎で使われたraspberry piの点検を行いました~

点検が始まる前↓

近づいたやつ↓

点検は、マウス ACアダプター 電源用のケーブル raspberry pi本体 以上の4つがあるかの確認を行いました!

点検は問題なく(?)終わり

点検が終了した後↓

近づいたやつ↓

結構、すぐに終わりました~!
ここまで、raspberry piが多いのは、なかなか見られないので
とても貴重な体験でした!
以上