らんだむな記憶

blogというものを体験してみようか!的なー

graphics

ImageMagick で bmp 画像へ一括変換

PNG to BMP3 using mogrify - ImageMagick より mogrify -format bmp -define bmp:format=bmp3 *.png とすると良い感じで .png -> .bmp ができるみたい。*1この後、potrace で svg にして*2、fontTools の svg2glif.py を使うと簡単に .glif にできる。例え…

量子ビット

Pauli 行列と量子ビット - らんだむな記憶 が気になったので、もう少し調べた。 量子力学の教科書から 現代量子力学入門 - 丸善出版 理工・医学・人文社会科学の専門書出版社 p.94 によると、スピンは observable なので行列形式の取り扱いだけが可能とのこ…

モルフォロジー変換

【図解】画像処理の6つの種類をご紹介。画像処理メーカー7社厳選 | ロボットSIerの日本サポートシステム なんと。“膨張”とか“収縮”というイメージとは異なる処理が書かれているな・・・。しかしこれ、グレースケール画像なら二値化していきそうだな。モルフ…

サブピクセル

Microsoft ClearType - Typography | Microsoft DocsとASCII.jp:さらばギザギザ! NVIDIAがアンチエイリアスを技術解説 (1/2)のサブピクセルは意味が違うんだろうなぁ。 前者は物理的な1つの画素の構成する3つの副画素(サブピクセル)R, G, Bを独立に制御す…

画像の拡大とか縮小とか

ラスター画像のデータ - らんだむな記憶で画像をスケール変換して正規化しないとダメかなぁとかぼんやり。 Python - アンチエイリアスで写真をキレイに縮小 - Qiitaを見ると、PILでいけるっぽいのでFreeTypeで文字を書く - らんだむな記憶に戻って、Image.fr…

ラスター画像のデータ

FreeTypeで文字を書く - らんだむな記憶 Tesseract(2) - らんだむな記憶 がイマイチになったなぁということで別のことも考えたい。 import struct import freetype import numpy as np face = freetype.Face("SourceSansPro-Regular.otf") face.set_char_siz…

Tesseract(2)

Tesseract(1) - らんだむな記憶をMacでもやるぜー... と思ったが面倒臭いので、Home · tesseract-ocr/tesseract Wiki · GitHubを参考に $ brew install tesseract する。やったね![.bashrc] export TESSDATA_PREFIX=$HOME/tesseract くらいは加えておく。 e…

細くしてから抽出(2)

極太文字の日本語だと色々厳しかった。ありもののロジックだけだと厳しいかもなぁ...。 ついでにtesseractで読み取らせたら、細くする前のは読み取れたけど、細くしたほうはさっぱりだ... orz

細くしてから抽出

画像の骨格線を得るにあたって、ギリまで細くしたら綺麗にとれるかな?と思ったけど、マシにはなるけど完璧ではない。 でもマシになるからやる価値はあるか? これ以上を求めるなら、輪郭を検出して輪郭上の各点での接ベクトルを求めて、法線ベクトルを求め…

文字とか検出しちゃう

色んなサイトからコピペもとい参考にしつつインスパイアされつつで。 #! /usr/bin/env python # -*- coding: utf-8 -*- import sys, os, re import numpy as np import cv2 import matplotlib.pyplot as plt im = cv2.imread("out.png") im_gray = cv2.cvtCo…

Adobe CCが安くなってる

Amazon.co.jp: Adobe Creative Cloud コンプリート サブスクリプション(月々払い)[定期購入]: ソフトウェア 価格: ¥ 3,765 / 月 長期割引: ¥ 4,853 (56%) / 月 微妙に欲しくなる... といってもいまの瞬間はあまりごりごり使う予定もないのだが...。単体プ…

ほぅ

Illustratorにちょっと興味があるこの頃。しかし、12ヶ月契約は厳しいなぁと思っていたら、Amazon.co.jp: Adobe Illustrator CC 単体 サブスクリプション(月々払い)[定期購入]: ソフトウェアみたいなのもあるようだ。ちょっと割高感あるけど、1~2ヶ月だけ…

Photoshopフォトグラフィプラン

LightroomとPhotoshop | Adobe Creative CloudフォトグラフィプランのプランはAdobe CCの中では随分と安い。 Photoshop単体よりもPhotoshop+Lightroomの方が遥かに安いのはなぜ? | Adobe Creative Station公式blogによると、クラウドサービスの差異などに起…

Tesseract(1)

ま、画像で遊ぶなら文字認識とかしてみる~?ということで、Tesseractに目星をつける。むっづかしーことばかり書いてあるページが多いので、知恵熱で倒れそうだ。(1)leptonica のセットアップ http://www.leptonica.com/download.htmlからleptonicaを取得。 …

Fourier変換~理想と現実

$d$次元Fourier変換を \begin{equation} \mathcal{F}u(\xi) = \frac{1}{(2\pi)^{d/2}}\int_{\R^d}\exp(- i x \cdot \xi) u(x) dx \end{equation}で定義する。 ここでは、2次元Fourier変換を考え、$u(x) = \chi_{[-1,1]^2}(x)$ つまり、 \begin{equation} \ch…

