Как преобразовать изображение SFML в OpenCV mat на C++?
Приведенный ниже код используется для преобразования изображения OpenCV Mat в изображение SFML. Как преобразовать изображение SFML обратно в изображение Mat?
cv::Mat frameBGR, frameBGRA; sf::Image image; cv::cvtColor(frameBGR, frameRGBA, cv::COLOR_BGR2RGBA); image.create(frameRGBA.cols, frameRGBA.rows, frameRGBA.ptr());
Если текстура или Спрайт не могут быть преобразованы в OpenCV Mat,то можно ли преобразовать sf:: Image в OpenGL и преобразовать его обратно в cv:: Mat
sf::Texture texture; sf::Event event; sf::Sprite sprite; texture.loadFromImage(image); sprite.setTexture(texture);
Обновление Я сослался на этот пост, но все равно не смог его преобразовать.
void* buffer = & image; cv::Mat image_mat = cv::Mat(cvSize(500,500),CV_8UC4,buffer,cv::Mat::AUTO_STEP); cvtColor(image_mat, converted,CV_RGBA2BGR);
Он падает на нижнюю строку кода (когда я показываю изображение )
imshow("img", converted);
c++ - Как создать изображение в opencv из буфера, содержащего изображение в формате RGBA - Stack Overflow
Что я уже пробовал:
Я мог только конвертировать OpenCV Mat в SFML.
Arthur V. Ratz
Наверное, нельзя преобразовать СФМЛ в формате OpenCV мат или так.