【问题标题】:What happens to pixels when an image is resized?调整图像大小时像素会发生什么变化?
【发布时间】:2015-06-29 04:48:23
【问题描述】:

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

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

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

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

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

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

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

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

【问题讨论】:

  • 你用什么来调整图像的大小?你在用cv2.resize吗?如果是,则默认情况下会执行双线性插值,以在调整图像大小时对像素进行插值。但是,我不太明白你的问题是什么。您面临的具体问题是什么?
  • 是的,我使用了cv2.resize。我的问题是我无法对最后一张图像中的土地区域进行彻底过滤,并且我得到的输出总是在这些过滤后的土地区域周围有衬里(与顶部的第二张图像相同的问题)
  • 嗯,有道理。原因是因为衬里/网格的颜色与您尝试归零的颜色不同。所以你的目标是从图像中移除陆地块(橙色区域),以及与这些块相交的那些衬里?
  • 是的,我被困在那里了。在我看来,只有更大的图像才能使用我的 1 线过滤器。另外,我的目标是过滤所有土地,并且由于图像中的其他细节与土地颜色相同,我试图最小化要过滤的 BGR 范围,所以我选择了最常见的值,即 @ 987654328@,但会导致留下很多衬里
  • 显示您的确切 resize 代码也会有所帮助。您可以更新您的帖子以反映这一点吗?我假设您也希望水体得到维护?

标签: python image opencv image-processing filter


【解决方案1】:

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

这会搞砸您的过滤器,因为您需要更大范围的土地颜色,而且边界线颜色(黑色)可能会出现颜色伪影。这些工件是在您的示例中过滤后留下的。如果您选择它们​​的颜色,它们应该在您选择的范围之外。

如何修复?

  1. 使用最近邻调整大小

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

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

    因此更改为泛洪填充之类的东西,并填充彼此之间没有太大差异的所有像素。为此,您需要 2 个阈值:

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

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

【讨论】:

    【解决方案2】:

    屏幕上和打印中的图像尺寸

    在屏幕上查看图像时的尺寸与打印时的尺寸不同。如果您了解这些差异,则可以更好地了解在调整图像大小时要更改哪些设置。

    屏幕尺寸

    显示器的屏幕分辨率是它可以显示的像素数。例如,屏幕分辨率为 640 x 480 像素的显示器显示宽度为 640 像素,高度为 480 像素。您可以使用多种不同的屏幕分辨率,而显示器屏幕的物理尺寸通常决定了可用的分辨率。例如,大型显示器通常比小型显示器显示更高的分辨率,因为它们有更多的像素。

    屏幕上的图像尺寸

    图像在您的显示器上显示时具有固定的像素大小。您的屏幕分辨率决定了图像在屏幕上显示的大小。设置为 640 x 480 像素的显示器显示的像素少于显示 1024 x 768 像素的显示器。因此,640 x 480 像素显示器上的每个像素都大于 1024 x 768 像素显示器上显示的每个像素。

    100 x 100 像素的图像在 640 x 480 时占用大约六分之一的屏幕,但在 1024 x 768 时只占用大约十分之一的屏幕。因此,在 1024 x 768 时,图像看起来更小像素高于 640 x 480 像素

    调整图像大小时,以下参数会发生变化 像素尺寸:图像的宽度和高度。 图片尺寸 : 文档尺寸:打印时图像的物理尺寸,包括宽度和高度。 打印时的图像分辨率:此值以每英寸像素数或每厘米像素数显示。

    在 Photoshop 中,图像的物理尺寸、分辨率和像素尺寸计算如下:

    1. 物理尺寸 = 分辨率 x 像素尺寸
    2. 分辨率 = 物理尺寸/像素尺寸
    3. 像素尺寸 = 物理尺寸/分辨率

    有关这方面的更多信息,您可以查看Adobe's Document on Image resizing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-20
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 2019-10-02
      • 1970-01-01
      相关资源
      最近更新 更多