Macのテキストエディットで.txtを作成する方法

テキストエディットの初期状態で作成可能なファイル形式はリッチテキストになっている。 テキストファイルに変更する場合は、テキストエディットの環境設定でフォーマットを標準テキストに変更。変更後に作成したファイルはテキストファイルでの編集が可能に…

レンズの性能に焦点を当てた時のレンズの選び方

きれいにまとめてあるサイトがあったので収差に関して比較するときは以下を参照 http://www.kk.iij4u.or.jp/~domon/photo/manabu/manabu_4.html

光源スペクトル・反射率分布のデータベース

光源スペクトルのデータベース リンク元を忘れたので後で追加予定反射率分布のデータベース http://www.viegroup.com/mvrhelweb/color.html これらのデータはすべて0〜1に正規化されている。 参考文献 K. Barnard, L. Martin, B. Funt, and Iwan Coath, "A d…

fopenのエラーコード表示、メモリ解放チェック

・fopenのエラーコード表示 strerror(int errno);を用いてエラー内容の表示が可能。errno.hをincludeすることでerrnoという変数にエラーコードが格納される。 したがって、エラーチェックを行いたい部分の直後に printf("%s\n",strerror(errno)); と書くこと…

スペクトルメーターのデータの読み込み方(研究室向き)

Spectrawin2のファイル→インポートから655をインポートする。 これで.meaファイルが読み込める。

反射率分布データベース

http://www.reflectance.co.uk/ 花の色の反射率分布を検索することが可能。数としては結構多くありそう。データは1nmごとになっている。可視光領域に関しては、欠けているデータはないと思われる。http://riodb.ibase.aist.go.jp/ssrdoc/index.html マンセル…

カメラ撮影プログラムの補足

連続撮影を行うときは、露光時間+3,20msのsleep関数を入れること。 そうしないと、撮影が終わらないうちに他の関数に飛んでしまう。

カメラキャリブレーション

カメラキャリブレーションのためのサンプルプログラム。 http://opencv.jp/sample/camera_calibration.html 特徴点(ボックスの格子点)の数に応じて、PAT_ROWとPAT_COLを変更するとよい。 カメラの歪み除去のサンプルプログラム。 http://chihara.naist.jp/op…

IplImageのimageDataについて

imageDataを弄ることで色情報の操作が可能。その際、imageDataは符号付き文字列であるので、符号なし文字列にいったん代入してから操作するのがよい。 いきなり、int型やfloat型にキャストすると負の値が出てきて、おかしなことになる。

STLについて、今さらだけど。

STLのvectorやlistのメモリ管理ってどうなってるのか、ちょっと気になったので。 Cで配列確保した時は、ちゃんとfree()しないと解放されないけど、STLについては変数のスコープを抜けた時点で自動的に解放してくれるらしい。 Javaに近くなってるのですね。

OpenCV エッジ抽出プログラム

サンプルは載せてませんが、書いていてこれは気をつけなければということだけ。 エッジ抽出を行う元画像をcvLoadImage()で読み込む際に、必ずCV_LOAD_IMAGE_GRAYSCALEで読み込むこと。 色つきで読み込むと、エッジ抽出できませんよねw

OpenCV エッジ抽出プログラム

サンプルは載せてませんが、書いていてこれは気をつけなければということだけ。 エッジ抽出を行う元画像をcvLoadImage()で読み込む際に、必ずCV_LOAD_IMAGE_GRAYSCALEで読み込むこと。 色つきで読み込むと、エッジ抽出できませんよねw

VirtualBoxで開発中。

新しくLenovoのX200を購入したが、Vistaではクロスコンパイルができないので、VirtualBoxにXPを入れてCygwinでOpenCVのコードを書いている。 学校のパソが1TBとかいう無駄なHDDをつけているので、VirtualBoxにUbuntuでも入れようかと思ったが、上手くいかな…

研究で使う便利ツール等々

VC++、Boost。スマートポインタ。 後で詳しいことを調べてまとめておくこと。

三項演算子 ? :

式1?命令1:命令2 式1が真であれば、命令1が実行され、偽であれば命令2が実行される。 ショートコーディングしたくて、よく使おうとするんだけど、使いたいときに限って忘れて出てこないんだよなぁ。 だから、メモメモっと。

