1

私は「TheArtofRプログラミング」を経験していて、この作品に出くわしました。

# adds random noise to img, at the range rows,cols of img; img and the
# return value are both objects of class pixmap; the parameter q
# controls the weight of the noise, with the result being 1-q times the
# original image plus q times the random noise
blurpart <- function(img,rows,cols,q) {
  lrows <- length(rows)
  lcols <- length(cols)
  newimg <- img
  randomnoise <- matrix(nrow=lrows, ncol=ncols,runif(lrows*lcols))
  newimg@grey <- (1-q) * img@grey + q * randomnoise
  return(newimg)
}

私の質問はラインについてです:

newimg@grey <- (1-q) * img@grey + q * randomnoise

どのようにしnewimg@greyてと同じサイズになるのでしょうかimg@greyrandomnoiseは小さいマトリックスなのでnewimg@grey、画像のどの部分をぼかすかをどのように認識しますか。

私はそれが次のようなものであるべきだと思いました:

newimg <- img
newimg@grey[rows,cols] <- (1-q) * img@grey[rows,cols] + q * randomnoise
4

1 に答える 1

2

本に印刷ミスがあるようです。タイプミスを正しく行った後でも、本のコードが機能しないことを確認しました。ライターにフィードバックを送信しました。正しいピースは次のとおりです。

newimg <- img
newimg@grey[rows,cols] <- (1-q) * img@grey[rows,cols] + q * randomnoise
于 2013-01-15T20:39:12.953 に答える