こけめも

メモみたいなもの

iPad2をフォトフレームとして親にプレゼントするために行った設定

iPad2買っちゃいました!


とは言っても親にフォトフレーム代わりにプレゼントするためですが。
それにあたって調べたこと、やったことをメモしていきます。

フォトフレームとして

なぜ普通のフォトフレームではなくiPadを贈ろうと思ったのか?
その理由は「手元にフォトフレームがない状態で表示する写真を更新したかったから」です。
普通はフォトフレームに装着するSDカードの画像を差し替える必要がありますが、親元から遠く離れているとこれも難しいです


Buffalo8型液晶搭載 無線LAN対応 デジタルフォトフレーム PF-50WGシリーズ | BUFFALO バッファローSonyCP1 | 製品情報 | 個人向け | VAIOパーソナルコンピューター | ソニーからもWifi対応フォトフレームがリリースされていますが、iPad2発売当日に電話したら一台確保できたので、これを両親へのプレゼントとしようと考えました。

フォトフレームアプリ本命

iPadを「遠隔地で写真更新できるフォトフレーム」と考えた場合、写真管理のWebサービスから写真を取得する方法があります。
その目的に一番あっていると思えたのがこちらの「koukouTV」です。


公式サイト↓
koukouTV


App Store
koukouTV (Wi-Fiデジタルフォトフレーム) 1.1App
カテゴリ: 写真 価格: 無料
更新: 2011/04/22


FlickrPicasaフォト蔵、その他複数のサービスに対応しています。
(表示するアルバムとして設定できるのは、いずれか一つのサービス[の一つのアルバム・フォルダ])


私の場合、保存容量の多さから「フォト蔵」を利用することにしました。
フォト蔵」へのアップロードはWindowsiPhoneAndroid(非公式)クライアントが用意されています。


もともと「遠く離れた親に対して"親孝行"する」ことをコンセプトにしたアプリなので、私が欲しかった機能は十分備えていました。
かつ、もともと有料アプリでしたが、今は無料アプリとなっています。
欲を言えば、音楽再生機能や、気に入った画像のダウンロード機能などあればもっと嬉しいですね。


その他候補

■30days Album

30days Album〓 のオンラインアルバムは、【合い言葉】と【期間限定公開(30日 or 無期限)】で友達や家族と安心して写真共有ができるサービスです。


もともとは、独自のストレージを持つオンラインアルバム系Webサービスです。
このサービスで扱う写真を管理するためのiPadアプリが公開されており、スライドショーもできる、という位置づけです。


公式サイト↓
iPhone・iPadアプリ | 写真共有・保存サービス 30days Album


App Store
30days Album for iPad 1.4App
カテゴリ: 写真 価格: 無料
更新: 2010/11/24


■ハッピー便り


特定のメールアドレスに写真・動画を送付すると、関連付けられたiPadに対して写真が送られるというサービス・アプリです。
送信者⇔WebサービスiPad(アプリ)とすることで、3G非搭載モデルでもメールによる写真送付を実現しています。
一日の容量制限があったり、350円の有料アプリだったりですが、月々の料金が掛かってしまう携帯キャリアのフォトフレームよりも良いと思います。


公式サイト↓
Happy Letter, A Digital Photo & Movie Frame for iPad


App Store
ハッピー便り 1.0.1App
カテゴリ: 写真 価格: ¥350
更新: 2011/01/25

簡易マニュアル作成


まず行なったことは、公式のマニュアル(PDF)と、最初からSafariのブックマークに入っているユーザーガイドをホームにアイコン作りました。


公式マニュアル
http://support.apple.com/ja_JP/manuals/#ipad
↑からiPad2のマニュアルをSafariで開き、ホーム画面に追加する。


iPadSafariのブックマークには、はじめから「iPadユーザーガイド」が登録されています。
使用前の設定方法や、各機能の使い方が、iPadSafariで見やすい形式で公開されています。
Safariのブックマークから「iPadユーザガイド」を開き、ホーム画面に追加します。


その他、いくつかのサイトを参考に重要そうなポイントを自分でまとめて印刷しました。
高齢の親向け、ということで初歩中の初歩です。

  • 「ホームボタン」を押すと「ホーム画面」に戻る。
  • スリープ状態からの復帰(ロック画面の解除)方法
  • タップ・ドラッグ・フリック・ピンチイン・ピンチアウトなどの説明
  • フォトフレームアプリの実行方法

