gpt4 book ai didi

python - 调整图像大小时像素会发生什么变化?

转载 作者:太空宇宙 更新时间:2023-11-03 21:45:27 24 4
gpt4 key购买 nike

我有这张尺寸为 800 x 600 像素的原始图片

enter image description here

我要做的是将图像调整为 625 x 480 像素并过滤所有陆地区域。我发现土地部分的 BGR 值为 (95,155,212)。这是我用来过滤所有和区域的代码:

image[np.where((image == [95,155,212]).all(axis = 2))] = [0,0,0]

如果我先调整大小,然后过滤,这是输出:

enter image description here

如果我先过滤然后调整大小,我会得到我想要的输出:

enter image description here

所以我的第一个问题是调整大小时图像的像素发生了什么变化?

我有这张尺寸为 712 x 480 像素的原始图片

enter image description here

当我应用过滤来移除土地区域时,我得到的输出类似于从顶部开始的第二张图像。第二个问题,我有什么办法可以解决这个问题吗?

最佳答案

调整大小很可能会将边框颜色更改为介于底色和黑色轮廓之间的颜色。

这会搞砸您的过滤器,因为您需要更高范围的底色,而且边界线颜色(黑色)可能会有颜色瑕疵。这些工件是您的示例中过滤后剩下的。如果您选择它们​​的颜色,它们应该在您选择的范围之外。

如何修复?

  1. 使用最近邻调整大小

    这将保留原样的颜色,但调整大小后的图像不那么漂亮......

  2. 更改过滤器以处理接近的颜色,而不仅仅是颜色范围

    所以改成像flood fill这样的东西,填充所有像素之间没有太大差异。为此你需要 2 个阈值:

    • absolute(颜色范围总大)
    • relative(是相邻像素的最大变化小的一个)

    现在只需为调整大小的图像重新着色或将滤镜功能更改为此...

关于python - 调整图像大小时像素会发生什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31107955/

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