R言語を使った画像処理の復元プログラムの解読を行っているのですが、途中から分からないところがあるので教えていただきたいです。
ソースコード
R言語
library(survey)
library(imager)
n <- 256 #64
n2 <- n*n
img = load.image("House256.jpg") #( "insects.jpg" ) #画像の読み込み
grayimg = grayscale(img) #画像のグレースケール化
subi<-imsub(grayimg,x>=90) #画像のx座標90256画素までのトリミング256画素までのトリミング
subi<-imsub(subi,x<=256)
subi<-imsub(subi,y>=100) #画像のy座標100
subi<-imsub(subi,y<=256)
#subi<-imsub(grayimg,x>= 101)
#subi<-imsub(subi,x<=64)
#subi<-imsub(subi,y>=141)
#subi<-imsub(subi,y<=64)
subih<-subi
subiv<-subi
rsubih<-subi
rsubiv<-subi
rsubi<-subi
#plot(subi)
H <- hadamard(n) #アダマール変換
T <- matrix(0, nrow=n, ncol=n)
suim <- matrix(0, nrow=n, ncol=n)
suiv <- matrix(0, nrow=n, ncol=n)
suih <- matrix(0, nrow=n, ncol=n)
rsuiv <- matrix(0, nrow=n, ncol=n)
rsuih <- matrix(0, nrow=n, ncol=n)
rsui <- matrix(0, nrow=n, ncol=n)
for (i in 1:n){
for(j in 1:n){
if(H[i,j]==0) {T[i,j]=-1} else {T[i,j]=1}
suim[i,j]=subi[i,j,1,1]
}
}
suiv = T %*% suim / n
suih = t( T %*% t(suim) ) / n
#Fukugen
rsuiv = T %*% suiv
rsuih = t( T %*% t(suih) )
rsui = (rsuiv+rsuih)/2
for (i in 1:n){
for(j in 1:n){
rsubi[i,j,1,1]=rsui[i,j]
}
}
#rsubi=(rsubiv+rsubih)/2
ネットや本で調べたのですが、部分的なところしか分かりませんでした。
あなたの回答
tips
プレビュー