Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将图像读入C+中的像素矩阵+;_C++_Windows_Image_Winapi_Image Processing - Fatal编程技术网

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应该可以获得像素数据