簡體   English   中英

在C ++中將圖像讀入像素矩陣

[英]Reading an image into an matrix of pixels in C++

我已閱讀的圖像中成LPPICTUREOleLoadPictre ,並在窗口中顯示它,但我真正需要做的是把圖像分成,我可以處理和保存回圖像文件的像素矩陣。

使用OleLoadPicture ,我幾乎可以讀取所有主要圖像格式。 如果我可以訪問單個像素,則可以遍歷並提取所有像素。

在其他相關問題中,人們建議使用像OpenCV這樣的大型庫以及其他在陽光下可以完成所有工作的高度發達的庫,但我寧願保持解決方案盡可能輕便。 我已經為像素編寫了一個基本結構,並且很高興自己進行操作。

我一直在用Magic ++查看ImageMagic庫。 看起來還不錯,但是如果有一種解決方案,只是使用Windows API提取像素並將圖像保存回任意圖像格式,那么我認為那是最好/最輕的方法。

OleLoadPicture為您提供了IPicture的實例。 使用IPicture::get_Handle獲取IPicture實例持有的HBITMAP 最后,使用GetDIBits獲取像素數據。

這里有執行此操作的示例代碼。 將其從MFC轉換為普通的WinAPI應該可以獲取像素數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM