Kmean 알고리듬을 이용한 벡터양자화(Vector Quantization) 코드북 생성
- 최초 등록일
- 2010.03.04
- 최종 저작일
- 2009.10
- 압축파일
- 가격 2,000원
소개글
Kmean 알고리듬을 이용해서 벡터양자화를 한 후 코드북을 생성한다.
define의 값에 따라 벡터의 차원과 양자화 레벨등을 가변 할 수 있다.
첨부된 샘플 이미지 19장을 이용해서 코드북을 생성한다.
이 프로그램 소스는 단지 코드북만이 txt파일로 생성 하는 것이다.
이미지를 양자화 하는 프로그램은 동일 폴더안에 벡터양자화 소스를 추가적으로 받아서 실행을 해보면된다.
/////////////////////////////////////////////////////////////////////////////////
// Kmeans 알고리즘을 돌려서 iteration된 코드북을 얻는다.
Kmeans(sigOrg2, level, code,count);
// interation된 코드북을 파일에 쓴다.
sprintf(fileStr, "CodeBook_D%d_L%d.txt", VECTOR_DIMENSION, level);
if(NULL==(fp = fopen(fileStr, "w+")))
{
printf("do not read file \n");
return -1;
}
for(i=0; i
for(j=0; j
{
fprintf(fp, "%f ", code[i][j]);
}
fprintf(fp, "\n");
}
fclose(fp);
// 해당된 level까지 interation되면 멈춘다.
if(level >= VECTOR_LEVEL)
break;
level = level + level;
code_copy = (float **)malloc( sizeof(float *) * level);
for(i=0; i
code_copy[i] = (float *)malloc( sizeof(float) * VECTOR_DIMENSION);
for(i=0; i
{
for(j=0; j
{
code_copy[i*2][j] = code[i][j] + DELTA;
code_copy[i*2+1][j] = code[i][j] - DELTA;
}
}
컴파일 실행환경
Visual C++ 6.0, Visual C++ 2005
압축파일 내 파일목록
18.img
source.cpp
0.img
1.img
2.img
3.img
4.img
5.img
6.img
7.img
8.img
9.img
10.img
11.img
12.img
13.img
14.img
15.img
16.img
17.img
참고 자료
없음