3
下面的代码用于将OpenCV Mat图像转换为SFML图像。如何将SFML图像转换回Mat图像?如何在C++中将SFML图像转换为OpenCV mat?
cv::Mat frameBGR, frameBGRA;
sf::Image image;
cv::cvtColor(frameBGR, frameRGBA, cv::COLOR_BGR2RGBA);
image.create(frameRGBA.cols, frameRGBA.rows, frameRGBA.ptr());
如果纹理或子画面不能转换到的OpenCV垫,然后是有可能SF ::图像转换为OpenGL和将其转换回CV ::垫
sf::Texture texture;
sf::Event event;
sf::Sprite sprite;
texture.loadFromImage(image);
sprite.setTexture(texture);
更新:我参考了this的帖子,但仍然无法转换。
void* buffer = ℑ
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);