2010/07/24

OCRを利用したサービスの開発。

ちょっつOCRを利用したサービスでも作ってみるべ!
と思い立ち日本語認識が可能な無料のOCRを調べています。


調べてみたら日本語対応しているOCRはNHocrというのが良さそう。
(というかこれしか無いっぽい)

・NHocr
 http://code.google.com/p/nhocr/

 今のところ、一番期待度の高い日本語OCR。
 デモ(http://maggie.ocrgrid.org/nhocr/)も用意されている。
 2010/07/23現在、1行の認識しか対応してない。


NHocrは現時点で複数行の認識が出来ないなどまだまだな感じ、これからに期待か。。。



日本語対応してないやつだとTesseract-OCRが有力そうなので、今回はこれを調べることにした。

・Tesseract-OCR (※多分「テッセラクト オーシーアール」)
 
 HPが開発して、Googleがオープンソース化したもの。
 日本語は非対応だけど、学習データを作成することで対応できるっぽい。
 複数行の認識可。


とりあえず、ちょうどセブンイレブンのレシートが近くにあったので日本語認識できないと知りつつver2.04で試してしたみた。
(※Tesseract-OCRの使い方は後日POSTします。)












Rza ; 042-347-6622    
20103507g 22 El (X) 22:36, *} 




まぁ日本語を認識させるためのネタとなるデータ(トレーニングデータ)を作ってないので、こんなもんでしょう。
トレーニングデータを作成すれば日本語対応させれば使えそうな予感・・・。


※文字を認識させるための元データの作成はTraningTesseract というページに書いてある。
http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract

2010/07/21

Brekeke

SIP Proxy サーバー、PBX。
SIPを飯の種にしているエンジニアでbrekekeを知らないともぐりらしい。

http://www.brekeke.com/index-j.php

2010/07/06

デコメ

Content-Type:text/plain、Content-Type:text/htmlの両方をメール本文として送信すれば、
デコメ対応機種はHTMLメールを、非対応機種はプレーンテキストメールを表示してくれる。

2010/06/26

コマンドラインパーサー[NConsoler]

NConsolerは.NET用のコマンドライン パーサー ライブラリ。

コンソールアプリケーションを開発する際、コマンドライン引数の解析部分の実装に意外と時間を取られる。
NConsolerを使えばこの地味に面倒で煩雑になりがちなコマンドライン引数の解析をシンプル且つスマートに実装することができる。

NConsoler
http://nconsoler.csharpus.com/

[サンプル]
using System;
using NConsoler;

namespace NConsolerSample
{
    class Program
    {
        static void Main(string[] args)
        {
            Consolery.Run(typeof(Program), args);
        }

        [Action("実行する")]
        public static void DoWork(
            [Required(Description="件数:実行する件数を指定する")]int count,
            [Optional(false,Description="フラグ:フラグを指定する")]bool flag)
        {
            Console.WriteLine("DoWork {0} {1}", count, flag);
        }
    }
}



[実行例]

c:\NConsolerSample.exe 1
DoWork 1 False



↓Usageの表示も可能

c:\NConsolerSample.exe /?
実行する
usage: NConsolerSample count [/flag]
count    件数:実行する件数を指定する
[/flag]  フラグ:フラグを指定する

2010/06/23

【ORACLE】パッケージ、プロシージャのコンパイル

地味にハマッたのでメモ。PL/SQL Developerで実行したらPLSQL_DEBUGがTRUEなんさ・・・。




-- FLASEにしておかないとDEBUGモードでコンパイルされてしまう。
ALTER SESSION SET PLSQL_DEBUG = FALSE ;
 
 
-- パッケージのコンパイル
ALTER PACKAGE [パッケージ名] COMPILE PACKAGE;;
-- パッケージBODYのコンパイル
ALTER PACKAGE [パッケージ名] COMPILE BODY;
 
-- パッケージもパッケージBODYもコンパイル
ALTER PACKAGE [パッケージ名] COMPILE;
 
 
-- プロシージャのコンパイル
ALTER PROCEDURE [プロシージャ] COMPILE;