ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

python

Pythonでセグメンテーションの領域を一回り大きく切り抜く

社内勉強会のネタにしようと思ったけど、せっかくなのでブログに書く。 既についているアノーテーションを一回り大きく取って、別の画像に張りつけるやりかたをまとめました。 Instance Segmatationのアノテーションを、一回り大きくくりぬきたいって時よく…

初めての逆運動学

実践ロボット制御を読みながら、三章の脚ロボットの逆運動学をプログラミングしてみた。 実践 ロボット制御: 基礎から動力学まで | アールティ, 耕, 細田 |本 | 通販 | Amazon 数式は本を見てもらうとして、素直にコーディングするとこんな感じ。 まあまあそ…

onnxのnamedtupledict

Qumicoでいろいろやろうとしていたらエラーがでたので調べたメモ namedtupledictはonnxの中で定義されている関数。 github.com namedtupleに辞書形式でのアクセスを追加しています。 簡単な使い方 import collections def namedtupledict(*a, **kw): namedtu…

GCPでTPUを動かしたメモ

GCPでTPU動いたのでメモ 準備 ここ読みながらTPUを起動する。ctpu upの前に、ブラウザのコンソールからSTARTさせないと動かなかった。(TPUにチェックを入れて緑色になっただけだと動いていなかった。) https://cloud.google.com/tpu/docs/quickstart?hl=ja…

久しぶりにKerasを動かしたときのメモ

import keras しただけでこういうエラーがでる。 ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory libcublasが見つからないだけなので、.bashrcにLD_LIBRARY_PATHを追加する。 export LD_LIBRARY_PATH=$LD_LIBRA…

行列プログラマ

2ヶ月かけて読んだ感想を。 全体的には、悪い本ではないのですが、僕には合わなかったです。 本を読み始めた理由 Computer VisionやDeep Learningで出てくる行列式がすらすら分かり、Pythonで簡単に動作を確認できるようになりたくて読んでみました。 内容…

coding matrix task 2.11.4 上三角行列を後退代入で解く

行列の勉強しているとでてくる謎の行列、上三角行列の問題。 上三角行列になっていると、下から順番に代入していくことで、Ax=bの形の解が簡単にも求められるのか。なるほど。教科書のコードは良く分からなかったので、再帰で解くようにした。明らかに再帰の…

coding the matrix task 2.6.9 凸結合で線を書く

2点が2要素のリストとして与えられた時、その2点を端点とする線分上に等間隔に並んだ点のリストを100個返すPythonのプロージャsegment(pt1, pt2)を書け。 pt = [3.5, 3], pt2 = [0.5, 1]の時に、その点を描画せよ。問題通りに解いてないけど、こんなアルゴリ…

coding matrix task 1.4.10 複素平面に絵を書く

画像を読み込んで一定の輝度未満のところを複素平面にプロットする。そこまでして複素平面を使いたいのか・・・いつものついったんで。コードはこちら # coding matrix # task 1.4.10 # 画像を読み込んで、輝度が120以下の点をプロットする import iterto…

coding matrix task 1.4.1 複素平面の描画

coding matrix読み始めました。せっかくなので、自分でグラフ書いてみました。ライブラリはここ。 https://github.com/natsutan/matrix/blob/master/chap1/myplot.pyPythonで虚数はjを使います。(知らなかった) # coding matrix # task 1.4.1 from myplot …

Gauche-CVで derivative Gaussian フィルター

Sobelフィルターは簡単に輪郭を抽出できますが、フィルターの効果が画像の解像度に依存するという欠点があります。その欠点を解消したのが derivative Gaussian フィルターです。Sobelフィルターの代わりに、Gaussian フィルターの一次微分を使います。ガウ…

Gauche-CVでSobelフィルター

Gauche-CVでSobelフィルターを使う方法です。簡単に輪郭の検出ができます。 PythonでSobelフィルター Pythonでは、filter.sobelで簡単にフィルターをかけられます。 # -*- coding: utf-8 -*- # Sobelフィルター __author__ = 'Natsutani' from PIL import Im…

Gauche-CVで行列の計算を行う

Gauche-CVで簡単な行列計算をする方法です。当たり前ですがnumpyと同じ結果になります。 Python numpy で行列計算 Pythonではnumpyを使えば、簡単に行列の計算ができます。 # -*- coding: utf-8 -*- __author__ = 'Natsutani' import numpy as np a = np.arr…

Gauche-CVでガウシアンフィルターをかける

Gauche-CVを使って画像にぼかしをいれる方法です。 元ネタはProgramming Computer Vision With Pythonから。 Gauche-CVはaharisuのごみ箱で公開されています。 Python PILでガウシアンフィルター scipy の filters.gaussian_filter を使って、色空間毎にフィ…

Gauche-CVで画像に描画する。

Gauche-CLを使って画像に円や線を書く方法です。 元ネタはProgramming Computer Vision With Pythonから。 Gauche-CVはaharisuのごみ箱で公開されています。 Python PIL, pylab で画像に描画する pylabと合わせれば、簡単にプロットできます。 # -*- coding:…

