【问题标题】:Searching for large images made from a low resolution搜索由低分辨率制作的大图像
【发布时间】:2018-02-08 11:56:38
【问题描述】:

我的本​​地驱动器上有许多来自不同来源的产品图片,其中一些图片有点混乱。我说的是分辨率很大的图像,但很明显,这个分辨率是通过从非常小的来源调整图像大小来实现的。

是否有软件或其他东西可以找到这些通常的高分辨率但低质量的图像?感谢您的任何想法。

【问题讨论】:

    标签: image file resolution explorer image-resolution


    【解决方案1】:

    我有一些想法,我将展示我对 ImageMagick 的理解,它安装在大多数 Linux 发行版上并且可(免费)用于 macOS 和 Windows。

    只是为了澄清我在说什么,当图像从较小的图像放大(up-rezzed)时,图像中缺乏高频信息(细节)。这是一个例子:

    技术是这样的。拍摄一张图像,复制它,将其缩小到原始尺寸的一定百分比,然后将其放大并测量它与原始尺寸的差异。这是一个例子:

    magick start.jpg -set option:geom "%G" \( +clone -resize 50% -resize "%[geom]"\! \) -metric MSE -compare -format "%[distortion]" info:
    0.00220709
    

    如果我现在循环执行此操作,我可以获得 MSE(“均方误差”),用于将图像尺寸缩小到 10% 并向上调整,缩小到 20% 并重新调整,降低到 30% 并像这样备份:

    for ((size=10;size<100;size+=10)); do
       distortion=$(magick start.jpg -set option:geom "%G" \( +clone -resize "${size}%" -resize "%[geom]"\! \) -metric MSE -compare -format "%[distortion]" info: 2>&1)
       echo $size $distortion
    done
    

    样本输出

    10 0.00641669
    20 0.00461728
    30 0.00351362
    40 0.0027639
    50 0.00220709
    60 0.00173019
    70 0.00130171
    80 0.000935031
    90 0.000637741
    

    如果再次运行,但将输出重定向到名为 "data" 的文件,则可以使用 gnuplot 绘制它:

    gnuplot --persist -e "set yrange [0:0.01];set title '10: MSE vs Resize Percentage';plot 'data'"
    

    现在,我们来到了真正的重点。如果我为一个从其原始大小的 75% 上调的文件运行绘图,然后再为一个从其原始大小的 50% 上调的文件运行绘图,再为 25% 和 15% 运行绘图,我可以将它们组合成这样的动画:

    希望您可以看到紫色点立即偏离 x 轴(MSE 误差较低),该点对应于图像被放大的原始尺寸百分比。

    因此,我建议您查看图像并找到与可能存在的上调程度相对应的错误阈值,然后针对该阈值测试任何单个图像的错误。

    如果您在 Windows 上,这将是一样的,以上所有代码仅用于生成绘图和数字以制作动画。只需一行即可获得 MSE:

    magick YOURIMAGE -set option:geom "%G" \( +clone -resize "${size}%" -resize "%[geom]"\! \) -metric MSE -compare -format "%[distortion]" info:
    

    【讨论】:

    • 哇,这真的很复杂。我会看看它,看看我能做些什么。现在,我会将您的答案设置为已接受。非常感谢! :)
    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多