適当に思いついたプログラミングアイデアのメモ。

・オートフォーカス
オートフォーカスとはカメラのピントを自動で合わせるもの。
ピントがあっているということは、画像がクッキリしているということ。
クッキリしているということは、高域の周波数成分が大きいということ。
ということで、ピントを段々いろいろと試していって、
もっとも高域の周波数成分が大きくなるところを探す。
そこがピントが合っている部分と考えられる。

・文章をスキャナで取り込んだ画像の傾きの自動補正
画像を大津の判別分析法とかで2値化する。
2値化した画像に対して、毎行(x軸方向)ごとの黒色の値をカウントする。
このx軸方向にカウントした値の列をベクトルとみなす。
ここで、画像が傾いている場合は、このベクトルの各値が滑らかなにつながっていると予想される。
従って、あらゆる傾きに対して、上記のベクトルを調べる。
このベクトルの中で、もっとも高周波数成分が含まれる傾きが、
画像が水平になっていると思われる。

・文字列のあいまい検索
検索したい文字列を X
Xを用いて検索する文章を Y
まずXに含まれるワードを保存しておく。
(漢字とか、カタカナとかでワード判定。あるいは辞書を使う。)
Yに対して、文章を句読点で区切りを分ける。
各文章ごとに、上記のワードを調べる。
全てのワードが含まれていれば、その文章に検索したい情報が含まれると考えられる。
あるいは、Y全体に対して上記のワードがどこに含まれるか調べる。
ワードが集中している箇所が、Xのことが書いてあると考えられる。

関連記事

  • JavaでStringとint[]の相互変換する方法JavaでStringとint[]の相互変換する方法 はじめに charAt1文字を1変数(コードポイントで)に割り当てたい。 そんな要望からStringとint[]との相互変換を行ってみます。 使い方はお察し下さい。 文字列から数値配列へ static public int[] toInteger(String text) { int textlength = text.length(); for (int […] Posted in プログラミング
  • Bresenhamアルゴリズムで線分の計算は早いのかなBresenhamアルゴリズムで線分の計算は早いのかな 以前、直線を描くのにこんなのを作った。 特に工夫点もない、素直な方法である。 #module "linem" #deffunc line2 int line_x1,int line_y1,int line_x2,int line_y2 line_xabs = abs(line_x1-line_x2) line_yabs = […] Posted in アルゴリズム
  • セカンドライフで綺麗な水面を作るセカンドライフで綺麗な水面を作る こんにちは! 「セカンドライフ技術系 Advent Calendar 2015」の12月13日(日)担当の なたで […] Posted in セカンドライフ制作
  • メディアンカットによる減色アルゴリズムメディアンカットによる減色アルゴリズム 3日前から、いつものHSP言語で減色プログラムを作ってたのですが、なかなか難しい。 メディアンカットを実装したいんだけど、資料がないんですよねー。 ということで、減色アルゴリズムを調べた形跡を紹介します。 減色アルゴリズム1 1. 全ての色からある程度階調を落とした色数のヒストグラム作成 2. 色数を多い方から昇順でソートする。 3. […] Posted in ライブラリ制作
  • Javaで3Dゲーム開発日記 part5 画像補間Javaで3Dゲーム開発日記 part5 画像補間 以前の続きでテクスチャのパーリンノイズの補間法の話です。 いい加減補間について調べようといろいろとプログラムして作ってみました。 テクスチャなので、上下と左右が繋がるように補間します。 8x8px → 256x256px […] Posted in ゲーム制作
  • Javaで高速に平方根の逆数を求めるJavaで高速に平方根の逆数を求める シェーディング言語について調べてたら 平方根の逆数を高速に求めるrsqrt関数というのがあるらしいことが分かった。 それで、この rsqrt について調べてたら、Fast inverse square rootっていう高速に計算できる記事を見つけた。 日本語だと、井尻さんのサイトの高速根号計算 (fast sqrt […] Posted in アルゴリズム