June 2019
Intermediate to advanced
348 pages
8h 28m
English
In the preceding section, when we load the source image and flip it, we use Qt to do the work. This work can also be done by using the OpenCV library:
img = cv::imread("./images/lizard.jpg"); cv::Mat tmp; cv::flip(img, tmp, 0); cvtColor(tmp, img, cv::COLOR_BGR2RGB); // ... glTexImage2D( GL_TEXTURE_2D, 0, GL_RGB, img.cols, img.rows, 0, GL_RGB, GL_UNSIGNED_BYTE, img.data); // ...
Similarly, when saving the resulting image, we can do it like this:
cv::Mat output(img.rows, img.cols, CV_8UC3); glReadPixels( 0, 0, img.cols, img.rows, GL_RGB, GL_UNSIGNED_BYTE, output.data); cv::Mat tmp; cv::flip(output, tmp, 0); cvtColor(tmp, output, cv::COLOR_RGB2BGR); cv::imwrite(path.toStdString(), output);
Both QImage and cv::Mat
Read now
Unlock full access