OpenCVはIplImageを直接Matに変換できません
642 ワード
背景:最近OpenCVを習って公式チュートリアルを参照して勉強しました.学習表示でMatオブジェクトを作成するとき.IplImageオブジェクトをMatに割り当てたときにエラーが発生しました.
具体的なコードは以下の通りです.
エラーを返すには、次の手順に従います.
MatクラスにMat::Mat(IplImage*iplImage)のコピーコンストラクタがないことを再確認します.
ネットで答えを見つけた
新しいOpenCVでは、Mat::Mat(IplImage*)コピーコンストラクタの代わりにcvarrToMat()関数を使用します.
具体的な方法は以下の通りです.
具体的なコードは以下の通りです.
IplImage * iplImage = cvLoadImage("xxx.png");
Mat mat(iplImage);
エラーを返すには、次の手順に従います.
C2664 “cv::Mat::Mat(cv::Mat &&)”: 1 “IplImage *” “const cv::cuda::GpuMat &”
MatクラスにMat::Mat(IplImage*iplImage)のコピーコンストラクタがないことを再確認します.
ネットで答えを見つけた
新しいOpenCVでは、Mat::Mat(IplImage*)コピーコンストラクタの代わりにcvarrToMat()関数を使用します.
具体的な方法は以下の通りです.
IplImage *pImage = cvLoadImage("...");
Mat mat = cvarrToMat(pImage);