ここから本文です

OpenCVを用いて、複数の正方形の画像を結合させていくプログラムを書いてい...

whi********さん

2012/6/2900:57:03

OpenCVを用いて、複数の正方形の画像を結合させていくプログラムを書いています。
なかなかうまくいかずに、困っているので、もしよければ、アドバイスをお願いできないでしょうか?

今現在のプログラムは、以下の通りになっております。
宣言文他は全部割愛。

int pointX,pointY;

//複数用いる正方形の画像
IplImage *img = cvCreateImage(cvSize(Img_X,Img_Y),8,3);
//最終的に結合させた画像をこれで出力
IplImage *res = cvCreateImage(cvSize((Xunits*Img_X),(Yunits*Img_Y)),8,3);

for(int y=0;y<Yunits;y++)
{//Y方向(下向き)に画像を結合させる為のループ
for(int x=0;x<Xunits;x++)
{//X方向(右向き)に画像を結合させるためのループ
pointX=0;
pointY=0;

pointX = x * Img_X;//結合するポイントのX座標
pointY = y * Img_Y;//結合するポイントのY座標

//分かりやすくする為、正方形の画像の各辺に線を引き、矩形を描画する
cvRectangle(img,cvPoint(0,0),cvPoint(Img_X,Img_Y),cvScalar(0,0,0),4,4);
//ここで画像を結合…?
cvCopy(img,res);
}
}


今の所こんな感じです…。
アドバイス、修正、その他のご支援を、どうかよろしくお願いいたします。

閲覧数:
3,969
回答数:
1

違反報告

ベストアンサーに選ばれた回答

buy********さん

編集あり2012/6/2908:59:34

>white_glint_mflさん

cvReleaseImage が抜けてます。プログラムの最後に以下が必要です。

cvReleaseImage(&img);
cvReleaseImage(&res);


サンプルプログラムで似たプログラムあるので、これを参考にされてはいかがでしょうか?

http://opencv.jp/sample/initialization.html#combine

http://opencv.jp/sample/transforms_and_permutations.html#repeat

よろしくお願い致します。

質問した人からのコメント

2012/6/29 14:59:26

描画する部分は字数多くなるのであえて省いてました。ご迷惑をおかけしてすみませんでした^^;
URLのサンプルを見て、プログラムを完成させることができました。ありがとうございます。
以下完成したソースの一部。
CvRect point = cvRect(pointX,pointY,Img_X,Img_Y);

cvRectangle(img,cvPoint(0,0),cvPoint(Img_X,Img_Y),cvScalar(0,0,0),4,4);
cvSetImageROI(res,point);
cvCopy(img,res);
}
}
cvResetImageROI(res);

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる