前回作ったジオラマ風加工プログラムですが、実は1回の処理に80msぐらいかかっていることが
わかりました。
実行時間の計測は、以下のようなコードで行っているのですが、
double t = (double)cvGetTickCount(); //ここで何らかの処理をする t= (double)cvGetTickCount() - t; double freq=cvGetTickFrequency(); printf( "処理時間: %gms\n", t/(freq*1000.) );
測定する範囲を間違えており、10msと間違った結果になっていた模様です。
実際の実行時間は下記の通りでした。
・画像のサイズ:800x600ピクセルのカラー画像
ぼかし処理:15msから20ms
RGB空間からHSV空間への変換&H,S,Vへの分離 10ms~15ms
彩度(Saltation)の調整 1ms以下
HSV空間からRGB空間への変換 25ms~30ms
ぼかし処理はいいとして、色空間の変換に時間がかかっているようです。
ん~、 変換のアルゴリズムを調べて自分で書いたほうがいいのかなぁ。。
ではまた。
0 件のコメント:
コメントを投稿