跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 老哥们有没有用过 PIL 处理图像的,遇到一个奇异的问题
未分類
2 4 月 2020

老哥们有没有用过 PIL 处理图像的,遇到一个奇异的问题

老哥们有没有用过 PIL 处理图像的,遇到一个奇异的问题

資深大佬 : ppzbreeze 62

在用 PIL 处理 jpg 图像的时候,我把图像的 RGB 分别设置成 255,255,254,保存成文件,但是再打开之后就变成 255,255,253 了,这是什么奇怪的现象?

def test():
width_qr = img_test.size[0]
height_qr = img_test.size[1]
for i in range(0,width_qr):
for j in range(0,height_qr):
img_test.putpixel((i, j), (255, 255, 254, 1))
img = img_test.convert(“RGB”)
img.save(“F:/p/test2.jpg”)
img_test1 = Image.open(“F:/p/test2.jpg”)
width_test = img_test1.size[0]
heigth_test = img_test1.size[1]
for i in range(0,width_test):
for j in range(0,heigth_test):
data = (img_test1.getpixel((i, j)))
print(data)

大佬有話說 (10)

  • 資深大佬 : MinQ

    jpg 的锅,作为压缩图片,jpg 不保证存储的时候值的一致性。想要保证图片在保存后的一致性,请用 png 格式

  • 資深大佬 : JConlee

    试了一下,jpg 改成 png 就正常了

  • 資深大佬 : jdhao

    应该是 JPG 图片在保存的时候一些压缩算法,更改了像素值。

  • 主 資深大佬 : ppzbreeze

    @MinQ 有时候波动不止 1,可能达到 2-3 甚至 4,看来还是要 png 靠谱些

    @jdhao 老哥有深入研究过这个吗

  • 資深大佬 : qieqie

    jpeg save 的时候可以设置 quality

  • 資深大佬 : nightwitch

    jpg 是压缩格式,涉及到浮点运算和采样,尤其是采样,难免会有波动

  • 資深大佬 : jdhao

    @ppzbreeze 没有深入研究,记得在 stack overflow 看到过,你的需求没说清楚,具体要做什么用呢

  • 資深大佬 : Death

    普通的 jpeg 是有损压缩

  • 資深大佬 : no1xsyzy

    “有损”
    看下 JPEG 的原理就行了
    简单地说,通过了一个低通滤波器

  • 資深大佬 : GrayXu

    因为 PIL save to jpg 有压缩,你搞个正常图进去出来一次就发现细节损失了。指定下 quality 参数就好了

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具