謎's キッチン

謎のひとりごと。Amazon欲しい物リストはこちら: https://www.amazon.co.jp/hz/wishlist/ls/CCPOV7C6JTD2

2014-01-01から1年間の記事一覧

モスキートノイズ

色々弄って、いい感じにはなったが、どうにも線が欠ける。 ソースがjpegなので、モスキートノイズが原因のように見える。先にMosquitoNRの移植を行うべきだったか。 いや、Adaptive Bilateral Filterで十分な気もする。問題はOpenCV 3.0でadaptiveBilateralF…

IDEとPython (タイプヒンティング、その他)

Pythonでは、タイプヒンティングの構文が標準化されておらず、実装によって構文がバラバラ。 import周りの規則もややこしいことこの上ない。ということで、コード補完のための定義ファイルの生成周りが理解しきれてない。 bpy.types.bpy_prop_collectionのた…

K-meansじゃダメだ

x軸はグレースケールの色と最頻値との差の絶対値、y軸は画像の外周を中心に円にした時の中心からの距離。下図の右下を切り離したいので、別のクラスタリング手法を使う必要がありそう。 しかし、OpenCVにはk-meansしか用意されていないので、sklearnを入れて…

画像の外周を中心に円にする

中心からの距離をk-meansの要素に使えないかなと思って、作ってみた。 import sys import cv2 import numpy as np import math def main(): if len(sys.argv) != 3: print "./circle_transform.py <in_file> <out_file>" quit() filename = sys.argv[1] outfile = sys.argv[2] i</out_file></in_file>…

3.0.0-beta

OpenCV 3.0ではPythonからT-API経由でOpenCLが使えるらしいと聞いて、さっそくパッケージ化して入れてみた。 パッケージは下記。手抜きなので、2.xのパッケージを全部削除してから入れないとダメなど、色々問題あるけれども自己責任で。 http://www4.pf-x.ne…

PCIe3.0を有効にする

$ cat /proc/driver/nvidia/params [...] EnablePCIeGen3: 0 [...]無効になってる。/etc/default/grubのGRUB_CMDLINE_LINUXに以下を足して、update-grubすれば良いらしい。 nvidia.NVreg_EnablePCIeGen3=1

Fast Prototyping

Pythonが流行りと聞いたのでPythonからOpenCVを使ってるけれども、ノードベースのUIや簡単なA/B比較に慣れたゆとり世代にはどうにも使いにくい。 というわけで調べたら、BlenderのノードにOpenCVを組み込んだものが開発されているらしい。 https://github.co…

OCRのための二値化

潰れや欠けを起こさないためのadaptiveThresholdは良さげだけど、白い部分にノイズが出てしまう。 前処理としてk-meansで3つのクラスタに分けて、白に近いクラスタを飛ばしたら、かなり満足のいく結果になった。

Cython + runcython

適当にアルゴリズム開発してみてるけど、やっぱりPythonの遅さがネック。 ということでCythonを入れてみた。が、速度を出すために型を指定しなければならなくて、だったらC言語で良くね? って思った。numpyの配列がPythonオブジェクトを含むらしくてOpenMPが…

hypotの近似

数学は強くないので、変なところがあるかも。hypot(x, y)とは、sqrt(x*x+y*y)のことだけども、xが正なら、以下のように変形できる。 sqrt(x*x+y*y) = sqrt((y/x)^2+1)*xq=sqrt(k^2+1)は、k (つまりy/x) の値が大きくなるほど+1の要素が小さくなるため、kの値…