#include <opencv2/opencv.hpp>
...
IplImage* img = cvLoadImage("TestImage.jpg", 1);
Mat mtx(img);
Этот код должен преобразовать img в формат Mat. Однако, когда я реализую это, я получаю сообщение об ошибке «Нет конструктора соответствия для инициализации cv :: Mat».Ошибка при преобразовании IplImage в Mat
Где я делаю неправильно? Синтаксис должен быть правильным, поэтому я предполагаю, что проблема лежит где-то в другом месте. Я использую OpenCV 3.1.0 и Xcode 7.2.1 в OSX Yosemite.
Спасибо заранее
Не уверен, почему он не работает, но есть ли причина, по которой вы не можете использовать ['cv :: imread (...)'] (http://docs.opencv.org/3.1.0/d4 /da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56)? –
Потому что они удалили этот конструктор в 3.0.0. К тому времени C api (и 'IplImage) устарел на 5 лет, поэтому нет причин, по которым вы должны его использовать. Как говорит @ DanMašek, вы должны просто прочитать изображение непосредственно в 'Mat'. – beaker
@beaker Хорошая мысль, я, кажется, пропустил это, когда посмотрел источник. Кажется, есть [другой] (http://stackoverflow.com/a/30849778/3962537) [вариант] (http://answers.opencv.org/question/23440/any-way-to-convert-iplimage-to -cvmat-in-opencv-300 /) ... и что это, скорее всего, дублирующий вопрос. –