opencv - OpenCV cv::resize()可以更改图像的最小值和最大值吗? (使用INTER_LINEAR方法)

标签 opencv image-processing image-resizing opencv3.0 linear-interpolation

假设我有一个灰度图像(640×480尺寸),最小像素强度= 23,最大强度= 245。

如果我使用cv::resize()INTER_LINEAR将其大小调整为1920×1080,最小和最大强度可以改变吗?我的最小强度变成了25,最大强度变成了247。任何可能的错误用法导致此?

是否可以将cv::resize限制为仅在最小最大值内调整大小?

我尝试用NORM_MINMAX和原始最小最大值调整大小后对图像进行归一化,但结果看起来并不相同。我没有选择使用INTER_NEAREST。它看起来非常模糊。

我想保留原始的最小最大值,但使用INTER_LINEAR调整大小。可能吗?

最佳答案

不,我认为使用插值法的任何方法都无法保持最小值/最大值。有关更多信息,请参见Bilinear interpolation并了解为什么在调整大小后的图像中不再存在最小值/最大值。

如果要保留原始的最小值/最大值,则必须手动过帐,而不保证视觉效果良好。

可能的解决方案:

  • INTER_LINEAR调整大小的一幅图像
  • 另一个与INTER_NEAREST一起
  • 将两个图像融合在一起:
  • I_res(i,j)=I_near(i,j)
  • I_near(i,j)==min or max否则

  • 但是,这样一来,您就会迷惑用于线性插值的公式。

    关于opencv - OpenCV cv::resize()可以更改图像的最小值和最大值吗? (使用INTER_LINEAR方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43625873/

    相关文章:

    android - 如何检测墙壁的长边以准备 mask 和重新着色

    python - 像素坐标和颜色未显示

    image-processing - 如何告诉 Tesseract 我的字体具有特定大小?

    java - SWT:从图像中获取子图像

    php - 性能改进 PHP GD 调整大小和修剪图像背景以保持正确的比例

    IOS如何根据实际图像比例调整图像大小并提供自定义尺寸?

    java - 如果你想用 Java 开发,OpenCV vs ImageJ 选择哪一个?

    python - 如何从图像中裁剪出最大的矩形

    c++ - DCT 实现的问题