OpenCV cvSmooth

cvSmooth(img1,img2,type,param1,param2,param3,param4); img1は入力画像、img2は平滑化された画像を格納する部分。 typeは平滑化するときのフィルタの種類。 param1は平滑化のパラメータ、param2はスケーリングに関係する部分。param3はガウシアンフィルタ…

IplImage構造体

typedef struct _IplImage { int nSize; /* sizeof(IplImage) */ int ID; /* version (=0)*/ int nChannels; /* Most of OpenCV functions support 1,2,3 or 4 channels */ int alphaChannel; /* ignored by OpenCV */ int depth; /* pixel depth in bits: I…

VC2008にて。

画像を確保して使わなくなったメモリ領域をフリーすると怒られる。 原因がつきとめられてない。

pow(int,int)で関数のオーバーロードができません。

CV2005では怒られます。 pow((int)i,(int)j)というようにキャストしてもダメだったので、調べた結果powにdouble型の何かの変数とint型の変数を組み合わせて使うことでエラー回避可能。 なんという無駄なエラー…。 ということで、pow(double,int)でこの手のエ…

dcclpapi.hでエラーが出ていた原因

windows.hをインクルードすることによって解決。 たぶん、dcclpapi.hで使われている構造体にwindows.hで定義されているものがあるからだと思う。

レジストリ名称登録

CWinAppクラスのSetRegistryKey();関数を用いるとレジストリに設定が保存される。 どこの所属のファイルなのかを明確にするために登録を行うと考えてよい。

IEEE 1394 card bus controllerのインストール

ohci1394.sysがないと言われる。 C:WINDOWS/system32/DRIVERS/にある。

TCHARでも怒られた

TEXT("");というのが使えそう。 後、libc.lib/libcd.lib が開けませんというエラーはプロジェクト→プロパティ→リンカ→入力で特定ライブラリの無視でうまくコンパイルできるようになる。

OpenCVのdllファイルについて

デバッグを開始した際に、*.dllがありませんと怒られることが…。 どうやら、PATHが通っていないことが原因らしいが、確認してもPATHはきちんと通している場合。 実行ファイルが作られるフォルダに必要なdllファイルをコピーすると怒られなくなる。 不思議だ。

研究室の.forwardファイルの書き方

うちの研究室のメルサバの仕様なので、他に当てはまるとは言いにくいですが、一応、.forwardファイルの書き方一例。 自分の使うサバの仕様に合わせて書きましょう。\アカウント名,アドレス,アドレス…改行は忘れずに。 無限ループに陥るサバもありますので。 …

テキストファイル保存2

エディットボックスからGetWindowText()で内容を取ってきてWriteString()で書き込むと改行が二回行われる。 解決策:wchat_t型の変数にGetLine()で一行取得すると"\r\n"を含まない形で取得できる。WriteString()で書き込むときは'\n'をつけることで改行がで…

VC2005でCStringからcharへのコピー

VC2005では文字コードがUnicodeになっている。2005以前はstrcpy()でコピー可能だったが、2005以降はエラーが発生するようになった。 その代わりTCHAR型が使え、この配列にコピーすることは可能。 サンプル CString str = _T( "test" ); TCHAR buf[ 256 ]; _t…

テキストファイル保存

エディットボックスに表示した文字をテキストファイルに保存したいんだが、エディットボックスでの改行("\r\n")がファイルに保存される時に"\r\r\n"になってしまう。 どうしたら'\r'を除去できるのか・・・。 一度、char型に保存して除去すれば大丈夫かと思った…

SetWindowText()に数値表示させるには。

SetWindowText()ではCString型の文字列の表示しか行っていない。 数値をいったんchar型にsprintf()で連結して、CString(temp)でCstring型にキャストしてやる。 これで数値も表示可能。

CreateFile()のキャスト。

CreateFile()の第一引数をLPCSTRなどに無理矢理キャストするとハンドルを取ることができないことがある。 VC2005ではデフォルトがUnicodeになっているので、キャストするとハンドルを取ってこれない。 なので、_T("COM4")と第一引数にするのがよい。