2
我使用成像器包的質心,並想出以下功能:快速計算圖像(或矩陣)
vector_mc <- function(v) {
round(sum(v * 1:length(v))/sum(v))
}
img_mc <- function(img) {
w <- width(img)
h <- height(img)
# sum of all rows
# note that as.matrix(img) is a matrix of w rows and h columns.
row <- rep(0, w)
col <- rep(0, h)
for (i in 1:h) {
row <- row + as.matrix(img)[, i]
col[i] <- sum(as.matrix(img)[, i])
}
c(vector_mc(row), vector_mc(col))
}
事實證明,它退出慢。有更好的方法嗎?
謝謝,ekstroem。通過僅刪除重複重鑄,速度增益非常好,因爲我剛測試了100x100圖像。只是想知道你是否還優化「rowSums(IMG)」和「colSums(IMG)」?再次感謝。 – bruin
'rowSums'和'colSums'是基本R的一部分,並且是'apply'的更快版本。他們通常很快。 – ekstroem
噢,謝謝...對不起,我不知道那:( – bruin