我有一個由double構成的矩陣(Mat),範圍是[0,1]。 當我通過命令imwrite保存它時,生成的圖像是全黑的。 我想這個問題是一個鑄造問題,但我不知道如何解決它。 感謝Opencv:用imwrite保存雙矩陣
0
A
回答
1
你得到的全黑圖像是因爲所有的圖像像素範圍內[0,1]
(實際上爲0或保存圖像時,1),這是接近全黑(無論是灰度圖像或彩色圖像)。
要保存矩陣到的圖像與正常顏色,必須先變換矩陣雙由255
每個值乘以範圍[0, 255]
。如果稍後通過將每個值除以255
來加載此圖像中的矩陣,請記住將其轉換回來。
+1
我認爲你必須做一個'convertTo(converted_Mat,CV_8U或CV_16U,255或65535)'也有類型適當的設置。 – mb84
1
OpenCV存儲雙精度數組而不將它們轉換爲其他格式(以及丟失信息)的唯一方法是使用FileStorage。 imwrite僅限於'char'或'short'的數組。
相關問題
- 1. OpenCV imwrite保存黑色PNG
- 2. imwrite在MATLAB中的雙重矩陣
- 3. 從OpenCV(C++)爲Matlab保存雙精度矩陣
- 4. OpenCV imwrite保存完整的黑色jpeg
- 5. 從OpenCV保存/讀矩陣FileNodeIterator
- 6. 保存陣列圖像,imwrite matlab的
- 7. 分配一個雙矩陣CvMat opencv
- 8. 如何讀取使用std :: ofstream保存的OpenCV矩陣數據?
- 9. 如何在OpenCV 2.4.3中保存(cvWrite或imwrite)圖像?
- 10. 使用旋轉矩陣opencv
- 11. OpenCV通過子矩陣改變矩陣
- 12. opencv:創建矩陣或向量矩陣
- 13. OpenCV矩陣創建
- 14. OpenCV:將幀矩陣保存到文本文件(Python)
- 15. OpenCV C++攝像頭圖像未保存到矩陣
- 16. opencv矩陣到共享內存
- 17. 保存圖像使用imwrite MATLAB
- 18. 保存混淆矩陣
- 19. 保存文本矩陣:MATLAB
- 20. 保存矩陣的錯誤
- 21. OpenCV imwrite不寫圖像
- 22. opencv 3.1 wxwidgets cv :: imwrite error
- 23. opencv imread/imwrite損失顏色
- 24. 將雙精度矩陣保存爲圖像
- 25. OpenCV無法使用imwrite寫入圖像
- 26. 圖像類型轉換用的OpenCV imwrite
- 27. OpenCV中的Homography矩陣
- 28. 查找OpenCV的矩陣
- 29. Opencv矩陣值顯示
- 30. opencv:矩陣分配混淆
嘗試'cv :: imwrite(filename,yourmatrix * 255)' 否則請查看http://docs.opencv.org/modules/highgui/doc/reading_and_writing_images_and_video.html?highlight=imwrite#imwrite,因爲有些文件擴展名只允許有限的數據類型。 – Micka