
OpenCV.jpのトラックバーのサンプルを使用して、トラックバーを複数個作りたいです。
サンプルにあるように2つの場合は、トラックバーと下の黒い部分が近いのですが、トラックバーを増やしていくと徐々に離れてしまいます(図)。
これは仕様でしょうか、それともプログラムで直せるものでしょうか。
分かる方、よろしくお願いします。
OpenCV.jpサンプルプログラム
http://opencv.jp/sample/simple_gui.html#trackbar
Cで作成しています。

A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
インストールして試してみたのですが(XP(Vista) + VC++2008 Ex + OpenCV 1.1pre),
どうもTrackbarのサイズや余白の計算について、一貫性がなく、
また、それらをマニュアルで指定する関数も見当たらず、
「今の動作は仕様なんだけれども、バグがある」というような感じを受けてます。
誠に申し訳ないですが、この問題、私には解決できかねます。
ご回答ありがとうございました。
確かに空白が大きくなるのは仕様・バグですね。
諦めます。
何度もご回答していただいたり、
わざわざインストールしていただいたりと、
ご丁寧にありがとうございました。
No.4
- 回答日時:
あと、cvResizeWindowは、
cvCreateTrackbar ("Trackbar3", "Image", 0, 100, on_trackbar3);
の後に呼ばないと意味がないのではないかという気もする。
直感的には、cvCreateTrackbar()で、ウィンドウに自動的にリサイズがかかり、
cvResizeWindowで事前にセットした値は書き換えられるのではないかと。
この回答への補足
ご回答ありがとうございます。
No.3のcvNamedWindowを2にしてみると、
ウィンドウサイズをマウスで変更できるようになりました。
しかし、ウィンドウ内の黒く塗られている部分のサイズを変更できるだけで、トラックバーについては変更できません。
No.4のcvResizeWindowの位置ですが、
cvNamedWindowの後・cvCreateTrackbarの後にやった場合では大した違いは見当たらず、
どちらもバーの下に空白が出来ます。
他にどのような可能性が考えられますでしょうか。
お手数ですが、よろしくお願いします。
No.3
- 回答日時:
cvNamedWindowのflagはデフォルトでCV_WINDOW_AUTOSIZE (=1)で省略可能
と、
http://tessy.org/wiki/index.php?OpenCV%A4%CE%A5% …
にあります。2を指定してみると挙動が変わるということはないですか。
No.2
- 回答日時:
それは、cvNamedWindow("name", CV_WINDOW_AUTOSIZE);
のCV_WINDOW_AUTOSIZEを消去していないからではないでしょうか。
cvNamedWindow("name");
cvResizeWindow("name", size_x, size_y);
当該部分のソースコードを貼ってもらったほうが、
解決への近道ではないかと思うのですが。
この回答への補足
ご回答ありがとうございます。
ソースに大した変更点は無いのですが
main(int argc, char *argv[]){
img = cvCreateImage (cvSize (400, 200), IPL_DEPTH_8U, 3);
cvZero (img);
cvInitFont (&font, CV_FONT_HERSHEY_DUPLEX, 1.0, 1.0, 0, 1, 8);
cvNamedWindow ("Image", 1);
cvResizeWindow("Image", 400, 100);
cvCreateTrackbar ("Trackbar1", "Image", 0, 100, on_trackbar1);
cvCreateTrackbar ("Trackbar2", "Image", 0, 100, on_trackbar2);
cvCreateTrackbar ("Trackbar3", "Image", 0, 100, on_trackbar3);
…}
です。
cvResizeWindowのx部分を変更すると、
トラックバーの長さが変わりますが、空白はあります。
yを変更しても特に変化がありません。
cvNamedWindow には("Image",1)のように、
何か数字またはCV_WINDOW_AUTOSIZEを入れないとエラーになるので
1を入れています。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
int16_t の _t は何?
-
gccを行ってもexeファイルが生...
-
DLLファイルの逆コンパイラにつ...
-
C++でデスクトップGUIアプリ開...
-
C言語 バッファについて。
-
VisualStudioでC++クラスを追加...
-
C#でTreeViewのCheckBoxのサイ...
-
ArduinoのジャイロモジュールMP...
-
VisualStudio2022でC言語プログ...
-
C# で 数式文字列処理を処理す...
-
C言語のことです。写真(見にく...
-
c++の勉強方法を教えてくださ...
-
逆コンパイルと逆アセンブルの...
-
パソコン
-
あんまり考えたくないけど
-
swift言語の最適化 swift最適化...
-
終端記号、非終端記号とは
-
C言語について。
-
C言語関数違いについて。
-
ディスプレイの解像度とマウス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA で、スペースを含むファイ...
-
Flaskでサーバー立ち上げに関して
-
記号[]が混ざった正規表現について
-
php メールフォーム エラー表...
-
chmod 教えてください
-
選択行の受け渡しに関して
-
PHPで作成した2つのプログラム...
-
正規表現について
-
php+mysqlでの重複チェックにつ...
-
お問い合わせフォーム session...
-
引数の参照について
-
文法の質問です
-
年月日のプルダウンメニューで...
-
php MySQL データ登録 方法
-
POSTの項目に追加
-
PDO+SQLITEでのインジェクショ...
-
PostgreSQLに書き込むことが出...
-
テキスト文書(.txt)→エクセルに...
-
これに間違いはありますか?
-
ポインタ配列をfscanfで読み込...
おすすめ情報