8

cv::Mat または CvMat から CvArr に変換する方法を検索するのに多くの時間を費やしましたが、利益はありません。その点で私を助けてください、ありがとう。

4

5 に答える 5

5
Mat img = imread("C:\MyPic.jpg",CV_LOAD_IMAGE_GRAYSCALE);
IplImage tmp=img;
cvErode(&tmp, &tmp, 0, 2);
Mat laser=&tmp;
    imshow("Eroded",laser);

この方法で変換cv::MatCvArrました。tmpを直接使用する代わりに、 を使用して&tmpください。

于 2015-03-02T12:24:07.957 に答える
4

それを行う必要があるときは、次を使用します。

IplImage tmp = image;

画像付き Mat 変数。

于 2013-02-27T16:04:45.600 に答える
1

私の記憶が正しければ、CvMat は CvArr であるため、CvArr にキャストするだけで、現在の CvArr の最初のバイトは、実際には CvMat であることを関数に伝えます: http://opencv.willowgarage.com/documentation/basic_structures .html#cvarr

于 2012-04-22T17:13:43.667 に答える
1

変換してもよろしいですか?あなたが持っているものを使用する同等の機能がある場合があります。たとえば、cvMorphologyExを使用してCvArrいますmorphologyExが、使用していcv::Matます。

于 2013-02-27T14:52:12.920 に答える
-1

最初に、次を使用して画像を変換します。

IplImage* oldstyleimg = &matimg.operator IplImage()

画像のヘッダーを作成するだけなのか、コピーを作成するのか覚えていません

于 2013-02-27T15:30:19.720 に答える