AppleIDについて

ちょっと悩みましたが、普段自分が使っているのと別のアカウントを作成して割り当てました。
クレジットカードを使わずに作成するための手順を検索したところたくさんありましたが、今回はApple公式手順を参考にしています。
クレジットカードやその他のお支払い方法を使わずに、iTunes Store、App Store、または iBooks Store のアカウントを作成する

Facetime

自分のiPod Touchと通信できるように連絡先登録。
基本的にお互い家に居る時しか使えないのでSkype使うのと大差ないですが…

mobile me

盗難・紛失対策として、mobile meアカウント追加と、「iPadを探す」機能をオンにします。
参考:Apple - iCloud - あなたのすべてのコンテンツを、すべてのデバイスで。


いざという時?は、iPadにメッセージも送れますし。

インストールしたアプリ

・そら案内
そら案内 for iOS 1.1.3App
カテゴリ: 天気 価格: 無料
更新: 2011/04/19


・レシピサーチ
日本一のレシピ検索!レシピサーチ 1.05App
カテゴリ: ライフスタイル 価格: 無料
更新: 2011/02/02


・wikipanion
iPad用のWikipanionアプリ 1.6.5fApp
カテゴリ: 辞書/辞典/その他 価格: 無料
更新: 2011/03/22


・あらたにす
あらたにす for iPad 1.0App
カテゴリ: ニュース 価格: 無料
更新: 2011/04/28

《続》IS04を買ってから入れたアプリ、行った設定 その2

au IS04を購入した際に次のような記事を書きました。
IS04を買ってから入れたアプリ、行った設定 - kokemonoの日記


あれから2ヶ月以上が経ったわけですが、正直この端末には不満がマンマンです。


私自身が体感したことや、世間で言われている不満点・不具合を書きだしてみます。

不具合・不満点

・キャリアメールソフトが使いづらい。ケータイアップデートでほんのわずかに改善?されたがそれでもまだまだクソ。
・メールのフォルダ内一括削除機能がない。大量のメールを選択しようとすると、一つずつ選択する必要があるが、選択数が多くなると重くなる。
・Eメールの連絡先が使いづらい。グループ分けしにくい。
・Eメールの自動受信がされないことがある。(半日ほど自動受信なしのケースも)
・Eメールで送信ボタンの位置が悪く誤って送信してしまうことあり。
・アプリ(特にEメールとカメラ)がしょっちゅう応答なしになったり強制終了する。メモリが150MB以上空いていても同様。
・時には端末の電源が勝手に落ちたり再起動。
・標準カメラアプリのシャッターボタンが押せないことがある。(効かない)
・ロック状態(スリープ状態)にならずに一気に電池消費+発熱
・受信したメールで文字化けするものがある。(これは送信側の文字コードが悪いという話)
・USB高速転送モードにする前にデバッグ有効にすると、PCが固まる(これは自分のFujitsu製PCの問題かも)
・遅い。不要なタスク殺しているにも関わらず動画が滑らかに再生されない。
・削除などのメール選択中に新しいメールが届くとチェックがすべて外れる。
プレインストールのアプリがどれも使えない。jibeとかいらない。相変わらず方向性ズレてる感じする。


どこまでがAndoroidの仕様でどこまでがIS04の仕様か分からない点もありますが、他のスマホの話しを聞くとIS04(というかREGZA PHONE?)が特にひどいように感じます。
もちろん、スマホですので自分でカスタマイズして快適な環境を作り出し、それが楽しみだという人もいるでしょう。
それでも私は、これで出荷をOKした人の感覚を疑ってしまいます。


今回は、こうした不満を少しでも軽減するために、自分が行っている設定を書いていきます。
あくまでも「軽減」で、それも「わずかに」ではありますが…

電池

・[重要]基本中の基本で不要なタスクは終了する。最近起動したタスクがなくてもたまにタスク終了ソフトを動かしてみる。(SkypeやらブラウザやらBluetoothやらが勝手に起動していることあり)
・自動タスク削除は使わない。(余計に電力を使うとの噂あり)
・バックライトは自動調整やめて基本0%。屋外で使うときはアプリなどで調整。
・ニュースEXのウィジェットはCPUと電池食い。デスクトップから削除のうえプロセス起動してたら終了する。

