【问题标题】:Images loading without full resolution (Julia)没有全分辨率的图像加载 (Julia)
【发布时间】:2021-10-11 14:35:17
【问题描述】:

我的桌面上有一个名为“my_image.nef”的 .NEF 文件。如果我查看图像的细节,我会看到分辨率为 4256x2832:

当我尝试用 Julia 打开它时,我得到一个大小为 120x160 的二维数组。

如何加载全分辨率数组?为什么它加载的原始图像版本要小得多?

【问题讨论】:

  • 如果没有示例图像文件,基本上不可能解决这个问题。
  • @StefanKarpinski 我在filesamples.com/formats/nef 找到了一个示例文件,结果相似。 4288 x 2844 图像作为320 x 212 数组读入,并仅以ImageView.imshow 显示的那么多像素。

标签: image julia resolution


【解决方案1】:

我不是各种 RAW 文件格式的专家,但它可能正在加载 thumbnail preview。有充分的理由希望这可以相当容易地解决:像许多 RAW 格式一样,它似乎是一个 variation on TIFF,而 Julia 的 TiffImages 包是一个非常好的 TIFF 库。有可能您必须专门为 RAW 或 NEF 创建一个“包装程序包”,但这可能最终只是一个相当短的练习,可以拼凑对TiffImages internals 的正确调用系列。我鼓励您在 TiffImages 提交问题以进行讨论。

【讨论】:

    【解决方案2】:

    我最终使用 Julia 命令提示符迭代调用 ImageMagick,将所有 .NEF 文件本地转换为 .PNG 文件,并将 PNG 文件作为数组读取。

    using Glob
    using Shell
    
    filenames = glob(string("*",".NEF"), <IMAGE DIR>)
    for file in filenames
        fname = split(split(file,"\\")[end],".")[1]
        fname1 = string(img_folder, fname, ".NEF")
        fname2 = string(img_folder, fname, ".png")
        cmd = string("convert ", fname1, " ", fname2)
        Shell.run(cmd)
    end
    

    草率,但似乎没有一个整洁的基于 Julia 的包运行良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-11
      • 2015-03-12
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 2017-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多