我有一個由雙精度nRow矩陣構成的nCol,我想通過像素的nRow灰度圖像轉換爲nCol。我不想將這個縮減到一個縮放到256個通道的圖像。我會很高興使用單打而不是雙打。我已經瀏覽了Mathworks的Tiff類文檔,但找不到一個簡單的例子。將雙精度矩陣轉換爲灰度.tif圖像
0
A
回答
1
我試着閱讀關於Tiff類,並且它是非常差的記錄。但我發現這個經歷試錯:
可以說,我們有矩陣
data = rand(100,200);
讓我們將它保存爲TIFF:
t = Tiff('new.tif','w') %create object of Tiff class
setTag(t,Tiff.TagID.ImageLength,size(data,1)) %define image dimentions
setTag(t,Tiff.TagID.ImageWidth,size(data,2))
setTag(t,'Photometric', Tiff.Photometric.MinIsBlack) %define the color type of image
%specifies how image data components are stored on disk
setTag(t,'PlanarConfiguration',Tiff.PlanarConfiguration.Chunky);
setTag(t,'BitsPerSample',64); %because 1 double = 8byte = 64bits
%Specify how to interpret each pixel sample (IEEEFP works with input doubles)
setTag(t,'SampleFormat',Tiff.SampleFormat.IEEEFP);
t.write(data)
t.close
讓測試這個現在:
datac = imread('new.tif')
whos datac
Name Size Bytes Class Attributes
datac 100x200 160000 double
和:
datac(:,1)
ans =
0.4921
0.6908
0.1544
0.4433
...
+0
感謝您 - 實際上我做了類似的事情,但是當試圖在Windows中打開'.tif'時,我收到一個錯誤,指出文件已損壞。但是,我可以在Matlab中打開圖像。任何想法爲什麼Windows看到一個損壞的文件? – Trojanian
+0
首先,我在考慮'RowsPerStrip'屬性,因爲它的值不正確。但修復這個值並沒有幫助! 我認爲問題在於Windows無法識別tiff與雙打!另外,由於TIFF總是3D矩陣,所以創建2D TIFF可能是不正確的... –
相關問題
- 1. C#將2D雙精度數組轉換爲灰度圖像
- 2. 將文本文件中的矩陣轉換爲灰度圖像
- 3. 將圖像轉換爲灰度圖像
- 4. Matlab從圖像轉換爲雙精度
- 5. 如何在MATLAB中將灰度矩陣轉換爲RGB矩陣?
- 6. 將雙精度矩陣保存爲圖像
- 7. 將圖像轉換爲灰度
- 8. jQuery將圖像轉換爲灰度?
- 9. 將簡單圖像轉換爲灰度
- 10. 將灰度圖像轉換爲黑白
- 11. 將灰度圖像轉換爲彩色
- 12. 將圖像轉換爲灰度指針
- 13. 無法將雙精度轉換爲雙精度
- 14. 八度圖像包無法將圖像轉換爲灰度
- 15. 如何將灰度圖像轉換爲n×3陣列
- 16. 將時間轉換爲雙精度
- 17. 將雙精度轉換爲QString
- 18. 如何將DBNULL轉換爲雙精度?
- 19. 將字符串轉換爲雙精度,
- 20. DirectShow - 將IGraphBuilder *轉換爲雙精度(C++)
- 21. 將雙精度轉換爲浮點數
- 22. 將文本轉換爲雙精度
- 23. 將字符串轉換爲雙精度
- 24. C#,將Npoi.ICell轉換爲雙精度型
- 25. Fortran:將雙精度複數轉換爲單精度
- 26. 轉換爲灰度圖像到RGB
- 27. 轉換灰度圖像爲RGB
- 28. 將短陣列轉換爲雙精度數組
- 29. 如何將灰度圖像轉換爲RGB圖像?
- 30. 使用matplotlib將灰度圖像轉換爲RGB熱圖像
矩陣的值是多少?因爲二維矩陣已經是灰度。彩色圖像有很多尺寸。 只要試試'imshow(yourmatrix)' –
這不是我所追求的。 – Trojanian
然後顯示一些例子。 –