从 magick 图像中提取包含像素值的数组

问题描述 投票:0回答:1

我只是尝试通过

image_read()
读取图像后检索并更改具有像素值的数组。但是,我不知道如何访问数据。

library(magick)
f = system.file("images", "sample-color.png", package="EBImage")
t = image_read(f)
>t
# A tibble: 1 × 7
  format width height colorspace matte filesize density
  <chr>  <int>  <int> <chr>      <lgl>    <int> <chr>  
1 PNG      768    512 sRGB       FALSE   556865 72x72 

我想做的是类似的事情(假设

t
是一个 3D 数组):

t[1:10,1:10,1] = 0 # set pixel values to '0' for the top left 10x10 square

arr = t[1:10,1:10,1] # retrieve pixel values from the top left 10x10 square

这个问题可能有一个简单的解决方案,但我现在无法解决这个问题。

r image-processing imagemagick
1个回答
0
投票

请注意,{magick} 将位图返回为 3 维矩阵。

library(magick)
f = system.file("images", "sample-color.png", package="EBImage")
i = image_read(f)

d <- i[[1]] # or use d <- image_data(i)
d[, 1:40, 1:40] <- as.raw(c(0xff, 0xff, 0xff, 0xff))
image_read(d)

创建于 2024 年 10 月 30 日,使用 reprex v2.1.0

© www.soinside.com 2019 - 2024. All rights reserved.