メール

・Eメールは溜めすぎない。不要なメールは削除し、必要なメールはSDに移しましょう。
・メール削除するときなど、一度にあまり多くのメールを選択しない。たくさん選択するうちに重くなるし、途中でメール受信すると選択解除されるため。
・Eメールの振り分けは、アドレスを一つずつ指定するのではなくドメイン名で指定した。docomo.ne.jp, ezweb.ne.jp, など。ただし、これは迷惑メール以外を振り分ける方法であって、任意のグループで振り分けるのは諦めた。
・[重要]時間経過に任せず、電源ボタンを押してスリープ状態に入る。
・カメラアプリは標準以外のものを使用する。画面タッチでシャッター切れるものなど。
・[重要]ホームはデフォルトから切り替える。定番ですが、ADWLauncherかLauncherproがレスポンス良いと思われる。 


→(参考)au REGZA Phone IS04 Iのキャリアメールトラブルを解決するたった一つの方法 - kokemonoの日記


全般

iPod Touchを使っていることもあり、ATOKフリック入力形式で使用。Simejiも良いけど、予測変換はATOKが上。
ATOKでキーボード選択ボタンを長押しして「ATOKの設定」→「ソフトウェアキーボード」→「入力方式」から変更。
・ケータイアップデートをする。
メーラー,アドレスの並びが五十音順になってる
メーラー,新着確認と新規作成ボタンが入れ替わってる
→時計がキッチリ15秒遅れるのが解消されてる
→電話帳の文字化けが解消されている


アプリ

・「Battery Mix」でバッテリーを多く使うプロセスを把握する。不要であれば削除するか、ググって対処方法を調べる。
・「Process Monitor Widet」で、CPUの使用率を監視する。CPUの使用率が高いプロセスがあれば、ググッてみる。
→「menu」ボタン」→「settings」→「task manager preferences」→「list view settings」→「show exclude processes」を有効にする。
・「TasKiller free」で、不要なタスク(プロセス)終了する。
・携帯サイトの閲覧は「GalaClient」で。「みんなのケータイブラウザ」で見れなかったサイトが見れた。
YouTube動画をダウンロードするなら「JetVD」。Androidマーケットにはダウンロード機能を持たない「JetVD Lite」しかないが、Lite版からダウンロード機能をもつアプリのapkを取得できます。


アイコン名前説明値段QRコード
Battery Mix (バッテリーミックス)Battery Mix はバッテリーや稼働プロセスに関する情報を提供します。無料
Battery Monitor WidgetプロセスのCPU使用率などを表示。無料
TasKiller free起動中のプロセスを終了する。無料
GalaClient 携帯ブラウザ携帯向けサイトを閲覧するためのブラウザアプリです。無料
jetVD - LiteYouTubeダウンロードツールのダウンロード機能無し版。このアプリからダウンロード機能を持ったアプリをダウンロードする。無料

その他Tips

・完全に応答が無くなった時は電源ボタン長押しで電源断。結構長い時間押す必要あり。
・Wi-fiを有効にできなくなったときは再起動。
・通知領域は画面外からスライドするようにするとうまくいくかも。

最後に

調べれば調べる程欝になりますね…
やはり、日本のメーカーはユーザーがスマホに求めることを分かってないんじゃないかと感じます。
また何かあれば追加します。

プロキシによるブロックや、もしかしたらプロバイダによる例のブロックも開始してくれるかもしれないサービス「aguse gateway」

みなさんは自由にWebの閲覧ができているでしょうか?


会社でプロキシサーバー経由で社外サイトを閲覧している場合、特定のサイトに対する制限がされていたりすることもあると思います。とくに2chとか。
また、つい先日、プロバイダによる児童ポルノサイトへのブロッキングも開始されました。


http://www.asahi.com/national/update/0421/TKY201104210122.html

予告通り児童ポルノサイトへの接続遮断開始、大手 9 社が参加 | スラッシュドット・ジャパン IT



こんな風に、私たちのWeb閲覧には日頃から様々な制限を課されています。
でも、ニッチな情報や最新情報がそれらのサイトに存在するケースも否定できません。とくに2chとか。
そんな時に便利な、私も一年以上愛用させていただいているWebサービスを紹介します。


