【发布时间】:2017-02-10 11:33:36
【问题描述】:
以下代码用于将 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);
更新:我推荐了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);
【问题讨论】:
标签: c++ opencv opengl image-processing sfml