假设我有m
- by - n
- by - 3
Uint8
数组Images
表示图像,其中假定为RGB颜色空间。我想使用imwrite
包将其导出为每像素24位的PNG图像。我怎么能这样做?
我天真地尝试将imwrite(rand(Uint8,300,300,3),"test.png")
应用于随机生成的原始数组,如下所示:
imwrite(rand(Float32,300,300,3),"test.png")
然而,这给出了一个错误,说“mapinfo没有方法mapinfo ...”。
同样,使用
AbstractImage
错误地说它无法推断颜色空间,我应该使用Images
类型。因此假设m
- by - n
- by - 3
数组自动为RGB图像(Images
文档,假设{{1}}包不合适引用由于存在3D和4D图像类型引起的并发症,这是不能自动推断出这种情况的原因。)
如何将数字数组导出为图像?它可以直接完成,还是需要为数组创建一个包装器?
答案 0 :(得分:2)
<强>更新强>
imwrite
(和imread
)自映像包版本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)