Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Sipeed Maix Bitで遊ぶ その3:カラーピッカー

実際のところ

import sensor, image, lcd, time

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(30)
sensor.set_auto_gain(False) # must be turned off for color tracking
sensor.set_auto_whitebal(False) # must be turned off for color tracking


def get_average(histogram):
	sum = 0
	average = 0
	for object in histogram:
	   sum = average + object
	average = sum / 8
	return average 

r = [(320//2)-(50//2), (240//2)-(50//2), 50, 50] # 50x50 center of QVGA.
tim = time.ticks_ms()

while(time.ticks_diff(time.ticks_ms(), tim)<30000):
    img = sensor.snapshot()
    img.draw_rectangle(r)
    hist = img.get_statistics(bins=8,roi=r)
    rgb_value = image.lab_to_rgb((hist.l_mean(),hist.a_mean(),hist.b_mean()))
    img.draw_string(0, 0, str(rgb_value), color = (rgb_value[0], rgb_value[1], rgb_value[2]), scale = 2)
    lcd.display(img)
print("finish")
lcd.clear()

挙動

ピックした色に合わせて文字色もかわるオシャレ仕様
f:id:shuzo_kino:20200520230759p:plain

f:id:shuzo_kino:20200520230802p:plain

参考もと

github.com

Twitterトレンドを視界に触れたくなれけばロケーションを知らない言語の土地に設定するといい 2020年5月

Twitterトレンドは狂人の社交場と化しております。
こんなもんに付き合ってるとやってられないので、ここ最近は地域設定を変更して対応してました。

ところが、最近のアップデートでこの設定が上書きされたらしく、またぞろ怒りのマッチングサイトめいてグンニョリ。
まぁ何か設定法があるだろうと弄り回したところ、現状復帰に成功したのでメモ。

https://twitter.com/explore/tabs/tab_2
に行き、右上の歯車をクリック
f:id:shuzo_kino:20200520095539p:plain

私は普段の言語設定を英語にしてますが……まぁ要は今いるところのデータを読み込むといった意味合いのトコのチェックボックスを外します。
f:id:shuzo_kino:20200520100232p:plain

すると……もとのサウジアラビア設定になりました。
f:id:shuzo_kino:20200520100347p:plain

アラビア語は読めないし、今後読めるようになる気もないのでこれで平和が戻りました。
めでたしめでたし。

Sipeed Maix Bitで遊ぶ その2:最初のアプリ(長方形の検出)

shuzo-kino.hateblo.jpの続きです。

最初はWindowsでやろうかとも思いましたが……結局VirtualBox上のUbuntu18系に構築しました。

実際のところ

長方形を検出するアプリ

さて、本題です。
大本のスクリプトではM1をベースにしてることもあって、SDカードをつかって動画をとってました。
私のつかってるBitではSDカードのスロットがデフォではないので、そこの部分を消しています。

#find rects
import sensor, image, lcd, time

lcd.init()
sensor.reset()
sensor.set_contrast(1)
sensor.set_gainceiling(16)
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames(30)
tim = time.ticks_ms()

while(time.ticks_diff(time.ticks_ms(), tim)<30000):
    img = sensor.snapshot()
    for r in img.find_rects(threshold = 18000,roi=(80,60,160,120)):
        img.draw_rectangle(r.rect(), color = (255, 0, 0))
        for p in r.corners(): img.draw_circle(p[0], p[1], 5, color = (0, 255, 0))
    img.draw_rectangle(80,60,160,120)
    lcd.display(img)
print("finish")
lcd.clear()

動きはこんな塩梅。
焦点の調整とゲインの詰めがあまく、チラチラしてますが形状を認識しています。
f:id:shuzo_kino:20200520214802p:plain
ミニ画面の方も動的に更新されております。

まともに動いている動画はこちら。
youtu.be

Sipeed Maix Bitで遊ぶ その1:導入

Sipeed Maix Bitは今を時めくRISC-VアーキテクチャK210を採用したマイコンボードです。
micro pythonの方言MaiPyが動くため……付属カメラをつかった画処理でC言語で血反吐を吐かずとも、結構な速度で特徴点や色判定くらいのサンプルなら動いてしまいます。

実際のところ

ボードの概要

コネクタはよくあるリボン式。
付けるときはロックを外しましょう。

つなぐと、こんな塩梅。

購入先

購入はみんな大好き秋葉原shigezoneさん
www.shigezone.com
switchScienceさんも有名ですね。


秋月電商でも売ってるようです。

開発環境を構築

カメラが標準でついてるのでデバッグが大変そうだな~と思ってましたが
なんと……公式頒布のIDEで取っ掛かりに関しては問題がだいぶ減ります。
dl.sipeed.com
のリンクから最新を拾ってきます。(執筆時点では0.2.5)
(telnetで接続できるインターフェイスもありますが、今日の記事では割愛。)


ダウンロードが終わったら、シェルに移動して、ビルド。

$ DONWLOADPATH
$ chmod +x maixpy-ide-linux-x86_64-0.2.2.run
$ ./maixpy-ide-linux-x86_64-0.2.2.run

f:id:shuzo_kino:20200520002352p:plain

画面にでてくる利用規約をよく読んで問題なければOK。
すると、あとはよろしく導入してくれます。ラクチン
f:id:shuzo_kino:20200520002650p:plain

無事おわると、こんなカッコイイ画面が。
WEBも含めたGUIクソ雑魚勢としては、こういう見栄えリッチな画面は助かる……!
f:id:shuzo_kino:20200520002818p:plain

優秀なカラーピッカー値設定ツールつき。
f:id:shuzo_kino:20200531124907p:plain

何かつながらないとき

ポートが二つでてくる

環境によってはポートが二つでてきます。
私の環境では番号が若い方が正解でした。

権限がないとか言われる

読み込みしてこんな画面がでたら、権限が与えられてない可能性があります。
f:id:shuzo_kino:20200520205706p:plain

$ sudo adduser YOURNAME dialout

参考もと

maixduino.sipeed.com

【読書メモ】第三惑星用心棒 (馬頭図書)

第三惑星用心棒(1) (馬頭図書)

第三惑星用心棒(1) (馬頭図書)

第三惑星用心棒(2) (馬頭図書)

第三惑星用心棒(2) (馬頭図書)

Amazon読み放題にあったので読んでみました。

一巻の軌道エレベーター修復のくだりとか、二巻に出てくる動くスプレーアートの説明とか
巻末設定で人工言語ロジバンが地球共通語のベースなってるとか
世界観に踏み込まないけど、一個一個の要素が「あ~なんかありそう」感にあふれています。

作りこんだ世界観の魅力という意味では「映像研には手を出すな!」と同系統な感じ。

第三惑星用心棒は作中全体に流れる緩いというかマッタリというか……なんとも言えない独特な空気感が違ったテイストでハマる人には相当効きそうです。

【読書メモ】いつになったら宇宙エレベーターで月に行けて、 3Dプリンターで臓器が作れるんだい!?: 気になる最先端テクノロジー10のゆくえ

アメリカンな画風の漫画でわかる、今時な技術の本当のところ。

以下、公式より抜粋

「近いうちに実現するかも」と言われている新しい科学技術が,今どうなっているのかを徹底解説!
新しい科学技術が誕生し,近いうちに実用化されるのではいうニュースを,よく見聞きするだろう.しかし,期待どおりに実現するものは少なく、その後どうなったかわからないままのものも多い。
この本では「,宇宙エレベーター」「核融合エネルギー」「臓器プリンター」「ロボットによる建設」といった最新科学技術をとりあげ,それらが「どこまで進んでいるのか」「?何が障害となっているのか」「?実現したら世界はどう変わるか」?を追求する.皮肉っぽい語り口とシュールなマンガに,思わずニヤリとしながら,手軽に楽しめる科学読み物である。

我が国の実用書コーナーなんかで見かけがちな、妙に扇動的な内容でもなく面白おかしい方向によせたブルーバックスみたいな安定感があります。
まあ、たいていの新技術は失望の谷を経由するもんですが、それなりに騒がれたものは何やかんやで世の中に貢献してるんだな~っていう小学生並みの読後感がありました。