%d\n",SCALE_X);’も。%d\n",SCALE_X);’も。%d\n",SCALE_X);’も。%f\n",SCALE_X);’も。%d\n",SCALE_X);’も。%f\n",SCALE_X);’も。18:10-178955798といったような数字が表示されました。-178955798といったような数字が表示されました。18:101280です。産業用USB3.0カメラになります。産業用USB3.0カメラになります。18:14ならば’1280*0.2=256’が必要とする数字になるから、これになるようにするには(float)1280*(float)SCALE_Xになるように指示するわけで。’1280*0.2=256’が必要とする数字になるから、これになるようにするには(float)1280*(float)SCALE_Xになるように指示するわけで。0.2F'(明確にfloatと宣言)して再度確認。0.2F'(明確にfloatと宣言)して再度確認。22:15仕事の合間に、自分の持っているデータで貴殿のソースを基に再現をしていますが、やはり指摘している部分(しかし貴殿の結果とは違う)のでOpenCVのバージョンの違いと記載の方法方法?と考えて検証していますが。仕事の合間に、自分の持っているデータで貴殿のソースを基に再現をしていますが、やはり指摘している部分(しかし貴殿の結果とは違う)のでOpenCVのバージョンの違いと記載の方法方法?と考えて検証していますが。10:10回答を見直してミスに気が付きました。%d\n",(int)((float)img->width*SCALE_X));’で確認を。回答を見直してミスに気が付きました。%d\n",(int)((float)img->width*SCALE_X));’で確認を。11:51ありがとうございます。へんこうしてみたのですが、SCALE_Xが-1610612736という値を取ります。NOfloat,floatはともに1280をとります。ありがとうございます。へんこうしてみたのですが、SCALE_Xが-1610612736という値を取ります。NOfloat,floatはともに1280をとります。%f\n",(float)SCALE_X);'は?’%f’ですよ。%f\n",(float)SCALE_X);'は?’%f’ですよ。13:540.2000と表示するようになりました。0.2000と表示するようになりました。(float)0.2'としてみましょう。(float)0.2'としてみましょう。14:19変更してみました。%d\n",(int)((float)img->width));ともに1280.SCALEは0.2000と表示されます。SCALEは0.2000と表示されます。%d\n",(float)img->width*SCALE_X);’ですよ。resizeにの引数の確認のため。img->widthとSCALE_Xを掛けたものが256にならないと正常に動きませんから。'ではSCALE関係の定義には(float)もしくは'F'をつけて、明確にする。int型と小数の計算ではintに(float)をつけて一時的に小数として取り扱う。小数計算の結果をintに渡すときは(int)で変換。C系の基本のcastなのですが。%d\n",(float)img->width*SCALE_X);’ですよ。resizeにの引数の確認のため。img->widthとSCALE_Xを掛けたものが256にならないと正常に動きませんから。'ではSCALE関係の定義には(float)もしくは'F'をつけて、明確にする。int型と小数の計算ではintに(float)をつけて一時的に小数として取り扱う。小数計算の結果をintに渡すときは(int)で変換。C系の基本のcastなのですが。14:36%dで実行し256が表示されました。%dで実行し256が表示されました。これで動きが変わるはず。これで動きが変わるはず。14:45丁寧にありがとうございます。申し訳ないのですが、特に動きに変わりはありませんでした。丁寧にありがとうございます。申し訳ないのですが、特に動きに変わりはありませんでした。14:50少し前の回答の部分ですが、マッチング結果の表示'dst1'をimshowするといった部分をもう一度行ってみてください。先ほどの修正部分が生きていればdst1のウインドウサイズが正常になっているはずですから。前の回答の部分ですが、マッチング結果の表示'dst1'をimshowするといった部分をもう一度行ってみてください。先ほどの修正部分が生きていればdst1のウインドウサイズが正常になっているはずですから。15:0216*6の大きさのdst1が表示されました。(前回とあまり変化していない?)16*6の大きさのdst1が表示されました。15:05本来ならば’256*?’ですよね。それに至る部分をチェック。本来ならば’256*?’ですよね。それに至る部分をチェック。15:13dstウィンドウは、マッチング領域?なので、256*xにはならないと考えています。探索領域が55*70になるので、それ以下になるのではないかと考えています。(勘違いだったらすいません)dstウィンドウは、マッチング領域?なので、256*xにはならないと考えています。探索領域が55*70になるので、それ以下になるのではないかと考えています。16:46こちらも、貴殿が何をもって正しいと判断されるのかは不明ですので、デバッグの仕方としての意見を。’でscale_imgに読み込んだ映像が正しい縮尺で格納されているか?これは直後にimshowすることで確認できますね。続いて本題のmatchingについて。理解しないといけないのが入力と出力。正しい出力を得るには入力を正しくです。従って双方の途中データを確認。これにはprintfなどのデバッグプリントもしくはブレークポイントで止めてのウォッチによる内容確認。これを続けて自己の誤りをつぶしていくっていう繰り返しです。こちらも、貴殿が何をもって正しいと判断されるのかは不明ですので、デバッグの仕方としての意見を。’でscale_imgに読み込んだ映像が正しい縮尺で格納されているか?これは直後にimshowすることで確認できますね。続いて本題のmatchingについて。理解しないといけないのが入力と出力。正しい出力を得るには入力を正しくです。従って双方の途中データを確認。これにはprintfなどのデバッグプリントもしくはブレークポイントで止めてのウォッチによる内容確認。これを続けて自己の誤りをつぶしていくっていう繰り返しです。10:59ありがとうございます。繰り返していきたいと思います。ありがとうございます。繰り返していきたいと思います。キャンセル完了するlink0先ずは’MatchTemplate’の結果dst1をそのままimshowしてみて、その輝度でマッチング状態を確認してみてください。minmaxの結果の前にしておけば、何が問題か可視化できると思います。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。13:24参考になるページを示します。(過去に見てた)http://ishidate.my.coocan.jp/opencv_12/opencv_12.htm参考になるページを示します。13:50ありがとうございます。こちらのサイトは、私もよく見ています。%lf\n",max_point1);これだと、0しか表示しませんでした。何が駄目なのでしょうか?ありがとうございます。こちらのサイトは、私もよく見ています。これだと、0しか表示しませんでした。13:57また、dst1を表示したのですが、非常に小さい(見えないくらい)画像しか表示されません。dst1を以下の様に定義しているのですが、駄目なのでしょうか?dst1=cvCreateImage(cvSize(abs(grey_img1->width-grey_temp_up->width)+1,abs(grey_img1->height-grey_temp_up->height)+1),IPL_DEPTH_32F,1);//領域確保また、dst1を表示したのですが、非常に小さい(見えないくらい)画像しか表示されません。",grey_img1->width-grey_temp_up->width);でコンソールに出して観て判断ですね。",grey_img1->width-grey_temp_up->width);でコンソールに出して観て判断ですね。15:2915と表示されました。元画像が256*192、テンプレートが35*61なのですが、なぜこのような結果になるのでしょうか?15と表示されました。15:34すいません。計算はあっていました。最大値の座標を表示することはできないのでしょうか?すいません。計算はあっていました。16:12色々見てたら、’http://opencv.jp/sample/matching.html’を参考にされていますね?ならば’CV_TM_CCOEFF_NORMED’だから最大値の所の座標を中心にすると。’CV_TM_CCOEFF_NORMED’だから最大値の所の座標を中心にすると。12:02printfしようとしているのですが、max_point1.xを表示できません。printfしようとしているのですが、max_point1.xを表示できません。12:27であればこの部分にブレークポイントを仕掛けて、止まった時にmax_point1をクイックウォッチで、中に何が入っているかをウォッチのウインドウで確認しましょう。あればこの部分にブレークポイントを仕掛けて、止まった時にmax_point1をクイックウォッチで、中に何が入っているかをウォッチのウインドウで確認しましょう。12:420しか表示されません。0しか表示されません。12:44max_point1.xもウォッチするか、ウオッチの中で内部の要素もツリー状に表示できますが、これも’0'ですか?もし'0'ならそれが原因。max_point1.xもウォッチするか、ウオッチの中で内部の要素もツリー状に表示できますが、これも’0'ですか?もし'0'ならそれが原因。13:11囲む長方形?の中心から左のオフセット(長方形の横の長さの半分)を引いて(0以下になった場合の処理も必要)、同様に縦のオフセットを引いて(0以下の処理も同様)そしてこの長方形を描画すれば真中が最大値。囲む長方形?の中心から左のオフセット(長方形の横の長さの半分)を引いて(0以下になった場合の処理も必要)、同様に縦のオフセットを引いて(0以下の処理も同様)そしてこの長方形を描画すれば真中が最大値。14:37なるほど、そういことですか。直接的に真ん中に点を表示するなどはできないのでしょうか?なるほど、そういことですか。14:45epistemeさんの通り、cvCircleが一番手っ取り早いですね。その時の色が明確に分かりやすい色であれば。(私はよく水色を使いますが)epistemeさんの通り、cvCircleが一番手っ取り早いですね。その時の色が明確に分かりやすい色であれば。加えた位置が中心かと。加えた位置が中心かと。15:27言葉足らずですいません。rect1には、ROIで切り取る際の左上の座標が入っています。言葉足らずですいません。rect1には、ROIで切り取る際の左上の座標が入っています。15:30cvCircleなら引数のcvPoint(の部分は円の中心ですよ。cvCircleなら引数のcvPoint(の部分は円の中心ですよ。15:53ROIの領域にマッチングをしているので必要なのかと考えました。ROIの領域にマッチングをしているので必要なのかと考えました。16:01"考えた"はいいんだが、実際はどうだったんだ、と。位置に○を描いたらドコに現れましたか?マッチ対象長方形の左上隅?"考えた"はいいんだが、実際はどうだったんだ、と。16:23で、結果はどうなりました?デバッグは自分の考え違いを正す行為でもありますし。結果はどうなりました?デバッグは自分の考え違いを正す行為でもありますし。16:37左上隅に表示されました。左上隅に表示されました。16:39テンプレート幅と高さの半分も足す必要があるとも思い、それぞれ足したところ、場所が変化するようになりました。こちらで正しいのでしょうか?テンプレート幅と高さの半分も足す必要があるとも思い、それぞれ足したところ、場所が変化するようになりました。16:45いやそれで正しいか否かはあなたが確認するんでしょうに。max_pointが左上隅を差してるなら、それに幅/2,高/2を加えたら中心位置になるのは自明でしょ?いやそれで正しいか否かはあなたが確認するんでしょうに。16:49最初そのように考えていたのですが、ROIの領域でマッチングした後に、ROIの前の画像で枠を囲もうとすると、ずれが生じるのでrect1を足すことに変更しました。ありがとうございます最初そのように考えていたのですが、ROIの領域でマッチングした後に、ROIの前の画像で枠を囲もうとすると、ずれが生じるのでrect1を足すことに変更しました。16:50ソースが読みにくい(```)で囲んでくれればよいのだが。ソースが読みにくい(```)で囲んでくれればよいのだが。16:51それに変数名がxx1とかxx2は自分自身が良くても、他人には難解。それに変数名がxx1とかxx2は自分自身が良くても、他人には難解。16:51今、流れで整理してみている。今、流れで整理してみている。16:55囲ったつもりが下の'''がなくなっていました。自分勝手なプログラムで申し訳ありません。囲ったつもりが下の'''がなくなっていました。自分勝手なプログラムで申し訳ありません。0急ぎで困っています...。頂いたご意見への回答は行っておりません。