获取文本的渲染灰度图像作为矩阵

时间:2017-10-19 14:17:17

标签: r string matrix grayscale

我希望将给定的字符串渲染为灰度图像,然后对其执行一些简单的操作。我知道text()功能。不幸的是,这需要打开图形设备。为了我的目的,将灰度图像直接存储在矩阵中会更加方便和有效。

获得给定字符串的渲染灰度图像的矩阵表示的有效方法是什么?

1 个答案:

答案 0 :(得分:1)

Richard Telford建议的magick包是解决问题的关键:

# Load the package
require(magick)

# Create white canvas initializing magick graphical device
img <- image_graph(width = 140, height = 40, bg = "white", pointsize = 20,
                   res = 120, clip = TRUE, antialias = TRUE)
# Set margins to 0
par(mar = c(0,0,0,0))  

# Initialize plot & print text
plot(c(0,1), axes = FALSE, main = "", xlab = "", ylab = "", col = "white")
text(0.95, 0.42, "Test", pos = 4, family = "mono", font = 2)

# Close the magick image device
dev.off() 

# Convert to grayscale & extract pixelmatrix as integers
img <- image_convert(img, colorspace = "gray")  
target <- drop(as.integer(img[[1]]))