我被指派使用Shannon-Fano技术对图像进行编码和解码。我将用Matlab写作。
我能够在Matlab中访问图像的数据数组,所以我可以看到每个像素的值。我理解使用Shannon-Fano技术处理文本的基础知识,但不了解图像。
我是否需要遍历每个像素并计算每个像素值的出现次数?
感谢您指点我正确的方向。
答案 0 :(得分:4)
想象一下,这张照片实际上是一个文字,每个像素都是一个字母。如果你有8位图片,那么你可能有256个不同的字母。你如何用256个不同的字母编码文本?是的,就像你用26个不同的字母或5个不同的字母编码文本一样。
在每种情况下,您要做的是制作直方图,根据每个值的频率对其进行排序,然后对图像/文本进行编码。所以是的,你必须计算每个像素值。祝你好运!
答案 1 :(得分:1)
是的,因为您需要每个可能像素值的频率。如果需要快速,您还可以尝试采用较小的样本并估算频率。这里最简单的方法是创建一个与可能值的数量相同的整数数组。而对于文本,符号将是单词或字母,而对于图像,符号是每个像素的值。