C++ 将图像读入C+中的像素矩阵+;
我已经用C++ 将图像读入C+中的像素矩阵+;,c++,windows,image,winapi,image-processing,C++,Windows,Image,Winapi,Image Processing,我已经用OleLoadPictre将图像读入LPPICTURE并显示在窗口中,但我真正需要做的是将图像转换为像素矩阵,我可以对其进行操作并将其保存回图像文件 使用OleLoadPicture,我可以阅读几乎所有主要的图像格式。如果我可以访问单个像素,我就可以循环并提取所有像素 在其他相关问题中,人们建议使用大型库,如OpenCV和其他高度开发的库,它们可以在阳光下完成所有工作,但我更愿意让我的解决方案尽可能简单。我已经为我的像素写了一个基本的结构,我很乐意自己做这个操作 我一直在用Magic++
OleLoadPictre
将图像读入LPPICTURE
并显示在窗口中,但我真正需要做的是将图像转换为像素矩阵,我可以对其进行操作并将其保存回图像文件
使用OleLoadPicture
,我可以阅读几乎所有主要的图像格式。如果我可以访问单个像素,我就可以循环并提取所有像素
在其他相关问题中,人们建议使用大型库,如OpenCV和其他高度开发的库,它们可以在阳光下完成所有工作,但我更愿意让我的解决方案尽可能简单。我已经为我的像素写了一个基本的结构,我很乐意自己做这个操作
我一直在用Magic++查看ImageMagic库。这似乎很好,但如果有一种解决方案,只需使用Windows API提取像素并将图像保存回任意图像格式,那么我认为这是最好/最轻的解决方案。
OleLoadPicture
提供了一个ipacture
的实例。使用ipacture::get_Handle
获取由ipacture
实例持有的HBITMAP
。最后,使用GetDIBits
获取像素数据
有这样做的示例代码。将其从MFC转换为普通WinAPI应该可以获得像素数据