opengl + opencv 显示图片

opencv读取一张图片,然后在opengl窗口进行显示.

img_src = cv::imread(cam_data_filename.at(cam_data_filename.size() / 2));
cv::Mat img_src_pyup;
cv::pyrDown(img_src, img_src_pyup, cv::Size(img_src.cols / 2, img_src.rows / 2));
cv::Mat flipped_img;
cv::flip(img_src_pyup, flipped_img, 0);
cv::Mat img = flipped_img;
src_imgshow_pixellen = img.channels() * img.rows * img.cols;
src_pixeldata = (unsigned char *)malloc(sizeof(unsigned char) * src_imgshow_pixellen);
src_imgshow_width = img.size().width;
src_imgshow_height = img.size().height;
memcpy(src_pixeldata, img.data, src_imgshow_pixellen);
if (src_pixeldata != NULL) {
        glDrawPixels(src_imgshow_width, src_imgshow_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, src_pixeldata);
        glFlush();
        glutSwapBuffers();
​​​​​​​}

注意在显示之前,需要调用flip将图像进行翻转.
https://stackoverflow.com/questions/16809833/opencv-image-loading-for-opengl-texture

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值