gpt4 book ai didi

c++ - 图片熵计算

转载 作者:行者123 更新时间:2023-11-30 04:36:47 25 4
gpt4 key购买 nike

我的录音机遇到了一些棘手的问题。有些人仍在将其与模拟调谐器一起使用,如果没有信号,模拟调谐器往往会吐出“雪花”。

问题在于,当噪声被输入编码器时,它会变得非常疯狂,首先会消耗所有 CPU,然后最终停止运行。由于记录器的要点是无论如何都要保持正常运行,所以我必须弄清楚如何进行此操作,这样编码器就不会暴露于它无法处理的数据。

因此,想法是创建“熵检测器”——一个简单的小型例程,它将遍历帧缓冲区数据并计算熵指数,即图片中的数据实际上是如何随机的。

例程的结果将是一个数字,0 表示完全是背面图片,1 表示完全随机的图片 - 雪。

例程本身应该只向前扫描,很少有适合寄存器的局部变量。

我可以使用 zlib 或 7z api 来完成这样的任务,但我真的很想自己做点东西。

有什么想法吗?

最佳答案

PNG 以这种方式(近似)工作:对于每个像素,将其值替换为它所具有的值减去留给它的像素值。从右到左执行此操作。

然后您可以通过制作一个值现在出现的频率的表格来计算熵(每个字符的位数),从这些绝对值中得出相对值并为每个元素添加 log2(n)*n 的结果。

哦,您必须分别为每个颜色 channel (r、g、b)执行此操作。

对于结果,取 channel 每个字符的位数的平均值并将其除以 2^8(假设每种颜色有 8 位)。

关于c++ - 图片熵计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4358258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com