2008-12-10[n年前へ]
■Office付属OCR機能で「板書画像を一発でPPTファイルにするRubyスクリプト」を作る
「ホワイトボード前で打ち合わせをして、打ち合わせ終了時にホワイトボードに書いた板書をプリントアウトして、後でパワーポイント資料を作り直す」といった作業をしたことがある人は多いと思います。あるいは、(印刷機能を持ったホワイトボードは高いですから)「ホワイトボードに板書した内容をデジカメやケータイで撮影しておいて、撮影画像をプリントアウトした後にパワーポイント資料を作ったり」、「撮影画像をモニタ上で眺めながらパワーポイントを作ったりした」ことがある人も多いのではないでしょうか。
そんな人、そんな時のために、Office 2003以降に着いてくる"Microsoft Office Document Imaging"のOCR機能を使って(デフォルト設定ではインストールされないかもしれません)、「板書画像を一発でPPTファイルにするRubyスクリプト」を作ってみました。作ったもの一式をとりあえずここに置いておきます。
たとえばこんな手書きの板書があったら、
ruby imgOCRppt.rb rakugaki.jpgといったようにimgOCRppr.rbスクリプトを呼ぶと、rakugaki.pptというファイルができあがります。この例では私のラクガキ手書き文字が汚いせいで、ずいぶんと文字化けしていますが、達筆な人が描いた板書なら、きちんとしたパワーポイント(PPT)ファイルが(もしかしたら)生成されるかもしれません。
スクリプトの内容は、
require "win32GuiTest" img=ARGV[0] Win32GuiTest.img2PPTbyOCR( img.sub(/\.jpg$/i,'.ppt'), Win32GuiTest.bmp2texts(img), img.sub(/\..?$/i,'') )とい風で、"img2PPTbyOCR"と"bmp2texts"という2つのメソッドからできています。
ちなみに、画像からテキストを抽出するOCR部分("bmp2texts")のRubyソースは、次のようになっています。
def Win32GuiTest.bmp2texts(file) doc=WIN32OLE.new('MODI.Document') doc.Create(file) doc.OCR(17, false, false) # Japanese layout=doc.Images(0).Layout str=doc.Images(0).layout.Text doc.Close return str endそして、この後、 Win32GuiTest.img2PPTbyOCR で画像ファイル名をスライドのタイトルにして、画像ファイルからOCRで抽出されたテキストをスライドのコンテンツ・テキストとして入力・保存する、という内容になっています。
2008-12-11[n年前へ]
■「板書画像をベクタライズしPPTファイルにするRubyスクリプト」を作る
「Office付属OCR機能で「板書画像を一発でPPTファイルにするRubyスクリプト」を作る」で、板書画像を文字認識した上で、パワーポイントのファイルに変換するRubyスクリプトを作ってみたわけですが、あまりの悪筆で板書文字をろくに認識してくれなかったりすることも多いと思います。また、板書にイラスト・説明図を頻繁に描くような人も、おそらく少なからずいると思います。
そんな時、「板書画像を自動でベクタライズした上で、パワーポイント上でイラストを再編集することができたら便利だろう」というわけで、「板書画像をベクタライズしPPTファイルにするRubyスクリプト」を作ってみました。その例がjpg2ppt.rbです。
require "win32GuiTest" jpg=ARGV[0] Win32GuiTest.img2PPT( jpg.sub(/\.jpg$/i,'.ppt'), Win32GuiTest.jpg2wmf(jpg), true)という具合でいつものように、処理本体自体は win32GuiTest に(とりあえず)入れてあります。
スクリプトを置いたディレクトリに"apps"という名前のサブディレクトリを作り 、その中にここからダウンロードしたPotraceのバイナリ・ライブラリ類を置いて、さらに、JPG2BMP に入っているバイナリ・ライブラリ類をを置けば準備完了です(win32GuiTestの末尾当たりを見れば、その汚い実装や変更方法がわかると思います)。後は、
ruby jpg2ppt.rb rakugakiv.jpgとスクリプトを呼べば、こんんなパワーポイントファイルができあがります。
PPT(パワーポイント)ファイルに貼り付けられた画像はベタライズされた上で、Windows Meta File形式でスライド上に貼り付けられているので、グループ化を解除していけば、後でベクター部品に分解された板書の再編集が可能、ということになります。
2010-04-26[n年前へ]
■新世界へ行こう
そして、今となってはシュレッダーで思い出すのは、退職してゆく人が黙々と書類をシュレッダーにかける光景だ。皆が寡黙にPCに向かうオフィスで、シュレッダーの音が響く。顔を上げ、シュレッダーに向かう背中を見て、そういえばこの人は今日で終わりだったなあ、と思う。そういう光景を何回も見てきた。そして自分も何回もシュレッダーをかける立場となった。(中略)シュレッダーが終ったら、皆に挨拶をして、この会社ともおさらばだ。シュレッダーは、紙だけでなく、会社員の人生にも一区切りをつけるのだ。
2011-01-16[n年前へ]
■オフィスのコピー機が繋ぐ「恋」
高レベルな戦いとなったRICOH&Java Developer Challenge 2010の最終選考
グランプリを獲得した「SIAWASE」は、(中略)MFPに手相をスキャンさせ、「仲の良い夫婦の手相は良く似る」と言われる点から、その共通点を調べ、相性をピックアップし、紹介を行い、MFPを通じて、匿名で文通を行い、お互いにやり取りで意気投合すれば、本名とメールアドレスを同意の元に公開するというもの。
リコーの主催するJava Developer Challengeは元々欧州が発祥。あちらの優勝者はJavaOneでの成果披露スピーチができたりする。日本のこの大会も、世界の中で高い技術を示す国として、発信していけるものとなるよう、これからも若い世代に頑張っていってもらいたい」とした。
2012-05-07[n年前へ]
■Office 365 エクセルで遊んでみよう!?
マイクロソフトが提供しているクラウド サービスOffice 365 が「30日間有効な試用版」を提供していたので、申し込んで使い始めてみました。
「スカートと下着と階段の関係」を計算するエクセルシート(の叩き台)を自分のPCで作成し、それを にアップロードして、さらにOffice 365エクセルでカスタマイズ・修正作業をしてみました。
「階段」を棒グラフで表現し、「人型」をグラフ内に配置して…といったブラウザ上で作業していると、機能がまだまだ不足気味だとか、快適に使うことができるとは言い難(がた)い動作速度だと感じたりします。
しかし、使い心地は「まだまだ発展途上」とはいえ、クラウド上にファイルを置いておき、色んな場所(道具)から読むことができて、そして少しの加工・編集もできる…というのは、やはり少し便利かもしれません。
というわけで、Office 365 エクセルでスカートと階段を再現する計算(エクセル)シートを作り遊んでみました。