【ラズパイDIY】ラズパイのカメラモジュールで、一人暮らしの部屋で理髪店要らずの生活を実現する【セルフカット】


# きっかけ

　Raspberry Piを使った経験があまりなかったので、せっかくなら

　**Raspberry Pi使って面白いことしたいなぁ**

と思って、思いつきで考えてみたら

　**そういえば、セルフカットするときの鏡って、鏡を複数置かないと思い通りに切れないし、視点も思い通りにしたいことがよくある。あれもうちょっとなんとかならんのかなあ**

　**なんだかんだ、理髪店や美容室だと、きちっと髪の毛の角度を見てくれるし、思い通りの髪の毛にするのは得意だよね**

という謎のアイディアが思い浮かぶ。そこで、Raspberry Piのカメラってそういえば、カメラモジュールさえあればデフォルトでカメラ使えるようになったのを思い出したので、セルフカット用のカメラをRaspberry piで構築するのを考えた。

# 購入品及び必要なもの

- Raspberry Piのスターターセットを購入。（ケースがスマートだったからとRaspberry piの取り扱いが初めてで壊すのも嫌だったので）

https://www.amazon.co.jp/-/en/gp/product/B082KS5M6R/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

**しかし、デフォルトで入っているSDカードはもう使えないことが判明したので、My PCを使って以下のサイトからRaspberry OSのファームウェアを再書き込みした。** ~~スターターセットを購入したのは明らかに金の無駄！！~~

https://www.raspberrypi.org/software/

- Raspberry pi用のカメラモジュール

https://www.amazon.co.jp/-/en/gp/product/B07SKG4KX8/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

広げるとこんな感じです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281173/08784f32-bcd0-7691-a7bc-4dfabfd37bd0.png)


組み立てたらこんな感じです

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281173/e33cb8d9-8f4a-4490-4bd7-6407dacb21d6.png)

ですけど、こんなに色々いらなくて、とにかく壁に平坦に付くのがいいのです。したがって下の支持部は入らなくて、カメラを守る筐体だけ使います。詳しい手順は説明書にしたがって、こんな感じに設置しました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281173/4706eb36-ee45-1b72-b2d0-8da90acabdf5.png)

ラスパイのボックスはとりあえず下に置きます。
カメラ用のケーブルは三セットあって、その中に長いやつがあるので、それを使って上手いこと配線するとセットしやすい！

こうすれば、私みたいな一人暮らしのアパートでも、壁を汚さずにうまい位置にカメラを置いて自分の髪を観察することができますね〜

- ディスプレイ

　私はこれ使っています。最初の段階でRaspberry piをきちっと使っていくには必要ですし、あと散髪用するときも、１カメラで集中的に見るには結構有能です！首を振ったり高さ変えられるのもいいです。

https://www.amazon.co.jp/gp/product/B07W6GJFM8/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1

とはいえ、最終的にはこれなしでやってみたいです！やっぱり、一般の一人暮らしにミニディスプレイは置かない（普通はテレビかな？）はずなので、手元にある大きなiMacか、普通のモニタで多数カメラ連携で動くようにしたいです。

今回は設置なのであまりpythonコード触ってませんが、最終的にはRaspberry pi１個に対してサーバを設定して、WiFiを経由したシステムにする予定です。

- 動画

動画については、Youtubeで現役の美容師が結構動画をあげてらしているので、各自参照です！
（私は、ある程度動画見て、美容師の親戚の方に相談してもらってからはちょっと自己流でやっているので・・・）

- ヘアカット用品

**スキばさみ**

ちなみに私はざっくりカットできれば十分なので（というかセルフカットは基本ざっくりで、最初のうちは上手くいかないと思う）、基本的には毛量を大きく調整するために必要なスキばさみだけはしっかりお金使って、それ以外は１００均で揃えています

https://www.amazon.co.jp/dp/B07D7N49RK/ref=pe_492632_159100282_TE_item

**ヘアキャッチャー（ケープ）**

PC周りで作業するので、基本的にはこれがないと散髪できません

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281173/4993205c-b046-ed2d-0936-419b1fb9f292.png)

掃除に関しては、ヘアキャッチャーがあってもかなり汚れるので、掃除機やコロコロを近くに置いて掃除できるようにしておきましょう

**ヘアカット用品**

好みによっていろんなサイトがあるので参考にしましょう

https://www.o-uccino.jp/article/posts/65069

http://masafuminakagawa.blue/?p=15056

# カメラの配置

上から見るとこんな感じになるように設置しています
結構広そうに見えますが大体４畳もあれば収まるスペースだと思います
そこそこ広いワンルームならいけると思います

![スクリーンショット 2021-08-16 18.00.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281173/e9a1a019-8b36-7c04-8958-09736f253181.png)

視点的にはこんな感じ

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281173/76dcf42c-77b1-33d9-94ca-e75c0dca08e1.png)

3つの画面を見ながら、自分の顔を前横後ろ、視点を変えながら見ることができるようになりました。

# ソースコード

とりあえず、Raspberry piでカメラモジュールを読み込む機能だけは欲しいので、簡単に実装

現在のPythonではデフォルトでpicameraがないので、pip installでpicameraをインストールしておく

```python:picamera_test.py
from picamera import PiCamera
from time import sleep

camera = PiCamera()

camera.start_preview()
sleep(30)
camera.stop_preview()
```

こうすると、30秒、今のカメラで写っているものをプレビューしてくれる。
便利さ的にはまだまだだが、これでセルフカットするための視点を設定するために30秒程度表示しながら調整することはできるようになった。

詳しい説明はチュートリアル参照

https://projects.raspberrypi.org/ja-JP/projects/getting-started-with-picamera

# 今後やりたいこと 

- サブディスプレイなしで、iMac一つの画面で髪型を見れるようにしたい（Wifi接続、Raspberry PiをRestful APIで接続するようにする）
- カメラ自体が安いので、カメラを多数接続した状態で色々な髪型の画像をリアルタイムで撮ってみる
- 散髪時の見え方を保存して、過去の散髪データを参照できるようにする