ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ
DESCRIPTION
ΨΗΦΙΑΚΗ ΕΠΕΞΕΡΓΑΣΙΑ ΕΙΚΟΝΑΣ. Τμήμα Πληροφορικης & Επικοινωνιών - ΤΕΙ ΣΕΡΡΩΝ Δρ.Χ.Στρουθόπουλος. Οι στόχοι της ΨΕΕ είναι οι εξής: Η ψηφιοποίηση και κωδικοποίηση εικόνων με σκοπό την αποθήκευση, μετάδοση και εκτύπωσή τους. - PowerPoint PPT PresentationTRANSCRIPT
-
& - ..
-
:
, .
.
-
:
()
/
-
.
-
(picture element, pixel, pel)J JxK I(j,k) k=0,1,2.K-1 j=0,1,2.J-1 (k,j)
-
E (color images): , (RGB).I(k.j)=(IR(k,j), IG(k,j), IB(k,j))IR(k,j), IG(k,j), IB(k,j){0,1,2,...,255} (binary images) I(k,j){0,1} (gray level images)I(k,j)=0,1,...255
-
. C , bits : C=2B B=log2C
bit (bit depth) . J JKB bits.
.
JKBbitsbytes1001001100001250 10010088000010000 RGB1001002424000030000
-
KKJJ pixels/mm2 dpi ( dots per inch : )
-
(Run Length encoding, RLE) (), (connected components) (connected component) (not connected component)
-
(chain coding) (2,2)0, 0, 0, 0, 0, 7, 6, 6, 6, 6, 7, 6, 4, 3, 5, 4, 4, 4, 4, 2, 3, 2, 2, 2, 2, 1. (signature)
-
1
3
4
6
11
1
250250100100
2505010010
2505010010
250100250100
250250250250
102505050
103
504
1006
25011
1
0
0
0
0
2
3
1
250250100100
2505010010
2505010010
250100250100
250250250250
102505050
gH(g)h(g)
1030.125
5040.167
10060.250
250110.458
1.000
1
2
3
-
I(k,j) = [(G-1)P(I(k,j)] P(g) = P(g-1)+ h(g).
6
0
0
0
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
00
00
00
00
00
00
00
00
00
20
00
00
00
50
00
00
00
00
00
00
00
00
00
00
40
10
30
00
00
00
00
00
00
02
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
05
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
04
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
01
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
03
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
00
00
00
00
00
00
00
00
00
20
00
00
00
50
00
00
00
00
00
00
00
00
00
00
40
10
30
00
00
00
00
00
00
02
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
05
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
04
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
01
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
03
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-
1
-
2
-
. . . . .
-
C1C2g
-
- (Otsu)p1+p2=1.=p11+p2212t=107
-
- (Kapur)t=111
-
Kohonenoc(t) = min{oj(t)} wj(t+1)=wj(t)+wj(t)
-
Kohonen
-
. . (edge detection). . , (k,j) (k, j) . , , , , .
-
Laplace
-
1K(k+1,j)- 1K(k,j)= I(k+1,j)-I(k,j)-( I(k,j)-I(k-1,j))= I(k+1,j)-2I(k,j)+I(k-1,j)1J(k,j+1)- 1J(k,j)= I(k,j+1)-I(k,j)-( I(k,j)-I(k,j-1))= I(k,j+1)-2I(k,j)+I(k,j-1) Laplace
12=1-411
-
HUFFMAN 15+15+24+43+72+52+52=54 bits 253=75 bits bits (3=[log27]+1)
gH(g)h(g)1010.042010.045020.088040.1610070.2815050.220050.2251
g10205080100150200h(g)00000000010001001011011
100100100100100200102015010020050501501002002002001501508080808080
-
n=0,1,2
-
132
0
-
n=0n=2n=1g0g1g2fF0F1F2
-
( )
-
1 2 (n1,n2), n1=0,1,,N1-1, n2=0,1,,N2-1. :
-
#include#include#include#include#include/*-------------------------------------------------------------------------*/float dct1d(int k, float *x, int N){ int n; float c=0.0;
if( k == 0 ) { for( n = 0; n < N; n++) c += x[n]; return c/sqrt((float)N); }
for( n = 0; n < N; n++) c += x[n]*cos(M_PI*k*(2*n+1)/(2*N)); return c/sqrt((float)N/2);}
/*-------------------------------------------------------------------------*/float idct1d(int n, float *c, int N){ int k; float x=0; for( k = 1; k < N; k++) x += c[k]*cos(M_PI*k*(2*n+1)/(2*N)); return c[0]/sqrt((float)N) + x/sqrt((float)N/2);}
/*-------------------------------------------------------------------------*/float dct2d(int k1, int k2, float *x, int N1, int N2){ int n1; float *c, cc; char buf[20]; c = (float*)malloc(N1*sizeof(float)); for(n1 = 0; n1
-
Hough = x + y = x + y
-
Hough
-
, . . (pixels,picture-elements) . . erosion() dilation(). pixels -pattern . pixels . - (bilevel ),
-
-
-
(translation) x :()x = {c|c = + x, a A} 2.1 x (1,2) , , A (3,3) + (1,2) = (4,5). A . (computer graphics) ( {1,2}).