• 締切済み

画像の自己相関行列

私は画像処理の勉強をしているのですが、 ある本を読んでいると、 ある画像AiがN枚あった(iはAの添え字 i=1,2,・・・N)とき、画像集合の自己相関行列Rは R=1/NΣAi*Ai(T)  A(T)はAの転置行列 Σはi=1からN で定義されるとあったのですが、 ある画像と同じ画像の転置行列で求められた自己相関行列Rというのが、 いったいどのような意味を持つものなのかがわかりませんでした。 わかる方がいらっしゃったら教えていただけないでしょうか?

みんなの回答

  • Earmy-S
  • ベストアンサー率64% (34/53)
回答No.1

 そのご質問の大意とは「自己相関行列とはどの様に利用するものか」と言う意味と解して宜しいでしょうか?そうするならば、以下に提示する参考 URL のページの「3.画像の統計的性質」がお役に立つかと思います。  画像処理…の範疇ではあるんでしょうけど、静止画で考えるのではなく「ある画像AiがN枚あった…」とある通り、映画のフィルムのようなモノを想定すると解り易いのではないでしょうか。  なお、以下の参考 URL は信州大学工学部のページ『画像符号化』です。

参考URL:
http://laputa.cs.shinshu-u.ac.jp/~yizawa/InfSys1/advanced/image_cod/
hirasyan
質問者

お礼

回答ありがとうございます。 参考URLを見させていただいたのですが、 隣接画素間には相関があり、 それを利用して圧縮するというのはわかりました。 しかし、自己相関行列というものが隣接画素間の相関を表しているのなら、 元の画像と転置行列でできた画像を掛け合わせることによって、 なぜ隣接画素の相関になっているのかがよくわかりませんでした。

関連するQ&A

  • 行列の問題です。

    行列の問題です。 A^tはAの転置行列 R^nの2つのベクトル x^t=(x_1,..,x_n) y^t=(y_1,..,y_n) に対して内積<x,y>を Σ_{i=1~n}x_iy_i で定義する。 Aをn×n実交代行列とする。 Bをすべての固有値が正となる実対称n×n行列とする。 (1)任意のベクトルx∈R^nに対して <Ax,x>=0を示せ。 (2)任意のベクトルx∈R^nに対して <Bx,x>≧0であり、 統合はx=0のときに限ることを示せ。 (3)A+Bは正則行列となることを示せ。 よろしくお願いします。

  • 線形代数の行列式と内積の問題です

    nベクトルとmベクトルの内積を〈n,m〉で表す。a∈R^nとする。 n次正方行列A=[a1 a2 a3 ・・・ an]に対して、 det([〈ai aj〉]n×n)=( det(A) )^2 を示せ。 [〈ai aj〉]n×nは、aijを(i,j)成分するn×n行列です。 転置を使って内積を表して証明するらしいのですが、方法がいまいち分かりません。 よろしくお願いします。

  • 『行列の2つの列を入れ替えると行列式はー1倍になる』ことの証明

    お世話になります。よろしくお願いします。 『行列の2つの“列”を入れ替えると行列式はー1倍になる』ことの 証明についてです。 手持ちの参考書には 『行列の2つの“行”を入れ替えると行列式はー1倍になる』ことの 証明は載っていました。 i行とk行を入れ替える時、τ=σ(i k)と置くといううまいやり方でした。 列の入れ替えについては、行の入れ替えに 転置行列の公式detA=det(tA)を用いればよいのですが、 この公式を用いずに直接「2列の入れ替えで行列式がー1倍になる」ことを示したいと思っているのですが、なかなかできずに困っています。 どなたかできる方、よろしくお願い致します。 方針があってないかもしれませんが、以下途中まで自分でやった部分です。 ________________________________________ 行列A=(a_ij)のi列とk列を交換した行列をA'=(b_ij)、 S_nをn次の対称群をします。 detA=Σ[σ∈S_n]sgn(σ)a_1σ(1)・・a_rσ(r)・・    ・・a_tσ(t)・・a_nσ(n) σ(r)=i, σ(t)=kとする。またσ(-1)はσの逆置換とする。 b_1σ(1)・・b_rσ(r)・・b_tσ(t)・・b_nσ(n) =b_1σ(1)・・b_ri・・b_tk・・b_nσ(n) =a_1σ(1)・・a_rk・・a_ti・・a_nσ(n) =a_1σ(1)・・a_σ^(-1)(i)k・・a_σ^(-1)(k)i・・a_nσ(n) ________________________________________ よろしくお願い致します。 

  • 表現行列

    Vを実数に係数を持つ2次以下の多項式全体が成すベクトル空間とする。すなわち、 V={a+bx+c*x^2|a、b、c∈R} である。tを0≦t なる定数とし、線形変換T :V→V を T(f(x))=f(1+tx)により定義する。 Vの基底1、x、x^2に関するTの表現行列を求めよ。 という問題があります。一般に、、、、 【線形写像f:R^n→R^mに対して、(m,n)型の行列Aがただひとつ定まり、 x'=f(x)=Axと表せる。(x∈R^n, x'∈R^m) この行列Aを、線形写像fの表現行列という。】 表現行列はこのように定義されていますから、この問題の場合 t^(T(1),T(x),T(x^2))= (1,0,0) (1,t,0) (1,2t,t^2) * t^(1,x,x^2) となるため、求める表現行列Aは (1,0,0) (1,t,0) (1,2t,t^2) となるかと思っていたのですが、解答には、これを転置した行列が書いてありました。 (1,1,1) (0,t,2t) (0,0,t^2) となっていました。 なぜこうなるのか理屈が分からないのですみませんが教えてください。

  • 【数値解析】行列の可約、既約の判別法【差分法】

    現在、微分方程式の数値計算の差分法の計算をしています。 行列計算にあたり、参考資料を読み返しても今一理解できないところがあったので、どなたかご教示ください。 ----- n次行列A=a[i][j]がn>=2に対して、自然数集合N={1,2,...,n}の真部分集合J≠∅を適当に選んでi∈J,j∉Jなら[i][j]=0とできるとき、Aは可訳であるという。 これは適当な順列行列P(各行各列に1がちょうど1つ他は0)を選んで、P^tをPの転置行列とすると、 P^tAP={A[1][1],A[1][2]}    (Oは零行列)      { O   ,A[2][2]}    (A[i][j]は行列。i=jならA[i][j]は正方行列) の形にできることと同意である。また、n=1でA=Oを可訳と定義する。 Aが可訳でない時、既約という。n=1のときは、A≠Oを既約という。 ----- らしいのですが、これは具体的にどういう意味なのでしょうか。 真部分集合など言葉の意味はわかるのですが、では何を示すのかといわれると漠然としており、うまくできません。 たとえば {2,-1,0} {-1,2,0} {0,0,2} この行列は可約ですか?既約ですか? {2,-1,0} {-1,2,-1} {0,-1,2} この行列はどうでしょうか。考え方も教えてください。 どなたかご教示のほど、どうかよろしくお願いします。

  • 転置行列 証明 行列の積

    転置行列の証明について疑問点があるので 質問させて頂きます。 t(AB)=t(B)t(A) の証明について。以下に示します。 行列 A の (i,j) 成分を A[i,j] と書くことにします。 行列Bも同様。 (t(AB))[i,j] = (AB)[j,i] = Σ A[j,k] B[k,i] = Σ (tA)[k,j] (tB)[i,k]  …(1) = Σ (tB)[i,k] (tA)[k,j]  …(2) = ((tB)(tA))[i,j] よって、 t(AB) = (tB)(tA) (1)についてよくわかりません。 行列の積は、 (l,m)行列と(m,n)行列の積は(l,n)行列と定義されますが (1)は(m,l)行列と(n,m)行列の積を計算することに ならないのでしょうか? (m,l)行列と(n,m)行列の積は定義されないので等式でつないでは いけないのでは?と考えた次第です。 以上、ご指摘、ご回答よろしくお願い致します。

  • 行列、固有値

    2×2の行列Z=aI+bJを考える。 ただし、I=|1 0|および、J=|0 1|である。        |0 1|     |-1 0|   また、aとbは実数であり、aとbが同時に0になることはないとする。 (1)Z[t]を計算し、a,b,I,Jで表せ。ここで添え字[t]は行列の転置を表す。 これはZ=(a b)Z[t]=(a -b)であるので       (-b a)    (b a) Z[t]=aI-bJでよいでしょうか?? (2)Zの逆行列を求め、a,b,I,Jで表しなさい。 Z^-1=1/(a^2+b^2)(a -b) なので             (b a)    1/(a^2+b^2)*(aI-bJ)でよいでしょうか?? (3)JとZの固有値を求めなさい。 J=(0 1)なので|A-xE|=0より|-x 1| =0 (-1 0)             |-1 -x|  従ってx^2+1=0 x^2=-1 x=±i なので Jの固有値は i と -i  でよいでしょうか?? Z=(a b) |a-x b |=0 (a-x)^2+b^2=0 ここから、因数分解できないためもとめることができません。 (-b a)  |-b a-x| 長々と書いてしまいすみません。よろしくお願いします。

  • 転置行列と行列の和

    初めまして。 大学の授業でプログラミングのC言語を勉強しています。 4月からプログラミングを始めたばかりで、まったくの初心者です。 転置行列が作れなくて困っているのですが、 .datのファイルから転置させるのが上手くできません。 《kadai1.datの3行4列の行列Aと、kadai2.datの4行3列行列Bがある。 行列A、行列B、行列Aの転置行列を出力し、 行列Aの転置行列と行列Bの和を出力するプログラムを作る。 kadai1.datとkadai2.datは自分で作る。》 で、途中まで作ったのが以下です。 #include <stdio.h> #include <stdlib.h> #define ROW   3 #define COLUMN 4 int main(void) { FILE *fp; double a[ROW][COLUMN], b[ROW][COLUMN]; int i, j; if ( ( fp = fopen( "kadai1.dat", "r" ) ) == NULL ) { printf("ファイルが見つかりません : kadai1.dat \n"); exit(1); } printf("行列Aは次の通りです\n"); for ( i = 0 ; j < COLUMN ; j++) { scanf (fp, "%lf", &a[i][j]); printf ("%5.2f\t", a[i][j]); } printf("\n"); } if ( ( fp = fopen( "kadai2.dat", "r" ) ) == NULL ) { printf("ファイルが見つかりません : kadai2.dat \n"); exit(1); } printf("行列Bは次の通りです\n"); for ( i = 0 ; j < COLUMN ; j++) { scanf (fp, "%lf", &a[i][j]); printf ("%5.2f\t", a[i][j]); } printf("\n"); } return 0; } \の半角が出なかったので¥になってます。 (ごめんなさい!!) 上のプログラムで、行列Aと行列Bが出力できたのですが、転置と和のプログラムが出来ていません。 kadai1.datが、 1 2 3 4 5 6 7 8 9 10 11 12 kadai2.datが、 13 14 15 16 17 18 19 20 21 22 23 24 にしてみました。a1 a2 … c3 c4、でやってる人もいるみたいですが具体的な数字で作ろうと思っています。 お手数おかけしますが具体的にお答えいただければ幸いです。 どうぞよろしくお願いいたします。

  • 転置行列 証明

    転置行列 証明 t(AB)=t(B)t(A) の証明について。 (l,m)行列をAとしてAの(i,j)成分をa(i,j) (m,n)行列をBとしてBの(i,j)成分をb(i,j) 2つの行列の積の(i,j)成分は Σ[k=1~m]a(ik)b(kj)と定義されます。 ABの転置行列t(AB)の(i,j)成分t(AB)(i,j)=(AB)(j,i) よって、 Σ[k=1~m]a(jk)b(ki)・・・(1) =Σ[k=1~m]t(a(jk))t(b(ki))・・・(2) =Σ[k=1~m]a(kj)b(ik)・・・(3) =Σ[k=1~m]b(ik)b(kj)・・・(4) =t(B)t(A) 上は参考書などでよく見る証明なのですが、(3)ってそもそも計算できるのですか? (1)~(4)までの流れは理解できるのですが、(3)を等式でつないでいいのかと気になりました。 (l,m)行列と(m,n)行列の積は(l,n)行列と定義されますが、(3)とは関係ないのでしょうか? ご回答よろしくお願い致します。

  • 線形代数 正定値行列について

    A=PP^t , B=QQ^t というn×n行列があります。 P^t , Q^t はそれぞれPとQの転置行列を表しています。P,Qともにn×nの正方行列です。 また行列式|A|と|B|は共に正です。 この時、行列ABというのは正定値行列になるのでしょうか?