適当に思いついたプログラミングアイデアのメモ。
・オートフォーカス
オートフォーカスとはカメラのピントを自動で合わせるもの。
ピントがあっているということは、画像がクッキリしているということ。
クッキリしているということは、高域の周波数成分が大きいということ。
ということで、ピントを段々いろいろと試していって、
もっとも高域の周波数成分が大きくなるところを探す。
そこがピントが合っている部分と考えられる。
・文章をスキャナで取り込んだ画像の傾きの自動補正
画像を大津の判別分析法とかで2値化する。
2値化した画像に対して、毎行(x軸方向)ごとの黒色の値をカウントする。
このx軸方向にカウントした値の列をベクトルとみなす。
ここで、画像が傾いている場合は、このベクトルの各値が滑らかなにつながっていると予想される。
従って、あらゆる傾きに対して、上記のベクトルを調べる。
このベクトルの中で、もっとも高周波数成分が含まれる傾きが、
画像が水平になっていると思われる。
・文字列のあいまい検索
検索したい文字列を X
Xを用いて検索する文章を Y
まずXに含まれるワードを保存しておく。
(漢字とか、カタカナとかでワード判定。あるいは辞書を使う。)
Yに対して、文章を句読点で区切りを分ける。
各文章ごとに、上記のワードを調べる。
全てのワードが含まれていれば、その文章に検索したい情報が含まれると考えられる。
あるいは、Y全体に対して上記のワードがどこに含まれるか調べる。
ワードが集中している箇所が、Xのことが書いてあると考えられる。
コメント