Gauche-CVで画像のコピーアンドペースト

Gauche-CLを使って画像の一部をコピーアンドペーストする方法です。 元ネタはProgramming Computer Vision With Pythonから。 Gauche-CVはaharisuのごみ箱で公開されています。 Python PIL でコピーアンドペースト 画像の真ん中で切り取るとちょうど首の所が…

Gauche-CVでサムネイルを作る

Gauche-CLを使って画像のサムネイルを作る方法です。元ネタはProgramming Computer Vision With Pythonから。 Gauche-CVはaharisuのごみ箱で公開されています。 Python PILでサムネイルを作る thumbnail()を使います。画像を小さくするアルゴリズムを変更す…

Gauche-CVでモノクロ画像を作る

Programming Computer Vision With Pythonを読み始めました。Pythonでそのまま画像処理をしても面白くないので、aharisuのごみ箱で公開されているGauce-CVを使ってみました。 Python PILで画像をモノクロにする。 Programming Computer Vision With Python …

数値積分の様子をインターラクティブに見よう

Pythonで数値積分 〜フーリエ級数展開を例に、てかscipy.integrate.quad()かわいいよscipy.integrate.quad()に先を越された気がしたので、PyplotにGUIをつけてみました。とっても簡単とは行きませんが、Tkinterと組み合わせることでグラフのパラメータをイン…

PyCharm で日本語入りソースを読み込むとUnicodeDecodeError

PyCharm 1.5.4を、Windows環境の Python3.2 で動かしていたら、タイトルのエラーが出て、少しはまりました。解決策をまとめました。 PyCharmから日本語が入ったPythonソースを、Debugで実行するとこのようなエラーがでます。DebugではなくRunなら問題なく動…

Pythonで相関係数を求める

numpyで簡単に求められます。 データは例題で学ぶ統計的方法のp51から。 import numpy # 来客数 x = [22,25,27,30,35,40,41,45,51,58] # 売り上げ y = [12,15,14,21,21,28,24,29,31,37] corr = numpy.corrcoef(x, y) print(corr[0,1]) 答え:0.976322278069

箱ひげ図(box plot)

5数要約(5 number summary) 5数要約とは、データの分布状況を5つの量にまとめたものです。5つの量とは、小さい順に最小値、下側四分位置、中央値、上側四分位です。英語では、the sample minimum (smallest observation)、the lower quartile or first quart…

ヒストグラムを書く

pyplotでヒストグラムを書く。 元データは、例題で学ぶ統計的方法 6ページから。ソース # Python 3 from pylab import * import numpy import scipy import math prop = matplotlib.font_manager.FontProperties(fname=r'c:\windows\fonts\msgothic.ttc') #…

PAIP 4.14 The Block World Domain

ブロックを移動させたり積み上げたりする問題。 テーブルに置いてある2個のブロックを積み上げる問題 最初の状態 ('a on table', 'b on table', 'space on a', 'space on b', 'space on table') 実行結果 [('executing', 'move a from table to b')] Aをテー…

PAIP 4.13 The Maze Searching Domain

GPSを使って迷路を解く問題。 昔よく似た問題を解いたような気がしますが、今回の迷路はこちらです。スタートが1で、ゴールが25です。 迷路はlistで表現しています。 maze_data = [(1,2),(2,3),(3,4),(4,9),(9,14),(9,8),(8,7),(7,12),(12,13),(12,11), (11,…

4.12 Monkey and Bananas

の続きです。 天井にぶら下がっているバナナをお猿さんは食べる事ができるでしょうか。ソースはgithubに。 https://github.com/natsutan/PAIP/blob/master/ch4/gps2.py https://github.com/natsutan/PAIP/blob/master/ch4/monky.py実行結果 $ python monky.p…

Python Scientific Lecture Notes

Python を科学技術計算に使うための講義ノートの翻訳です。 http://www.ike-dyn.ritsumei.ac.jp/~uchida/scipy-lecture-notes/元の文章もすばらしいけど、すばらしい翻訳まであります。 夏の間に読みたいです。

Beging Python Visualization

Beging Python Visualization読みました。最初はmatplotlibを使った綺麗なグラフの書き方が細かく載っている本かと思って買いましたが、後半がなかなかおもしろく良い意味で裏切られました。Pythonを使ってできることを、浅く広くしっかりと紹介している本で…

グラフタイプ

Beginning Python Visualizationの6章から。 GDPのデータを使って、様々なグラフを書いてみます。テキストに日本語を入れるには、font_managerを使います。 import matplotlib.font_manager prop = matplotlib.font_manager.FontProperties(fname=r'c:\windo…

働くパパのためのThe General Problem Solver

Paradigms of Artificial Intelligence Programming: Case Studies in Common Lispの4章から。4章の一番最初に出てきたプログラムをPythonで実装してみました。元のlispソースはhttp://norvig.com/paip/gps1.lispです。教科書は息子を学校に連れて行くパパで…