aguse Gateway
screenshot


本来こちらのサービスは、「セキュリティに問題があるかも知れないサイトを閲覧する際に自分の代わりにサイトを見にいってくれて、その内容を画像で提供してくれる」というサービスです。
そのため、自分は問題のサイトにアクセスしてウイルス感染等することなく、その内容を確認できると。


Topページの説明画像が分かりやすいので詳細は省きますが、これが通常の通信とすると

自分の端末⇔Webサイト

aguse gatewayを介すると次のようになります。

自分の端末⇔aguse gateway⇔Webサイト


つまり、「自分の端末⇔Webサイト」 がブロックされている場合も、「自分の端末⇔aguse gateway」と「aguse gateway⇔Webサイト」がブロックされていなければ閲覧が可能です。


ブロックの対策としてGoogleのキャッシュも使えますが、aguse gatewayであれば最新の状態をみることが出来ますし、もちろんGoogleにキャッシュが残っていない場合も問題ありません。


その他気に入っている点として、Webサイトの内容を絵として提供してくれるのですが、それだけではなく文字も取得して画面内に配置してくれています。


ページ内の文章にマウスカーソルを重ねると、その場所のテキストが表示されます。
このおかげでページ内検索も可能ですし、文字列のコピペも可能です。
(リンクを貼っている文字列など一部取得できず。複数行同時コピーも不可)


表示ページからリンクを辿ってもaguse gateway経由で表示されますし、ここからWeb情報調査の「aguse」を利用も可。
必要な情報があるけどブロックされて見えない、という場合はaguse gateway経由のアクセスをぜひお試しください。


IE用、Firefox用にツールも公開されていますよ。
https://www.aguse.jp/download.php

忘れっぽい私が忘れ物を減らすことができたただ一つの方法

私は普段から忘れ物が多く、携帯・財布・入門証など忘れた回数数知れずです。
忘れ物対策としてよく聞く、「置く場所を決める」も続けれた試しがありません。


そんな私が、あることをきっかけに出かける時に必要な物、少なくとも毎日の出勤に必要なものは忘れることが極端に少なくなりました。


そのきっかけとはこれ、NHKの朝番組「0655」で流されていた『忘れ物撲滅委員会』です。


何度か聞くと歌詞、少なくともメインパートはすぐに覚えれるでしょう。
朝出かける前にこの歌を口ずさむことで、忘れ物がグンと減るのです。


必要なら自分で内容置き換えるのもアリです。
自分の場合こんな感じ。
「携帯電話〜、財布、鍵、"指輪"、手帳〜、名刺入れ、社員証〜♪」


これであなたも忘れ物撲滅を!

Windows7での回復パーティション、システムパーティション作成方法

連日需要なさそうなネタです。




Windows7で「ディスクの管理」を見ると、パーティションは以下のように構成されています。

ボリューム レイアウト 種類 ファイルシステム 状態
- シンプル ベーシック - 回復パーティション
- シンプル ベーシック NTFS システム,アクティブ,プライマリ パーティション
C シンプル ベーシック NTFS ブート,ページ ファイル,クラッシュ ダンプ,プライマリ パーティション
D シンプル ベーシック NTFS プライマリ パーティション


Cドライブ、DドライブはWindows上から見えているパーティションです。


では回復パーティション、システムパーティションって何か?
WindowsPEを使ってディスク全体をリカバリしようとした時、どうやって作るのか?というメモです。




実際に見てみると、回復パーティションにはWindowsREのイメージと、リカバリ用のWindowsイメージが入っています。
「詳細ブートオプション」の「コンピュータの修復」を行った時は、このWindowsREが起動されます。
「回復パーティション」という特殊な種類のパーティションです。


システム領域には、bootmgrやBCDストアが格納されています。
パーティションの種類はWindowsのインストールパーティションなどと同様です。



https://cacoo.com/diagrams/x0ySlePxGpvAd2kf-4B62E.png


では手順です。
コマンド中のdisk番号やpartition番号は適宜読み替えてください。

回復パーティション作成方法

前提として、WindowsPEでブートしているものとします。

