• 締切済み

クリックした位置が正確に認識されません。

はじめてなんで、質問の意味がわかりにくいと思いますが、どうぞよろしくお願いします。僕は、今、立体視についての研究をやっていて、ロボットの目を左右ふたつのカメラを使い、人間と同じように立体視できるようにしています。そのためには、ある物に焦点をあわせるときには、それに応じてカメラを動かさなければいけません。そこで、カメラからの左右の映像をそれぞれを一つのPCに上下に二分割して動画で表示させるようにしています。ある物に焦点をあわせたいときは、表示している映像の中で、焦点をあわせたい物をマウスでクリックすることで、カメラが動くようになっています。しかし、これがうまく行きません。今までは、静止画をキャプチャして、それをマウスでクリックしてカメラを動かしていました。どうも、動画にするとクリックした位置がうまく正確に認識されていないようなのです。画面は、1024×717の大きさで表示させ、クリックした位置を表示するようにしていますが、場所によっては全然違う値が出てきてしまいます。 ほんと、わかりにくい説明ですいません。でも、ほんと困っています。もし、答えてくれる方は、プログラムの方を送ります。よろしくお願いします!

みんなの回答

  • m0n1teur
  • ベストアンサー率43% (10/23)
回答No.2

内容からすると、大学の卒業研究のようなものと考えて良いでしょうか? それなら、ここで質問するよりも、周りの方に質問する方が良いと思います。 VC++6.0とありますが、MFCを使っているか、APIを使ってプログラミングしているかで違ってきます。 クリック処理部分のプログラム(抜粋)を見ないことにはアドバイスのしようがありません。

yatoko
質問者

お礼

答えてくれてどうもありがとうございました。何人かでグループで研究を進めているのですが、ここで行き詰まってしまっています。これからも、相談にのっていただけたらうれしいです。

全文を見る
すると、全ての回答が全文表示されます。
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.1

詳しい状況が全く分かりません。現状では、答えられるかどうかさえ判断がつきません。 まず、実行環境は何でしょうか? > 場所によっては全然違う値が出てきてしまいます。 「場所によっては」とは、どんな場所のときに問題が起きるのでしょうか?また、ぜんぜん違う値というのを具体的に挙げてみて下さい。 その他、出せる情報はできるだけ出してください。

yatoko
質問者

お礼

答えてくれてどうもありがとうございます。一応、補足で書き込んでみました。できたら、これからも相談にのってもらえるとうれしいんですけど、正直困っています。

yatoko
質問者

補足

