假设我有一个m
-by-n
-by-3
的数组Uint8
它表示一个图像,其中假定使用 RGB 色彩空间。我想使用以下命令将其导出为每像素 24 位 PNG 图像Images
包裹。我怎样才能做到这一点?
我天真地尝试申请imwrite
到随机生成的原始数组,如下所示:
imwrite(rand(Uint8,300,300,3),"test.png")
然而,这给出了一个错误,说“mapinfo没有方法mapinfo...”。
同样,使用
imwrite(rand(Float32,300,300,3),"test.png")
给出了一个错误,说它无法推断色彩空间,我应该使用AbstractImage
改为键入。所以大概是Images
包不舒服假设m
-by-n
-by-3
数组自动是一个 RGB 图像(Images
文档引用了由于 3D 和 4D 图像类型的存在而导致的复杂性,作为不自动推断这一点的原因)。
如何将数值数组导出为图像?可以直接完成吗,还是需要为数组创建一个包装器?
UPDATE
imwrite
(and imread
) 自 Images 包 0.5 版(2015 年 10 月)起已被弃用。它们被替换为save
(and load
).
原答案:
for 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)