diskpart
DISKPART> select disk 0
DISKPART> create partition primary size=12288
DISKPART> format fs=ntfs quick
DISKPART> assign letter=R
DISKPART> set id=27


本当はフォーマット時にラベル付けたりしてもいいんですが、細かいことはなしで。


今回ポイントとなるのはここです。

DISKPART> set id=27


作成したパーティションに対して、27というidを付与してやります。
これはMicrosoftでも紹介されていますし、メーカーのリカバリディスクでリカバリしたパーティションを見てもわかります。

DISKPART> select disk 0
DISKPART> select partition 1
DISKPART> detail partition

パーティション 1
種類         : 27
隠し属性     : はい
アクティブ   : いいえ
オフセット (バイト): 1048576

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 7                     NTFS  Partition     16 GB  正常       非表示


種類が「27」となっているのがわかります。

システムパーティション作成方法

パーティションは普通にプライマリパーティションを作成します。

diskpart

rem システムパーティション
DISKPART> select disk 0
DISKPART> create partition primary size=200
DISKPART> format fs=ntfs quick
DISKPART> assign letter=C
DISKPART> active

rem ブートパーティション
DISKPART> create partition primary size=204800
DISKPART> format fs=ntfs quick
DISKPART> assign letter=D
DISKPART> exit

rem ブートパーティション(Dドライブ)にWindowsインストール、もしくはイメージ展開
rem この方法は各自にお任せします。
rem 例えばimagex でwim展開するなど。

bcdboot d:\Windows /l ja-jp /s c:


今回のポイントはここ

bcdboot d:\Windows /l ja-jp /s c:


ブートパーティション(Dドライブ)のWindowsから起動するブート情報をシステムパーティション(Cドライブ)に書き込んでいます。
これ以外特別なことしなくても、Windows上ではドライブレター割り当てられないし、システムパーティションとして認識されます。

イベントログに出力される説明文を任意の文字列に変更する方法(Windows7編)

需要少ないと思うのでごく簡潔に。


イベントログの説明文を編集したい、もしくは自分でログ追加ため「説明が見つかりません」や「メッセージリソースは存在しますが、メッセージが文字列テーブル/メッセージ テーブルに見つかりません」と言われる時の対応方法です。




例えば、次のようなログの説明文を編集したい場合
・「サービス」ログ
・ソース「disk」
・イベントID「12241」(Qualifiers:1、EventID:12241=)


まずは、レジストリからソースに関連付けられたdllを調べます。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System\disk
                                            ^^^^^^^^                ^^^^^

目印付けたところがポイントです。
今回は「サービス」ログのソース「disk」なので上のようなレジストリを調査します。


「アプリケーション」ログのソース「Outlook」なら次の通りです。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\Outlook


レジストリを見ると、EventMessageFileは「%SystemRoot%\System32\IoLogMsg.dll」となっています。
XPのころはこのdllにメッセージテーブルを持っていたのですが、Vista以降は変更が加わっています。


参考にしたのはこれ。
http://data.blogdns.net/2006/05/mui-on-vista/


「%SystemRoot%\System32\IoLogMsg.dll」であれば、「%SystemRoot%\System32\ja-jp\iologmsg.dll.mui」にメッセージリソースを持ちます。
後はこのファイルをリソースエディタで開いて、MessageTableのIDと説明文を登録します。


この時、IDはQualifiersの「1」とEventIDの「12241」=「0x2FD1」から、0x00012FD1となります。


編集を終えたら、iologmsg.dll.muiを置き換えて、イベントビューアー再起動。
私はシステムファイルの書き換えが面倒だったので、任意のフォルダにIoLogMsg.dllとja-jpフォルダ(iologmsg.dll.mui 込み)を置いて、レジストリのエントリーを任意フォルダのIoLogMsg.dllパスに書き換えました。


任意のイベントIDの追加はEventloggerが利用できます。
管理者権限でexe実行しておきましょう。
「アプリ名」に入力した文字列がログ上のソースとなります。
参考:http://www.atmarkit.co.jp/fwin2k/win2ktips/489evtout/evtout.html


リソースファイルの編集ですが、実はXP端末でXN Resource Editorを使用しました。
優秀なのにWindows7では正常に使えないんですよね…
Windows7で使える良いリソースエディタがあったら是非教えてください。

おまけ

diskキーをHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application に作成すると、ソース「disk」のログはアプリケーションログに出力される。
この変更を反映するには端末の再起動が必要っぽい。

OpenCV 2.2 開発環境構築メモ (Visual Studio 2010編)

Windows7端末+Visual Studio 2010 に OpenCV2.2開発環境を構築するまでの手順。
ちょっと苦労したので、メモしておきます。
Androidでも動かしたいと思っているので、できるだけシンプルな環境としたいです。

はじめに

Windows版のOpenCVを導入するには、下記のような方法があります。


このうち、インストーラー版は機能制限があったりバグがあったりするそうなので対象外。
(参照:http://kgxpx834.blog58.fc2.com/?mode=m&no=23;title)
かといってレポジトリからの最新ソースコード入手もめんどい、ということで、固められたソースを自分でビルドしてみようと思います。

手順

ソースコード取得

OpenCVSourceForge から OpenCV-2.2.0-win.zip をダウンロードします。


http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2/


取得したzipファイルを任意の場所に展開します。
今回はCドライブ直下に展開することとします。
C:\OpenCV-2.2.0\3rdparty
C:\OpenCV-2.2.0\doc

といった感じです。
以後、展開したフォルダを(OpenCV)と表記します。

CMake実行

ここからライブラリをビルドするわけですが、(OpenCV)には、CMakeLists.txtとか〜cmake といったフォルダしかありません。


CMakeってなんでしょ?
Wikipediaによると…

CMakeはソフトウェアのビルドを自動化するためのクロスプラットフォームなシステムである。 UnixにおけるMakeに相当するものであり、ビルドプロセスは設定ファイルCMakeLists.txtによって完全に制御される。 最終的なソフトウェアを直接にはビルドしない点がMakeとは異なっており、 代わりに、よく使われている標準的なビルドファイル(UnixにおけるmakefileWindows Visual C++におけるプロジェクト/ワークスペースなど)を生成する。 このため、開発者は自分の使いやすい開発環境(IDEなど)から利用できる。

http://ja.wikipedia.org/wiki/CMake


つまり、「ソースコード+CMakeLists.txt」→《CMake》→「各プラットフォーム(コンパイル環境)にあったビルドファイル生成」→「好きな環境でコンパイル」ができるということのようです。


CMakeでVisualStudio2010用のslnファイルを作成してみたいと思います。
(参考:OpenCV2.0ReleaseをCMakeを使ってビルドする 画像処理ソリューション)


1.次のサイトからCMakeをダウンロード、インストールします。
CMake - Cross Platform Make


2.CMake(cmake-gui)を実行します。
3.「Where is the source code」に「(OpenCV)」(CMakeLists.txtが存在するフォルダ)、「Where to build the binaries」にOpenCVのバイナリ生成先を指定します。
ここでは「(OpenCV)\build」としておきます。


4.ソースとビルド先を設定したら、「Configure」ボタンをクリックします。ビルド先フォルダが存在しない場合はここで作成するかどうか聞かれるため作成します。
5.どのコンパイル環境用のビルドファイルを生成するか選択します。
Visual Studio 2010でビルドしたいので、「Visual Studio 10」を選択して「Finish」をクリックします。


6.しばらくすると、どのような環境で作成するかリストが表示されます。
私の環境では、デフォルト状態から「BUILD_NEW_PYTHON_SUPPORT」のチェックを外して作業を進めます。
TBBやIPPを導入している方はここでチェックを入れておいてください。
7.環境設定を終えたら、もう一度「Configue」ボタンをクリックします。
8.「Generate」ボタンをクリックします。ログ表示部分に「Generating done」と表示されれば完了です。


ソースコードビルド(Visual Studil 2010)

(OpenCV)\build に、Visual Studioのソリューションファイル(OpenCV.sln)が作成されています。
これをVisual Studio 2010で開き、「ビルド」→「バッチビルド」の順にクリックします。
開いたダイアログで、「ALL_BUILD」の「Debug」と「Release」にチェックを入れます。


チェックを入れたら「ビルド」ボタンをクリックします。
エラー出ずにビルド完了すればライブラリが完成です。
(OpenCV)\build\bin、(OpenCV)\build\lib のDebug・Releaseフォルダにライブラリが作られています。

OpenCVを組み込むための環境構築(VisualStudio)

作成したライブラリなどを利用してOpenCVプログラムをコンパイルする環境を整えましょう。


必要な作業は以下の4つです。
1.ヘッダファイルのパスを通す
2.静的ライブラリ(lib)のパスを通す
3.動的ライブラリ(dll)のパスを通す
4.リンクするライブラリを指定する。


これらを実現するために、ざっと以下のような方法が考えられます。
■パスを通す方法
1.環境変数に設定
2.プロジェクト毎に設定
3.プロパティシートに設定


■ライブラリをリンクする方法
1.ソースコードに設定
2.プロジェクト毎に設定
3.プロパティシートに設定


今回は(私の勉強のために)、Visual Studioのプロパティシートを使ってみましょう。
以下のフォイルを、バックアップとった上でエディタで開きます。

%userprofile%\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props


Microsoft.Cpp.Win32.user.propsファイルに次のように記載します。
パスは必要に応じて読み替えてください。

 


  
    C:\OpenCV-2.2.0\include;C:\OpenCV-2.2.0\modules\calib3d\include;C:\OpenCV-2.2.0\modules\core\include;C:\OpenCV-2.2.0\modules\features2d\include;C:\OpenCV-2.2.0\modules\highgui\include;C:\OpenCV-2.2.0\modules\imgproc\include;C:\OpenCV-2.2.0\modules\legacy\include;C:\OpenCV-2.2.0\modules\ml\include;C:\OpenCV-2.2.0\modules\objdetect\include;C:\OpenCV-2.2.0\modules\video\include;C:\OpenCV-2.2.0\modules\contrib\include;$(IncludePath)
    C:\OpenCV-2.2.0\build\lib\Debug;$(LibraryPath)
  
  
    
      opencv_imgproc220d.lib;opencv_core220d.lib;opencv_highgui220d.lib;%(AdditionalDependencies)
    
  
  

  
    C:\OpenCV-2.2.0\include;C:\OpenCV-2.2.0\modules\calib3d\include;C:\OpenCV-2.2.0\modules\core\include;C:\OpenCV-2.2.0\modules\features2d\include;C:\OpenCV-2.2.0\modules\highgui\include;C:\OpenCV-2.2.0\modules\imgproc\include;C:\OpenCV-2.2.0\modules\legacy\include;C:\OpenCV-2.2.0\modules\ml\include;C:\OpenCV-2.2.0\modules\objdetect\include;C:\OpenCV-2.2.0\modules\video\include;C:\OpenCV-2.2.0\modules\contrib\include;$(IncludePath)
    C:\OpenCV-2.2.0\build\lib\Release;$(LibraryPath)
  
  
    
      opencv_imgproc220.lib;opencv_core220.lib;opencv_highgui220.lib;%(AdditionalDependencies)
    
  
  



ごく簡単に解説すると、次のタグ属性でDebugビルドの設定かReleaseビルドの設定かを指定します。

<タグ Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<タグ Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">


次のタグでincludeパスを設定します。


ソースからビルドする場合、ヘッダファイルは(OpenCV)\include以外に(OpenCV)\modules\[モジュール名]\includeに存在します。


次のタグでlibパスを設定します。
ライブラリはDebug用のものとRelease用のものが生成されるので、それぞれ設定しましょう。



次のタグで、リンクするライブラリを設定します。
これもDebug用のものとRelease用のものがあるのでそれぞれ設定しましょう。



この状態でVisual Studioを起動することで「1.ヘッダファイルのパスを通す」、「2.静的ライブラリ(lib)のパスを通す」、「4.リンクするライブラリを指定する」を行うことができます。
「3.動的ライブラリ(dll)のパスを通す」については、残念ながら(?)環境変数の「Path」に「(OpenCV)\build\bin\Debug」と「(OpenCV)\build\bin\Release」を設定しています。


以上で環境構築完了です。
ヘッダファイルの指定は、次のような形で行います。

#include 


引数で指定された画像を表示するサンプル。(詳解 OpenCVより)

#include 

int main(int argc, char** argv)
{
	IplImage* img = cvLoadImage(argv[1]);
	cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE);
	cvShowImage("Example1", img);
	cvWaitKey(0);
	cvReleaseImage(&img);
	cvDestroyWindow("Example1");
}