ほんとうにわかりずらい説明ですいません。実行環境というのは、Windows2000とかでいいんでしょうか?コンパイルや実行などは、Vistaul C++6.0を使っています。場所によってはというのは、特になんですが、PCの左上のあたりの画面をクリックしたときに、ほんとうなら、(x,y)=(30,50)ぐらいの値が出てきてほしいのですが、(900,300)などの値が出てきたりしてしまいます。静止画をキャプチャして、それに対して行ったときはうまくいくんですが、動画にしたらうまくいかなくなってしまいました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • クリックした位置の値が正確に表示できません。

    マウスでクリックした位置の値が正確に表示されないのですが、どうしたらよいでしょうか?何かいいアドバイスがあればよろしくお願いします。    ax=(int)(point.x/1.4);    ay=(int)(point.y/1.4);    sprintf("buf,"クリックした位置:%d",ax);    PDC->TextOut(x0+130,y0+250,buf);    sprintf("buf,"クリックした位置:d",ay);    pDC->TextOut(445,y0+250,buf); これは、クリックした位置の表示のしかたです。ax,ayはクリックした位置、正確にいうとpoint.xとpoint.yですが、都合により1.4で割りax.ayに格納しています。 // オーバーレイウィンドウの作成 // Create overlay window if(hWndOverlay == NULL) CreateOverlayWindow(); // オーバーレイウィンドウの作成 // Create overlay window enc_return = ENC_Create_Overlay_Window(ENC_ID, m_hWnd, &hWndOverlay, 0, 0, rc.right, rc.bottom); 一応、これがオーバーレイウィンドウの作成部分のプログラムです。抜粋して載せたのでわかりにくいかもしれませんがお願いします。 カメラから静止画をキャプキャして行っていたときは、うまくいったのですが、オーバーレイではうまくいきません。

  • マウスのクリック時にマウスカーソルをアニメーション化

    ソフトウェアの操作説明、デモンストレーション用の動画を、PCの画面を動画でキャプチャすることで作成しようと考えています。 この時に、マウスカーソルも一緒にキャプチャできるものとして、いくつか試してみましたが、レスポンスの速さからCamStudioを使用しています。 CamStudio にはマウスカーソルも一緒にキャプチャする機能が備わっており、マウスカーソルのX,Yの移動をキャプチャすることができるので、あとから動画を見てマウスカーソルの動きを目で追うことができるのですが、クリックしたことまではわかりません。 「今、クリックした!」ということが画面に表示されればそれをキャプチャしてくれるので問題解決かと思うのですが、そのようなソフトがあるのかどうかも探してはみたものの、うまく探せませんでした。 どこかで見たのですが、マウスをクリックするとマウスのまわりに円が現われて、円がマウスの中心に収束していくような効果をつけてある動画がありまして、そのようなことができれば理想です。 何か情報を知っている方は、教えて頂けますと幸いです。

  • マウスクリック時の位置ズレ

    2007エクセルシート上で斜線(矢印等)を挿入するため<挿入>→<図形>からドロップダウンリストを表示して”斜線”をクリックする (1)ワークシート上表示される (小さな”+”)を挿入開始位置に持ってきて、マウスをクリックすると表示が(大きな”+”)に変化して開始位置が確定するが (2)この時(大きな”+”)位置が当初の(小さな”+”)位置から2~3mm必ず移動してしまい意図どうりの図形挿入ができない。 (3)この現象を改善すべく’Windows再インストール’&’マウス交換’したが不具合は改善せず (4)参考情報お持ちの方、よろしくお願します。

  • テレビ画面をパソコンに

    テレビ画面に写し出した動画の映像を、パソコンに映し出して、それを静止画キャプチャ保存することって可能ですか? もしできるなら、必要な物ってありますか?

  • グラフィックボードCanopusについて

    現在、Canopusを使って研究を行っています! 言語は、VC++です。 そこで、あるカメラからの映像をPCに表示させているのですが、画像においての座標情報をとり、表示させたいのですが、その座標情報がうまくとりだせません!! マウスでクリックした場所の座標を知りたいのですが、どうもおかしな値が出てしまいます。 どのようにしたら、マウスでクリックした位置の座標を知ることができるでしょうか?? 質問の意味がわかりにくいかもしれませんが、どうぞよろしくお願いします。

  • 静止画キャプチャ

    動画の静止画をキャプチャできる良いフリーソフトを探しています。みなさんのオススメのソフトを教えていただけませんか?元になる動画はmpegです。他の条件としては、キャプチャできる画像が綺麗なjpegで、映像のほうもコマ送りで静止画を探せるといいです。あと、これはどちらでも構いませんが、エンコードされた動画からもキャプチャできると嬉しいです。

  • 動画の座標値をマウスクリックで得ることができますか?

    Java初心者です。 マウスのイベント処理(X,Y座標を得る)と動画(ネットワークカメラの動画)をうまく組み合わせて、その動画の座標値を得る方法を教えてください。とりあえず静止画の座標値を得る方法でも結構です。 Javaに詳しい方、是非ご教授お願い致しますm(__)m

    • ベストアンサー
    • Java
  • クリックボタンがきかない

    パナのCF-S51J8です。OSをXP SP2にしました。すると、左右のクリックができません。ポインターは使えます。マウスをつけるとマウスでは普通にできます。解体してるので内部ボタン(基盤についてる)とクリックボタンの位置がずれてるのかと思いましたが違うようです。内部ボタンを直接おしてもだめです。 以前にXPいれた時もそうでした。 人に貸してるうちに普通に使えました。 その人に聞いてもなにもしてないと・・・・・。 何かドライバーでもあるのでしょうか?ほかの原因?

  • クリックした位置に画像を貼り付ける方法

    開発環境はWinXP、C++、MFCを使っています。 C++を勉強し始めた初心者です。 画面上で左クリックされた位置に画像(ビットマップ画像)を表示させる簡易プログラムを作ろうとしています。 ここで、マウスの位置を取得する方法がわかりません。理解しやすい方法があれば押してください。 ちなみにこんな感じでつくってます。。。↓ void Canvas::MakeStamp() //Canvas ・MaskStamp共に任意の名前 { // //ここでマウスの位置を取得したいです // //画像を貼り付け CClientDC cdc(this); CDC bmpCDC; bmpCDC.CreateCompatibleDC(&cdc); CBitmap bmp; bmp.LoadBitmap(STAMP); //STAMPは任意の名前 bmpCDC.SelectObject(bmp); cdc.BitBlt(X,Y,60,60,&bmpCDC,0,0,SRCCOPY); //ここのX,Yはクリックした座標を当てはめるつもりです。 } よろしくお願いします。

  • HP 「シフトキー+クリック」で別の動作がしたい

    ホームページ作成で小さな画像を配置し、この画像をクリックすれば元の大きい静止画を表示し、シフトキーを押しながらクリックしたら動画を表示させたいのですがこんなことはできるでしょうか。 現在は下記の通り静止画のみ表示しています。 <a href="静止画.html"><img src=静止画.jpg width="60" height="45"> ご教授方よろしくお願い致します。