
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ランキング
-
これに間違いはありますか?
-
PHPでのエラー(unexpected T_S...
-
テキストボックスの値を取得したい
-
重複を防ぐ記述について教えて...
-
if文のもっとスマートな書き方
-
php MySQL データ登録 方法
-
正規表現について
-
文法の質問です
-
phpでショッピングカート機能を...
-
PHP MySql 画像を取得
-
DBの値をチェックボックスに反...
-
HTMLで前の画面に戻る時、入力...
-
複数のセレクトボックスで
-
PHPでURLにジャンプするには?
-
PHPで動的URLを静的URLに変換す...
-
選択された値をセッションで保...
-
検索時の選択内容を保持する方法
-
フォーム送信後の更新ボタンで...
-
laravelを利用してコントロール...
-
"/". $valueptr . "/", の”/”は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Flaskでサーバー立ち上げに関して
-
VBA で、スペースを含むファイ...
-
記号[]が混ざった正規表現について
-
php メールフォーム エラー表...
-
chmod 教えてください
-
選択行の受け渡しに関して
-
PHPで作成した2つのプログラム...
-
正規表現について
-
php+mysqlでの重複チェックにつ...
-
お問い合わせフォーム session...
-
引数の参照について
-
年月日のプルダウンメニューで...
-
php MySQL データ登録 方法
-
文法の質問です
-
POSTの項目に追加
-
PDO+SQLITEでのインジェクショ...
-
テキスト文書(.txt)→エクセルに...
-
PostgreSQLに書き込むことが出...
-
これに間違いはありますか?
-
アップロードしたファイルの絶...
おすすめ情報