我希望将给定的字符串渲染为灰度图像,然后对其执行一些简单的操作。我知道text()
功能。不幸的是,这需要打开图形设备。为了我的目的,将灰度图像直接存储在矩阵中会更加方便和有效。
获得给定字符串的渲染灰度图像的矩阵表示的有效方法是什么?
答案 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]]))