我正在进行一个项目,在那里我查看图像,并且必须在给定图像的情况下识别一些唯一的ID
然而,我遇到了一个问题。如下所示,我有我的主要代码片段。另外我有2个其他文件来处理图像/库的加载和路径变量的处理(因为我们有3个人在处理项目)
当我加载数据并将其转换为所需的格式作为data.frame时,每个图像都是一行数据。 data.frame简单地拒绝使用R中允许的许多操作。
我试图让它打印出第一行的大部分上下文。
数据框大小:
我可以用20行写出每一列。但其他操作失败了,让R和R Studio永远需要“kill -9”才能阻止它们。
我的规格:
磁盘:SSD 250 GB
# Load labels from a specified file
labels <- loadLabels(path = LABEL_FILENAME)
# Fetch 2 whale id's
randomWhaleId <- sample(unique(labels[, 2]), size = 2, replace = FALSE)
# Fetch the file ~ id's
whaleImages <- labels[which(labels[, 2] %in% randomWhaleId), ]
# Import image into R
images <- loadImagesByName(path = IMG_PATH_RESIZED, imagefiles = whaleImages[, 1])
# transform image into grayscale
df_grays <- lapply(images, function(x) channel(x, "gray"))
# extract data frames from the image object and convert to list (2d -> 1d)
df_grays <- lapply(df_grays, function(x) as.list(imageData(x)));
# Convert list to data frame
df_grays <- data.frame(rbindlist(df_grays))
# adding info columns
df_grays <- cbind(df_grays, whaleImages)
# Runs perfectly fine
for(i in 1:ncol(df_grays)) {
print(i)
print(df_grays[,i])
}
# Runs forever
write.csv(x = df_grays, file = "/tmp/images.csv")
# Start H2O server
localH2O = h2o.init(nthreads = 6)
# send to h2o (didn't work either)
df_grays_h2o <- as.h2o(localH2O, df_grays)