メモ OpenCV のマウスイベントの自作ラッパークラス heno.py

henoは ハワイの言葉で 可愛いだそうです。 ディープラーニングのデータセット用に へのへのもへじを大量に必要なので 小さい専用ペイントツールが欲しくなって ちょっと作りかけ。 未完成だけど できたところまでメモ今どき github とかgistじゃなく blogに…

メモ 変数コンテナクラス Var とか Enumとか

collection.py class Var(object): def __init__(self,kv=[]): self.__name__=[] if kv: for k,v in kv: self.__dict__[k]=v self.__name__.append(k) def __iter__(self): for k in self.__name__: if not k.startswith("_"): yield k def __repr__(self): …

Pythonで線形リスト

標準の型で入っててくれたら便利なのにー 以前も書いた気がしますけれども ちょっと必要になったので Pythonで線形リスト (Consリスト)を書いてメモ from collections.abc import Iterable class Cons( object ): def __init__(self,left,right): self.left…

Python で FTPサーバーを立てる

自分、Win10とAndroid間のファイルのやりとり、 Googleドライブなんかも使いますけど FTPサーバー立ち上げてさくっと転送したいとき pyftpdlib モジュール使いますpyftpdlib.readthedocs.ioAndroid側のFTPクライアントは 適当なファイラーをGoogle Playから…

Pythonで画像中の二人の顔を入れ替える

では、過去記事二つのプログラムを使い、スマホアプリ「Snow」 みたく 同一写真上の二人の顔を入れ替えるプログラムを作ってみます。 プログラム書いてる人の技術力の問題で、めっちゃ雑ですけれども。 必要なモジュール OpenCV library dlib C++ Library Gi…

顔のポリゴン分割自動生成

前回からの続きです。 最終的には Snowみたく 顔を入れ替えるプログラムになる予定です boxheadroom.hatenablog.comdlibで取得したfacelandmark (を水増して おでこを追加したもの)を cv2.Subdiv2Dを使ってドロネー三角形に分割します直下に フォルダ名 fa…

dlibで「おでこ」を推定

dlibで顔のパーツを検出すると眉毛のあたりで切れちゃうので、 おでこというか 頭頂部も ざっくり推定。 こちらのプログラムを参考というか だいぶ コピペしましたqiita.comfacelandmark.py #!/usr/bin/env python # -*- coding: utf-8 -*-import sys import…

GoogleカレンダーでエクスポートしたデータをCSVにするPythonスクリ

やっつけ import zipfile from datetime import datetime import codecs with zipfile.ZipFile("foo@gmail.com.ical.zip" ,"r") as zp: with zp.open("foo@gmail.com.ics","r") as fp: lines=fp.read().decode("utf8").splitlines() cursor=iter(lines) even…

タコの足シミュレーター

タコの足で機械学習できると聞いて、タコの足のシミュレーター書いてみた。 のですが、 あんまりおもしろい感じにならないので 多分 一味足りないと思われます 自分用のメモとして保存mnistの読み込みモジュールは こちらのを少し改造 https://endoyuta.com/…

コード

server.py # -*- coding: utf-8 -*- import time from ogata import * import ogata import pyautogui import pyperclipclass MainHandler(BaseHandler): @tornado.web.authenticated def get(self): self.render("keys.html") @tornado.web.authenticated d…

起動方法

ユーザー名 hoge パスワード huga ポート8888で起動するとき python -username=hoge -password=huga -port=8888 server.py

必要なモジュール

どれもpip install hogeで入ると思います pyautogui pyperclip tornado PythonのTornadoで解説入れながらLoginしてみる - conta's diaryログインの部分はこの記事のコードをそのまま利用させていただきましたコード一式をGitHubからダウンロード後server.py…

流れ

PythonでWebサーバーを立てスマホからアクセス 例 http://192.168.xx.xx:8888/ ユーザー名、パスワードを認証後 入力画面に遷移 テキストエリアに入力された文字がスマホのブラウザからPCのサーバーに送信されてきたら PCの画面上でフォーカスのあるウィンド…

スマホをPCのキーボード代わりにする

Twitter モーメント‏「PCでローマ字入力ができて当たり前」とはいえない時代に。スマートフォンをPCのキーボードとして利用するアプリは既にいくつか存在するようですけれども、 BLE-HID-Peripheral-for-Androidhttps://github.com/kshoji/BLE-HID-Periphera…