パワースペクトル

pyplot.imread でグレイスケールで読ませる方法を調べるのが面倒だったので、cv2 を使う。グレースケールだと、FFTとIFFT - らんだむな記憶で触れたような色相の問題も一応なさそう。 #! /usr/bin/env python # -*- coding: utf-8 -*- import sys, os import…

FFTとIFFT

高速Fourier変換と逆高速Fourier変換を画像にかましてみる。 import sys import numpy as np from matplotlib import pyplot as plt img = plt.imread(sys.argv[1], 1) # FFT f = np.fft.fft2(img) # IFFT img_back = np.fft.ifft2(f) # complex -> uint8 im…

OpenCV(2)

cv2.imread の動きを見てみたい。 画像とビデオの読み込みと書き込み — opencv v2.1 documentationによると、第2引数はグレースケール or 3チャンネルかを制御できる。I = [0,255]とする。 import sys import cv2 img = cv2.imread(sys.argv[1], 0) print im…

OpenCV

OpenGLやWebGLも少し気になるなぁ、という気もしないでもないが、だるぅ~~~いのでOpenCVを入れてみる。 よく分かってないので、Install OpenCV 3 and Python 2.7+ on Ubuntu - PyimageSearchのまんまでビルドする。頭を使ったら負けだ! $ sudo apt-get u…

オンライン画像編集

ふとggると、Photoshopなしで画像加工!登録不要のフリーオンライン画像編集サイト6選 | 株式会社LIGというのがあったので、sumopaint.comを試してみた。 おぉ、便利。オンラインのエディタだから、直接URLを開いて画像を編集することもできる。なので、Web…

ビットマップからsvgへ

Peter Selinger: Potraceなんてツールがある。 Peter Selinger: Potrace examplesを見ると結構すごいね。どうなってるのかな?と思ったけど、ビットマップの状態で、一旦外側のジャギジャギの部分をラインで繋いで行って、ポイントを落とす形でカーブで近似…

ということで、Bézier曲線で囲まれた領域の面積とか(2)

ということで、Bézier曲線で囲まれた領域の面積とか - らんだむな記憶で面積計算のための式を導いた。が検証はしていなかった。 まぁ、計算とか苦手なんで間違っている可能性は大なのだが!すでに準備はできている。rubyとBézierと(2) - らんだむな記憶で十…

rubyとBézierと(2)

簡単な実験が済んだので本番。Bézier曲線を用いて円を近似したい。こういうのはggればすぐに見つかる。 ベジェ曲線で描く円と真円の差についてが詳しいかな?誤差の解析も行ってるみたい。 実はろくに読まずにハンドルの計算だけ拝借して #! /usr/bin/ruby -…

rubyとBézierと

rubyでBézierの計算をしようと思って、まずは雰囲気だけ書いた。(主に演算子の優先順位について。いちいち調べたくないから動かして観察する!) 演算子式 (Ruby 1.9.3)を見られるのは優秀なやつだけ!排他的論理和(XOR)のために ^ が使われているから、冪乗…

ということで、Bézier曲線で囲まれた領域の面積とか

もう計算とかできる歳じゃないし! - らんだむな記憶とGreenの公式と曲線の面積 - らんだむな記憶で準備したので。とりあえず3次の場合だけ求めとく。 $P_j = (x_j, y_j),\ 0 \le j \le 3$をコントロールポイントとすると、$t \in [0,\ 1]$をパラメータとし…

Blender with python(3)

Blenderが分からんけど、それはBlender入門(2.7版)でゆるりと読んでいくとして...。pythonのAPIはどうやっているんだろう?Help|gt;Python API Referenceを開く。 Oops... 2.75a用のページがNot foundだ。2.75用のページで代用。 Blender Documentation Cont…

ブロックで描く円

Minecraftで円形を作りたいとかいうことで、rubyで書いてみたが。 #! /usr/bin/ruby -Ku class CircleRenderer def initialize(radius) @radius = radius end def render center_x = @radius center_y = @radius adjust = 0.3 # 厳密な計算だとちょっと不恰…

Inkscape

Ubuntu14.04LTS用のInkscapeを入れた。が、なんか0.48とかいう古いやつなんだけど...。 しゃーないので How to Upgrade to Inkscape 0.91 in Ubuntu 14.04/12.04/14.10 | UbuntuHandbookを参考に、 $ sudo add-apt-repository ppa:inkscape.dev/stable して…

Blender with python(2)

>>> print(cube) <bpy_struct, Object("Cube")> >>> print(dir(cube)) ['__doc__', '__module__', '__slots__', 'active_material', 'active_material_index', 'active_shape_key', 'active_shape_key_index', 'animation_data', 'animation_data_clear', 'animation_data_create', 'anim</bpy_struct,>…

Blender with python

Minecraftでキノコ型のオブジェクトを作りたいとかいう話が出てきた。最近のノリからは、Illustratorか何かでBézierでオブジェクトのシェイプを書いて、グリッドとの交差からブロックで近似する、ということを3D的に行えばいいじゃないかとかそんなことを考…