r - 检测图像中的颜色

标签 r image image-processing colors

我想让 R 在图像的一部分中检测给定的颜色。

我一直在阅读有关 RGB 方案的信息,但我认为可能会有一个包或一种方法让 R 检测像素簇,例如,出现黄色的像素。

是否有解决方案,或者我只是被困在 RGB 中?

谢谢。

最佳答案

给你:

install.packages('raster')
library(raster)
#Get some data
duck.jpg<-tempfile()
download.file('http://www.pilgrimshospices.org/wp-content/uploads/Pilgrims-Hospice-Duck.jpg',duck.jpg,mode="wb")

#Plug it into a stack object
duck.raster<-stack(duck.jpg)
names(duck.raster)<-c('r','g','b')
#Look at it
plotRGB(duck.raster)

duck.yellow<-duck.raster

duck.yellow$Yellow_spots<-0
duck.yellow$Yellow_spots[duck.yellow$r<250&duck.yellow$g<250&duck.yellow$b>5]<-1
plot(duck.yellow$Yellow_spots)

所以,这里只有几个可教的要点。数字图像基本上是一个用于保存像素值的桶。因此,您需要做的就是对光栅(读取:数字图像)进行子集化,就是使用某种工具将其读入 R;决定如何对其进行子集化;并以与 R 中任何其他数据的子集相同的方式对其进行子集化。 考虑 R 中栅格的另一种方法是一堆相同大小的矩阵,堆栈中的矩阵数与图像中的波段数相同。通过这种方式,您可以像操作 R 中的任何其他矩阵一样操作数据。

关于r - 检测图像中的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48647885/

相关文章:

php - 图像文件路径未插入数据库

java - ImageIO 支持原始图像 (jrawio)

r - 向条形图添加标签?

r - 是否可以将网页自动保存为 R 中的图像?

c++ - 使用 OpenCV 写入 16 位未压缩图像

ios - 如何阻止我的 swift 应用程序崩溃

image-processing - 轮廓匹配——寻找轮廓位移

image-processing - 在图像中查找网格

r - 在 R 中仅使用 NA 值识别 data.frame 中的行

r - 提取没有扩展名R的csv文件名