我想讀取一個8位灰度bmp文件,重建它的像素矩陣,然後用sobel算子處理它。然而,程序不能構建像素矩陣,它會分割原始的隱藏塊。當我像這樣運行程序時,
./sobel cube.bmp output.bmp processed.bmp output.txt的
cube.bmp是輸入 output.bmp是構成像素矩陣的輸出。 proccessed.bmp是用sobel算子處理的輸出。
Code and Sample photos
閱讀8bit灰度bmp文件的問題c
1
A
回答
1
一對夫婦的意見:
你processed.bmp有一個不正確的行大小或像素大小寫的位圖的外觀。你可以知道,因爲每一行都是水平移動的。
您正在處理灰度位圖,但你正在讀取和寫入像素,雖然他們有RGB分量,即:
pixelArray[i][j].red = pixel.red;
pixelArray[i][j].green = pixel.green;
pixelArray[i][j].blue = pixel.blue;
灰度像素僅僅是一個8位值。
2
可能不是你正在尋找的答案,但看看openCV。
假設你對圖像處理步驟沒有特別的BMP操作感興趣,這個庫負責所有的文件I/O,顯示等。它也有一個很好的sobel過濾器。
+0
在這裏使用OpenCV好像使用土星火箭爬樹。 – Seth 2010-11-02 18:10:41
+0
@seth - true,但如果OP對圖像過濾器感興趣,那麼搞亂BMP標頭對齊就好像設計自己的梯子來爬樹一樣;-) – 2010-11-02 21:29:10
相關問題
- 1. 閱讀BMP文件C++(閱讀BMP標題時遇到的問題)
- 2. 將Bmp灰度讀入C
- 3. Java閱讀bmp文件?
- 4. 閱讀bmp文件的隱寫術
- 5. C二元文件閱讀問題
- 6. 閱讀16位灰度TIFF
- 7. C讀取bmp文件
- 8. 閱讀bmp文件頭大小
- 9. 問題閱讀csv文件
- 10. 將彩色bmp轉換爲灰度bmp?
- 11. 閱讀c中的BMP圖像
- 12. 在C++中讀取bmp文件的寬度和高度
- 13. 轉動色BMP爲灰度:
- 14. 添加BMP灰度頭
- 15. 閱讀文本文件的問題
- 16. 閱讀文本文件的問題 - java.lang.StringIndexOutOfBoundsException
- 17. 在閱讀c文件中的jpeg文件時出現問題
- 18. 讀取.bmp文件C++,錯誤的值?
- 19. 閱讀BMP頭文件,打包。讀取不正確的值
- 20. 問題與閱讀文本文件
- 21. 閱讀文件時遇到的問題
- 22. 閱讀csv文件的問題
- 23. 文件閱讀問題的servlet
- 24. 閱讀二進制文件的問題
- 25. 文件閱讀問題的Python
- 26. 閱讀.txt文件的問題
- 27. 閱讀Xml文件的問題
- 28. 閱讀索引文件(COBOL)的問題
- 29. PHP閱讀CSV文件的問題
- 30. 閱讀索引文件的問題
我懷疑答案在於'Print'的輸出,這是您唯一沒有向我們顯示的東西。 – 2010-11-02 17:26:13