2011-08-18 4 views
0

Shannon-Fano 기술을 사용하여 이미지를 인코딩하고 디코딩하도록 지정되었습니다. 나는 Matlab에 글을 쓸 것이다.Shannon-Fano 이미지 인코딩

Matlab에서 이미지의 데이터 배열에 액세스 할 수 있으므로 각 픽셀의 값을 볼 수 있습니다. 샤논 - 파노 기법을 텍스트로 사용하는 기본 개념을 이해하지만 이미지는 이해하지 못합니다.

각 픽셀을 반복하고 각 픽셀 값의 발생 횟수를 계산해야합니까?

올바른 방향으로 나를 안내해 주셔서 감사합니다.

답변

4

이 사진이 실제로 텍스트이고 모든 픽셀이 문자라고 상상해보십시오. 8 비트 그림이있는 경우 256 자의 문자가있을 수 있습니다. 256 개의 다른 문자로 된 텍스트를 어떻게 인코딩합니까? 예, 26 개의 다른 글자 또는 5 개의 다른 글자로 텍스트를 인코딩하는 것과 완전히 똑같은 방법입니다.

각각의 경우에 원하는 것은 히스토그램을 만들고 각 값의 빈도를 기준으로 정렬 한 다음 이미지/텍스트를 인코딩하는 것입니다. 그래서 예, 각 픽셀 값을 계산해야합니다. 행운을 빕니다!

+0

도움 주셔서 대단히 감사합니다! 내가 이것을 할 때 나는 이것을 확실히 고려할 것이다. – ardavis

1

예, 가능한 각 픽셀 값의 빈도를 원합니다. 빠른 샘플링이 필요한 경우 작은 샘플을 취하여 주파수를 예측할 수도 있습니다. 가장 간단한 방법은 가능한 값의 수와 같은 크기의 int 배열을 만드는 것입니다. 텍스트의 경우 기호는 단어 또는 문자가 될 것이지만 이미지의 경우 기호는 각 픽셀의 값입니다.

+0

감사합니다. 이미지 작업을하겠습니다. 잠재적으로 전체 배열을 살펴보고 값을 세는 데 오랜 시간이 걸리고 다시 배열을 통해 인코딩한다고 생각합니다. 그러나 이것은 합리적입니다. – ardavis

+0

적어도 컴퓨터는 그리 길지 않습니다. 그러나 이것이 예상되는 이미지는 몇 줄의 텍스트보다 훨씬 많은 정보를 전달합니다. 결국 그림은 천 단어의 가치가 있습니다. – Jems

관련 문제