StretchDIBits 直接使用cv::Mat的数据有可能显示错误的问题

简介: StretchDIBits 直接使用cv::Mat的数据有可能显示错误的问题
StretchDIBits(hDC,
        0,
        0,
        img.cols,//drect.right, //显示窗口宽度
        img.rows,//drect.bottom, //显示窗口高度
        0,
        0,
        img.cols, //图像宽度
        img.rows, //图像高度
        img.data,
        bitMapinfo,
        DIB_RGB_COLORS,
        SRCCOPY
        );

假定位图头和调色板完全正确。显示错误的原因:

位图每行数据都4字节对齐,OpenCV的cv::Mat没有这个对齐。

所以数据会错位。

相关文章
|
2月前
|
存储 计算机视觉
OpenCV 中 CV_8UC1,CV_32FC3,CV_32S等参数的含义
OpenCV 中 CV_8UC1,CV_32FC3,CV_32S等参数的含义
115 3
|
2月前
|
计算机视觉 Python
将QImage转化成Mat方法
本文提供了一个将QImage转换为OpenCV Mat格式的Python函数,通过转换QImage到RGB32格式并使用numpy数组重塑来实现转换。
|
4月前
|
计算机视觉
【已解决】cv2.imread读取中文名称图片报错或者无法保存中文名图片:使用cv2.imdecode与cv2.imencode解决
【已解决】cv2.imread读取中文名称图片报错或者无法保存中文名图片:使用cv2.imdecode与cv2.imencode解决
|
5月前
|
计算机视觉 Python
opencv cv::Range()和cv::Rect()用于crop来获得感兴趣区域
opencv cv::Range()和cv::Rect()用于crop来获得感兴趣区域
179 0
|
5月前
|
存储 计算机视觉
OpenCV(三):Mat类数据的读取
OpenCV(三):Mat类数据的读取
154 0
|
算法 计算机视觉
OpenCV-漫水填充cv::floodFill
OpenCV-漫水填充cv::floodFill
153 0
|
编解码 计算机视觉
OpenCv-cv2.imshow()显示图片不全
OpenCv-cv2.imshow()显示图片不全
429 0
|
存储 计算机视觉 C++
【OpenCv】c++ 入门认识 Mat 类,单通道 Mat 的基本操作
【OpenCv】c++ 入门认识 Mat 类,单通道 Mat 的基本操作
293 0
|
数据处理 计算机视觉 Python
应用matplotlib的imshow函数显示彩色图像(RGB data)报错的解决方法
而且,只在处理彩色图像时出现错误提示,显示为空白图像;处理灰度图像时函数运行正常、显示图像。
502 0