首页 文章

使用Julia中的图像导出图像

提问于
浏览
2

假设我有一个 m -by- n -by- 3 数组 Uint8 表示一个图像,其中假定为RGB颜色空间 . 我想使用 Images 包将其导出为每像素24位的PNG图像 . 我怎样才能做到这一点?

我天真地尝试将 imwrite 应用于随机生成的原始数组,如下所示:

imwrite(rand(Uint8,300,300,3),"test.png")

但是,这给出了一个错误,说“mapinfo没有方法mapinfo ...” .

同样,使用

imwrite(rand(Float32,300,300,3),"test.png")

给出了一个错误,说它无法推断颜色空间,我应该使用 AbstractImage 类型 . 因此假设 m -by- n -by- 3 数组自动成为RGB图像( Images 文档引用由于3D和4D图像类型的存在引起的并发症,因为不能自动推断这一点,所以假设 Images 包不舒服) .

如何将数值数组导出为图像?它可以直接完成,还是我需要为数组创建一个包装器?

1 回答

  • 2

    UPDATE

    imwrite (和 imread )自Images包版本0.5(2015年10月)以来已被弃用 . 它们被 save (和 load )取代 .

    原始答案:

    对于BW:

    imwrite(grayim(rand(300,300)),"test.png")
    

    颜色:

    imwrite(convert(Image,rand(300,300,3)),"test.png")
    

    为我工作(我有Julia v0.4和Images.jl v0.4.0)

相关问题