我對R很新,我想知道是否有一種簡單的方法將BMP圖像轉換爲R中的矩陣。主要是,我正在尋找任何可以提供幫助的軟件包。矩陣中每個元素的值將對應於顏色。需要幫助將BMP圖像轉換爲[R]中的矩陣?
回答
在CRAN軟件包列表中搜索「bmp」會彈出bmp
和其他一些文件,爲簡明起見,我將僅使用此軟件包。
library(bmp)
fl <- system.file("images", "5HT1bMARCM-F000001_seg001_lsm.bmp", package = "bmp")
b <- read.bmp(fl)
該目的是數組,與有關該文件的一些信息:
str(b)
int [1:206, 1:206, 1:3] 107 111 119 123 115 119 119 139 143 143 ...
- attr(*, "header")=List of 13
..$ filesize : num 127774
..$ offset : num 54
這是一個3D陣列:
dim(b)
[1] 206 206 3
有一個as.raster
函數,它帶有一個可選max
參數:
m <- as.raster(b, max = 255)
此矩陣m
現在是顏色(十六進制)的二維矩陣。讓我們來繪製這個事情,我們需要設置一個繪圖,然後找出它的範圍,以便我們可以用我們的圖像填充設備。
plot(1, type = "n", axes = FALSE, xlab = "", ylab = "")
usr <- par("usr")
rasterImage(m, usr[1], usr[3], usr[2], usr[4])
您的需求將取決於您的BMP文件,你用它來閱讀該軟件使用的存儲選項。
還有其他的選擇,與readbitmap
包,並用rgdal
(也許是通過raster
),但是這將取決於你可以在機器上安裝了什麼。
好吧,所以我開始使用read.bmp嘗試一些這方面的東西。我做了一個16x16的圖像,它全是黑色和白色。我先通過readPNG解釋它(相同的圖像,但作爲PNG文件),我得到的值都是小於1(黑色像素)或1白色的小數。當我保存與單色bmp相同的圖像時,它不會通過read.bmp讀取它。有任何想法嗎? – riders994
這對於某人來說並不是很好的信息,爲什麼不充實你所做的和你期望的細節?看到這裏的指導:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – mdsumner
- 1. r - 需要幫助將錶轉換爲矩陣
- 2. 需要幫助將json轉換爲pojo
- 3. 需要幫助將HttpClient轉換爲HttpURLConnection
- 4. 需要幫助將htaccess轉換爲ISAPI_Rewrite
- 5. 需要幫助將此轉換爲C++
- 6. 需要幫助將AsyncTask轉換爲RxJava
- 7. 需要幫助將Jquery轉換爲Mootools
- 8. 需要幫助將jquery轉換爲Javascript
- 9. 需要幫助操縱Android中的圖像 - 轉換爲灰度
- 10. 需要幫助根據R中的條件篩選矩陣
- 11. Mathematica幫助〜將矩陣中的元素轉換爲字符串
- 12. 將大矩陣轉換爲圖像
- 13. Haskell,將圖像轉換爲矩陣
- 14. 將矩陣轉換爲圖像
- 15. 將圖像轉換爲矩陣
- 16. 需要幫助將.jpg的擴展名替換爲.png或轉換圖像
- 17. 需要轉換幫助
- 18. 需要幫助轉換
- 19. 將unix時間矩陣轉換爲r中的實時矩陣
- 20. java的:需要幫助的對象轉換爲陣列
- 21. 需要幫助PHP轉換爲C#
- 22. 需要幫助將DefaultTableModel轉換爲表視圖JavaFX
- 23. 需要幫助試圖將數字轉換爲字符代碼
- 24. 將像素矩陣轉換爲R中的變量(數據幀)
- 25. 在R中將大矩陣轉換爲二元評分矩陣?
- 26. R:將數據幀轉換爲矩陣
- 27. 將數組轉換爲矩陣R
- 28. 將光柵轉換爲矩陣與R
- 29. 將pgm圖像轉換爲bmp
- 30. 如何將.Jpeg圖像轉換爲.Bmp
如果你可以以png格式存儲你的位圖圖像,你可以使用'png'包中的'readPNG',否則你可以使用'readbitmap'包。 – agstudy