2018-03-01から1ヶ月間の記事一覧

画像から塗り絵問題の生成(線画抽出)

塗り絵生成 先日のお絵かきロジック生成の時にPILの使い方を覚えた。 その中で、画像処理って使うのも単純で、アルゴリズムも単純なものが多いなぁ、という感想をもった。 例えば、2値化して、エッジ強調すれば塗り絵になるなぁ、すぐ出来そうだなぁ、みたい…

ヒートマップ

配列内のデータをRGBのヒートマップに変換したいことは良くあるのでメモ。 下の関数は配列内のデータの最大値(max_val), 最小値(min_val)とヒートマップ化したい値vを渡すと、そのvのRGBを返す。 def calc_heatmap_rgb(min_val, max_val, v, str_out=True): …

お絵かきロジック問題の生成

動機 前の日記でpythonでの画像の取り扱いをメモしたけど、そのモチベーションは画像からお絵かきロジックを生成したいと思ったから。というのも、最近一発描きというYoutuberさんのお絵かきロジック動画を見て癒やされていたから。一発描きさんは問題を自分…

Pythonでの画像処理の基本

画像形式の基礎知識 JPEGとかは圧縮されているとして、PNGとBMPの違いが分からなくなるのでメモ。 PNG(Portable Network Graphics) Webでのビットマップ画像を扱うために1996年に生まれた。GIFなどに対して後発なのでGIFなどで足りない機能が追加されている…

pythonでのCUIプログラミングTips

入力のTips inputで標準入力から文字を入力する場合に、カーソルキー(矢印キー)は扱いが特殊なので注意。環境依存になるが、入力されたカーソルキーをrepr付きで出力(print(repr(x)))してみると、各キーをASCIIコードでどう取得しているかわかる。 Linux(Ubu…

pythonの速度で気にするところ(高速化メモ)

高速化に関して 高速化はほんとに色々と罠が多い。意図した計測できていなかったり。(特に、python3はmapとかの返り値がジェネレータになっているので、その計測を間違っている例とかがウェブには多い。) 高速化の前に計測が必須だが,計測に関しては別のま…

Pythonでのソケット(TCP)プログラミングのメモ

ソケットプログラミング(サーバ/クライアント) 簡単なゲームを作る時とか、pythonでプロセス間の通信をしたくなる。そんな時のテンプレート。 サーバ側でIPとホストを指定してソケットを生成、クライアントからの接続を待って、接続があれば処理、これを繰り…