Administrator
Published on 2025-04-27 / 93 Visits
0
0

AI生成图像像素与量化等级动态演示的代码

图像编码这一个知识点的难点在于没有一个软件能方便的展示图像像素点颜色量化等级对图像的影响。因此利用AI生成一个软件来可视化展示图像像素量化等级对图像的影响。为了方便观察像素,附加图像缩放功能。最后软件的效果如下动图所示。

这次采用的是豆包软件。第一次提问如下:

“提供一个python程序,实现以下功能,有一个按钮”打开文件“,点击”打开文件“按钮后能弹出对话框,用来选择图像文件,选择后打开图像。还有一个”放大倍数“的滑块,拖动”放大倍数“滑块,图像能放大缩小。还有一个”量化位数“滑块,拖动”量化位数“滑块,能改变图像的颜色量化级别。还有一个”复位按钮“,点击”复位按钮“按钮,图像能回到初始状态,滑块也都回到初始状态。”

代码生成比DS快很多,可能是因为没有使用长思考的原因。除了给出代码,还给出了代码的框架结构,还贴心的给了一个下载的按钮,方便直接保存代码。代码采用class“类”的方式编写,没有明确指出要标注释,代码没有给出详细的注释。运行的效果如下:

这个效果不好,窗体太小,因此继续追问:“设置成一运行窗体就是最大化的”

得到的结果,只需添加一行代码就行。本人尝试用百度搜索同样的问题,要让程序运行后直接打开成最大化的窗体,得到的代码都太复杂,要调用其他函数,得到系统桌面的分辨率,然后才通过计算设置窗体的大小。相比之下豆包一行代码,一个函数,一个简单参数搞定,代码非常高效。

又发现豆包提供另一个贴心的功能,代码加了版本号“V2”

现在虽然窗体最大化了,但是按钮布局不合理,是垂直分布的,浪费很多空间。需要将代码做成水平布局的。

继续追问豆包:“将按钮和滑块放在同一行而不是上下排列”

现在第三版的代码运行结果如下:

效果已经出来了,能够放大缩小图片,能够看到图像颜色量化位数的改变后的图像结果。

但是还是有如下问题:
1. 放大倍数滑块用拖动时,整个画面缩放,滑块位置跟着变,滑动过程抖动厉害。

2. 量化等级数量不对,实际显示的是颜色数量。

继续追问:

最后得到结果如下:

V5版本代码运行效果如下:

经过五次追问,正确显示了像素量化等级的二进制位数,对应的颜色总数,显示了量化等级改变后的图像效果。

 

 

 


Comment