Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何突出显示图像的特定部分?_R_Image Processing - Fatal编程技术网

R 如何突出显示图像的特定部分?

R 如何突出显示图像的特定部分?,r,image-processing,R,Image Processing,我正在尝试用R处理一张组织图像,我已经能够用黑色突出显示某些细胞,其余的背景是白色。我的问题与此非常相似(作为一名新手,我无法发布图片) 只是我需要知道这在R中是如何实现的。我已经尝试了很多函数,搜索了很多技术,但还没有结果。这是代码和原始图像 img<-readJPEG("img.jpg") img<-array(img,c(480,640,3)) imgDm <- dim(img) imgRGB <- data.frame( x = rep(1:imgD

我正在尝试用R处理一张组织图像,我已经能够用黑色突出显示某些细胞,其余的背景是白色。我的问题与此非常相似(作为一名新手,我无法发布图片)

只是我需要知道这在R中是如何实现的。我已经尝试了很多函数,搜索了很多技术,但还没有结果。这是代码和原始图像

img<-readJPEG("img.jpg")
img<-array(img,c(480,640,3))

imgDm <- dim(img)



imgRGB <- data.frame(
  x = rep(1:imgDm[2], each = imgDm[1]),
  y = rep(imgDm[1]:1, imgDm[2]),
  R = as.vector(img[,,1]),
  G = as.vector(img[,,2]),
  B = as.vector(img[,,3])
)


library(ggplot2)

plotTheme <- function() {
  theme(
panel.background = element_rect(
  size = 3,
  colour = "black",
  fill = "white"),
axis.ticks = element_line(
  size = 2),
panel.grid.major = element_line(
  colour = "gray80",
  linetype = "dotted"),
panel.grid.minor = element_line(
  colour = "gray90",
  linetype = "dashed"),
axis.title.x = element_text(
  size = rel(1.2),
  face = "bold"),
axis.title.y = element_text(
  size = rel(1.2),
  face = "bold"),
plot.title = element_text(
  size = 20,
  face = "bold",
  vjust = 1.5)
  )
}

ggplot(data = imgRGB, aes(x = x, y = y)) + geom_point(colour = rgb(imgRGB[c("R", "G", "B")])) +labs(title = "Original Image: Tissue") +xlab("x") +ylab("y") +plotTheme()


kClusters <- 3
kMeans <- kmeans(imgRGB[, c("R", "G", "B")], centers = kClusters)
kColours <- rgb(kMeans$centers[kMeans$cluster,])

kColours[kColours=="#8B8B8B"]<-"#1874CD"
kColours[kColours=="#565656"]<-"#FFFFFF"
kColours[kColours=="#CCCCCC"]<-"#FFFFFF"
ggplot(data = imgRGB, aes(x = x, y = y)) + geom_point(colour = kColours) +labs(title = paste("k-Means Clustering of", kClusters, "Colours")) +xlab("x") +ylab("y") + plotTheme()

img请共享一些代码和一个可复制的示例。请查找上面的编辑,然后告诉我您是否还需要其他内容,或者将数据导入光栅(请参阅package
raster
)。你将能够根据坐标绘制形状。谢谢你的建议。就我所知,关于如何获得黑色像素的特定坐标,你有什么想法吗,您的图像中没有白色或黑色像素?请共享一些代码和一个可复制的示例。请查找上面的编辑,然后告诉我您是否还需要其他内容,或者将数据导入光栅(请参阅package
raster
)。您将能够根据坐标绘制形状。谢谢您的建议。关于如何获得黑色像素的特定坐标,您有何想法?据我所知,您的图像中没有白色或黑色像素?