cvFindContours() を使用して画像の輪郭領域を見つけるために OpenCV を使用しています。次に、この輪郭を異なる座標(および異なるピクセル対応)で描画したいと思います...
そこで、cvGetSeqElem() を使用してすべての輪郭要素ポイントを取得し、ピクセル対応を変換して、カスタマイズされた cvSeq を作成し、カスタマイズされた cvSeq に各要素をロードします。ただし、カスタマイズされた cvSeq で輪郭を描画しようとすると、画像に応答がありません。
この作品の目的のために、輪郭をマスキング画像に使用したいと思います。
コードは次のようになります。
<!-- language: c++ -->
CvMemStorage *memStorage = cvCreateMemStorage(0);
CvSeq* seq = cvCreateSeq(0, sizeof(CvSeq), sizeof(CvPoint), memStorage);
void SetMaskingPoints(CvPoint point)
{ cvSeqPush(seq, ®ionPoint); }
void DrawMaskingPoints()
{ cvDrawContours(maskingImage, seq, cvScalar(255,255,255), cvScalar(0,0,0), 0, 1, 8); }
私のコードは、輪郭要素を取得することから始まり、SetMaskingPoints() に順番にロードしてから、DrawMasingPoints() によって輪郭を描画します。
また、印刷しようとしたところ、cvSeq はポイント値で構成されているが、描画できないことがわかりました。