본문내용
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
64
67
64
59
62
70
78
6
55
67
89
98
88
74
69
60
50
70
119
141
116
80
64
69
51
71
128
149
115
77
68
74
53
64
105
115
84
65
72
76
57
56
74
75
57
57
74
83
69
59
60
61
61
67
78
93
81
67
62
69
80
84
84
7) 양자화된 계수를 역양자화한 값 8) 복원된 값
Ⅴ. DCT 변환 화상 및 결과 데이터
1. 원화상 및 DCT변환 후 화상
그림 5. 원화상 및 위와 아래의 DCT계수
그림 5. 원화상 및 위와 아래의 DCT계수
그림 6. 원화상 DCT 변환후
◑ 부록◐
1. DCT 의 수학적 정의
1-D DCT
FDCT ;forward discrete cosine transform
IDCT ;inverse discrete cosine transform
2-D DCT
FDCT
IDCT
u=0인 경우
u≠0인 경우
v=0인 경우
v≠0인 경우
여기서 f(x, y)는 입력 화상, F(u,v) 는 변환 결과(변환 화상)이된다. 2차원 DCT는 1차원 DCT를 가로방향과 세로 방향으로 행하는 것으로 2회 코사인을 곱함으로써 변환하고 있다. x 및 u 가 수평방향을 , y 및 v가 세로 방향을 나타내고 있다. F(u, v)는 주파수마다의 기본 화상의 계수가 되고 있다. 즉 변환 화상은 원래의 화상을 주파수별고 분해한 경우의 성분의 크기를 나타내고 있다.
2. Matlab을 이용한 JPEG 압축
1) Image(화상) 파일을 여는 프로그램
function showgray(imagefile)
% showgray (imagefile) for image reading and dispalying
% imagefile size 256x256 1 byte per pixel
% Example Usage : assuming that the image file is 'image01.dat'
%% Expression : showgray('image01.dat')
column=256;
row = 256;
fid=fopen(imagefile,'rb');
[A,count]=fread(fid,[column,row],'uchar');
fclose(fid);
A=A'./4;
image(A);
colormap(gray);
axis equal;
axis off;
clear
2) 2-D DCT 변환 프로그램
function S=dct2(A,N)
% S=dct2(A,N) performs the NxN-point DCT
k=0:N-1;
n=0:N-1;
D=cos(pi*k'*(n+0.5)./N)*sqrt(2/N);
D(1,:)=D(1,:)/sqrt(2);
%
S=D*A*D';
다음은 위 두 프로그램을 연결하여 size 256×256을 갖는 image file 에서, 임의의 points (size 8×8)를 지정하여 DCT 변환한 전체 프로그램과 그 결과치를 나타내 준다.
function S=dct2(imagefile,N) % 2차원 DCT 변환을 의미한다
column=256;
row =256; %column 과 row 를 256으로고정한 값 fid=fopen(imagefile,'rb'); %이미지 파일을 읽는다. read bytes
[A,count]=fread(fid,[column,row],'uchar'); fclose(fid);
A=A.'/4;% the tranpose and scaling
Au=A(0:7,0:7)
Ad=A(248:255,200:207) ;
k=0:N-1;
n=0:N-1;
D=cos(pi*k'*(n+0.5)./N)*sqrt(2/N);
D(1,:)=D(1,:)/sqrt(2);
S=D*Ad*D'
image(S);% => display
colormap(gray);% gray scale선택 (흑백)
axis equal; % 화상의 size를 같은 크기로 해줌
axis off; % 가로 세로축의 숫자를 생략
clear % 메모리 반납
3. 화상에 대한 DCT변환 및 양자화 IDCT 변환 프로그램
function S=dct1 (imagefile)
column=256;
row=256;
fid=fopen(imagefile,'rb'); % Image file 을 읽는다
[A,count]=fread(fid,[column,row],'uchar');% 0 ~255 값으로 변환후 행렬 A 에 배열 fclose(fid);
A=A';
SSS=[];
SS=[];
for i=1:8:249;% 각각의 8 * 8 block 에 DCT 실행
for j=1:8:249;
a=A(i:i+7,j:j+7);
k=0:7;
n=0:7;
D=cos(pi*k'*(n+0.5)./8)*sqrt(2/8);
D(1,:)=D(1,:)/sqrt(2);
S=D*a*D';% S 는 DCT 계수
image(S);
colormap(gray);
axis equal;
axis off;
SS=[SS,S];
end
SSS=[SSS;SS];
SS=[];
end
image(SSS)
colormap(gray);
axis equal;
axis off;
clear
◑ 참고문헌 ◐
[1] 전제창 역 (후지와라 히로시 저),“ 최신 MPEG ", 교보문고, 1998
[2] 박한종 역, “ HDTV, CD, I 팩시밀리를 탄생시킨 화상압축기술 ”, 성안당 , 1996
[3] 이양범, 강경일, 이용중 공편, “ 화상처리 응용기술 ”, 지문사, 1995
[4] William B. Pennebaker & Joan L. Michell, "JPEG STILL IMAGE DATA COMPRESSION STANDARD", VAN NOSTRAND REINHOLD, 1993
[5] Howard E.Burdick, " Digital Imaging Theory and Applications ", Mc Graw Hill, 1997
[6] Matlab 완벽이해
[7] Matlab (전자공소학회용)
[8] 김영진, “VIBLE ver6.x” , 영진출판사
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
64
67
64
59
62
70
78
6
55
67
89
98
88
74
69
60
50
70
119
141
116
80
64
69
51
71
128
149
115
77
68
74
53
64
105
115
84
65
72
76
57
56
74
75
57
57
74
83
69
59
60
61
61
67
78
93
81
67
62
69
80
84
84
7) 양자화된 계수를 역양자화한 값 8) 복원된 값
Ⅴ. DCT 변환 화상 및 결과 데이터
1. 원화상 및 DCT변환 후 화상
그림 5. 원화상 및 위와 아래의 DCT계수
그림 5. 원화상 및 위와 아래의 DCT계수
그림 6. 원화상 DCT 변환후
◑ 부록◐
1. DCT 의 수학적 정의
1-D DCT
FDCT ;forward discrete cosine transform
IDCT ;inverse discrete cosine transform
2-D DCT
FDCT
IDCT
u=0인 경우
u≠0인 경우
v=0인 경우
v≠0인 경우
여기서 f(x, y)는 입력 화상, F(u,v) 는 변환 결과(변환 화상)이된다. 2차원 DCT는 1차원 DCT를 가로방향과 세로 방향으로 행하는 것으로 2회 코사인을 곱함으로써 변환하고 있다. x 및 u 가 수평방향을 , y 및 v가 세로 방향을 나타내고 있다. F(u, v)는 주파수마다의 기본 화상의 계수가 되고 있다. 즉 변환 화상은 원래의 화상을 주파수별고 분해한 경우의 성분의 크기를 나타내고 있다.
2. Matlab을 이용한 JPEG 압축
1) Image(화상) 파일을 여는 프로그램
function showgray(imagefile)
% showgray (imagefile) for image reading and dispalying
% imagefile size 256x256 1 byte per pixel
% Example Usage : assuming that the image file is 'image01.dat'
%% Expression : showgray('image01.dat')
column=256;
row = 256;
fid=fopen(imagefile,'rb');
[A,count]=fread(fid,[column,row],'uchar');
fclose(fid);
A=A'./4;
image(A);
colormap(gray);
axis equal;
axis off;
clear
2) 2-D DCT 변환 프로그램
function S=dct2(A,N)
% S=dct2(A,N) performs the NxN-point DCT
k=0:N-1;
n=0:N-1;
D=cos(pi*k'*(n+0.5)./N)*sqrt(2/N);
D(1,:)=D(1,:)/sqrt(2);
%
S=D*A*D';
다음은 위 두 프로그램을 연결하여 size 256×256을 갖는 image file 에서, 임의의 points (size 8×8)를 지정하여 DCT 변환한 전체 프로그램과 그 결과치를 나타내 준다.
function S=dct2(imagefile,N) % 2차원 DCT 변환을 의미한다
column=256;
row =256; %column 과 row 를 256으로고정한 값 fid=fopen(imagefile,'rb'); %이미지 파일을 읽는다. read bytes
[A,count]=fread(fid,[column,row],'uchar'); fclose(fid);
A=A.'/4;% the tranpose and scaling
Au=A(0:7,0:7)
Ad=A(248:255,200:207) ;
k=0:N-1;
n=0:N-1;
D=cos(pi*k'*(n+0.5)./N)*sqrt(2/N);
D(1,:)=D(1,:)/sqrt(2);
S=D*Ad*D'
image(S);% => display
colormap(gray);% gray scale선택 (흑백)
axis equal; % 화상의 size를 같은 크기로 해줌
axis off; % 가로 세로축의 숫자를 생략
clear % 메모리 반납
3. 화상에 대한 DCT변환 및 양자화 IDCT 변환 프로그램
function S=dct1 (imagefile)
column=256;
row=256;
fid=fopen(imagefile,'rb'); % Image file 을 읽는다
[A,count]=fread(fid,[column,row],'uchar');% 0 ~255 값으로 변환후 행렬 A 에 배열 fclose(fid);
A=A';
SSS=[];
SS=[];
for i=1:8:249;% 각각의 8 * 8 block 에 DCT 실행
for j=1:8:249;
a=A(i:i+7,j:j+7);
k=0:7;
n=0:7;
D=cos(pi*k'*(n+0.5)./8)*sqrt(2/8);
D(1,:)=D(1,:)/sqrt(2);
S=D*a*D';% S 는 DCT 계수
image(S);
colormap(gray);
axis equal;
axis off;
SS=[SS,S];
end
SSS=[SSS;SS];
SS=[];
end
image(SSS)
colormap(gray);
axis equal;
axis off;
clear
◑ 참고문헌 ◐
[1] 전제창 역 (후지와라 히로시 저),“ 최신 MPEG ", 교보문고, 1998
[2] 박한종 역, “ HDTV, CD, I 팩시밀리를 탄생시킨 화상압축기술 ”, 성안당 , 1996
[3] 이양범, 강경일, 이용중 공편, “ 화상처리 응용기술 ”, 지문사, 1995
[4] William B. Pennebaker & Joan L. Michell, "JPEG STILL IMAGE DATA COMPRESSION STANDARD", VAN NOSTRAND REINHOLD, 1993
[5] Howard E.Burdick, " Digital Imaging Theory and Applications ", Mc Graw Hill, 1997
[6] Matlab 완벽이해
[7] Matlab (전자공소학회용)
[8] 김영진, “VIBLE ver6.x” , 영진출판사
추천자료
DVD란 무엇인가?
디지털 오디오 포멧에 관한 연구
워드프로세서 필기를 준비하는 학생을위한 요약본~ 2급(3급 포함)
보안업체 사업계획서 - Multi-Eye Service Business Suggestion
디지털 지상파 방송의 특징, 추진현황, 방송 도입의 주요 쟁점에 대한 조사
사무자동화 기술
사무자동화시스템
디지털 관료 키우기
디지털컨텐츠 사업에 대한 이해
IPTV 정의
[멀티미디어][멀티미디어기술]멀티미디어의 정의, 멀티미디어의 배경, 멀티미디어의 특징, 멀...
현대사회와 사이버공간
[방송통신융합]방송통신융합과 방송산업, 방송규제, 방송통신융합과 유료TV, 케이블TV, 방송...
[창업기업][창업기업 세무상식][창업기업 기업가정신]창업기업의 분류, 창업기업의 환경, 창...
소개글