如何使用R计算二进制文件中具有特定值的像素数?

时间:2013-02-19 14:56:12

标签: r

我有一个二进制文件,昏暗的1440 * 720,等于1036800像素。

我想知道:

  

值大于0.5的像素总数中有多少像素?

这是我从二进制文件中读取的代码:

    conne <- file("C:fined.bin","rb")
    sd<- readBin(conne, numeric(), size=4,  n=1440*720, signed=TRUE)
    y<-t(matrix((data=sd), ncol=1440, nrow=720))

1 个答案:

答案 0 :(得分:6)

在计算之前删除NaN值。

sum(sd[!is.nan(sd)] > 0.5)
# [1] 104601

有关非数字值数量的信息,请使用table

table(sd > 0.5, useNA = "always")

# FALSE   TRUE   <NA> 
# 103341 104601 828858
来自count包的

plyr,以数据框形式显示结果。

count(sd > 0.5)
#       x   freq
# 1 FALSE 103341
# 2  TRUE 104601
# 3    NA 828858