つるかめ算メモ その2

数値的に連立方程式を解く関数をクラスにしてみた なんかごちゃごちゃしてるので もう少し交通整理したほうが良いと思うけど実際のユースケースに応じて修正したほうが良いかも。 違う問題をたくさん解くのか 同じ係数の問題で入力が違うのを何度も解くのか …

つるかめ算メモ その1

たまに使う 「数値的に連立方程式を解くアルゴリズム」を忘れちゃったので 思い出すのと検算用に書いてみた その2は無いかもしれない「ループを回すと収束して解が求まる」 ってアルゴリズム多いので、ニューラルネットワークでもそういうレイヤーが有ると…

コード

from gimpfu import * import os,sys #GLOBAL CONSTANT def inpaint(image,layer): _margin=32 import numpy as np import cv2 #image=gimp.image_list()[0] #layer=active_layer = pdb.gimp_image_get_active_layer(image) import numpy as np import cv2 d…

必要なモジュール

numpy opencv たしか、こちらのものを利用していたはず。 Unofficial Windows Binaries for Python Extension Packages http://www.lfd.uci.edu/~gohlke/pythonlibs/手っ取り早くは 〜〜/PortableApps/GIMPPortable/App/gimp/Python/Lib 、あたりにwhlファイ…

動作環境

Win10で GIMPPortableで確認しました

動作サンプル

http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_photo/py_inpainting/py_inpainting.html

Gimpから OpenCVの Inpaint関数を利用するプラグイン

画像中の要らないところを選択して、フィルター/下塗り/Inpaintを実行すると、周囲の色で適当に消してくれます。

自分のPCのIPアドレスをPythonで調べる

2017年3月現在 標準モジュールだけで行う方法 import socket,platform print( socket.gethostbyname(platform.uname()[1]) ) windows linuxどちらでもいけるみたい (Macは未確認)

クラスとリスト内包表記 (py)

class _T豚(object): pass class _Tただの豚(_T豚): _飛ぶ=False class _T紅の豚(_T豚): _飛ぶ=True _豚リスト=[_Tただの豚(),_T紅の豚()]print ("飛ばない豚",[ b.__class__ for b in _豚リスト if not b._飛ぶ]) 飛ばない豚 []

prolog

buta(tadanobuta). buta(kurenainobuta). fly(kurenainobuta). tobanaibuta(X):-buta(X),not(fly(X)). ?- tobanaibuta(X). X = tadanobuta .

IF

_飛ぶ=False if not _飛ぶ: print( "ただの豚")

メモリの内容を調べる(PEEK相当をマシン語で)

IchigoJamのBASIC言語にはメモリ内容を調べるPEEK関数があります。 これはBASIC言語から見た仮想的なメモリ空間を16ビットのアドレスで指定して調べるものです。なので、マイコンから見えているメモリ空間上に配置された各種レジスタの内容を読むために、PEE…

マシン語でLチカ

IchigoJamのマシン語からポートを直接操作するサンプルプログラムです。やってること自体はBASIC で LED 文つかったほうが早いですけれどもーアセンブラソースはこんな感じ。JS製 IchigoJam用アセンブラでマシン語に変換できます。 @led r1=[@dat] r3=[r1+0]…

IchigoJam 用アセンブラ

こちらのページマシン語メモリアクセスで画面超速表示! IchigoJamではじめるARMマシン語その3 http://fukuno.jig.jp/1188 のニモニックをIchigoJam用の機械語(BASIC のPOKE文)に変換するアセンブラをjavascriptで組んでみましたAsembler for IchigoJam http…

テーラー展開としての逆フーリエ変換

さて、この微分 F(1) 二階微分 F(2) を使って もとの 時系列データ f を表現してみましょう関数 f を その微分で表現する、といったら、テーラー展開です。f(t) = Σ α1 F(1)(n)(t) + Σ α2 F(2)(n)(t) + + Σ α3 F(3)(n)(t) + Σ α4 F(4)(n)(t) +.... と、無限…

微分としてのフーリエ変換

こんなありがちな時系列データ f が手元にあるとします。 これを微分したい! たとえば、2点間の距離変化のデータだったとしたら、以前よりも伸びてるのか縮んでるのか調べたい。 ありがちなのが、適当に2つの期間の平均値をとって、その差を調べる方法。で…