假设我有一个 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 回答
UPDATE
imwrite
(和imread
)自Images包版本0.5(2015年10月)以来已被弃用 . 它们被save
(和load
)取代 .原始答案:
对于BW:
颜色:
为我工作(我有Julia v0.4和Images.jl v0.4.0)