imwrite

时间:2015-07-29 07:15:39

标签: julia

我是Julia的新手,当我执行以下代码时,我无法解释这个InexactError()的来源:

ImBin=rgb2bin(im); # convert image into binary image with own function returns Array{Float64} at the moment
ImBin=round(ImBin); 
ImOut=grayim(ImBin);
imwrite(ImOut,"ImOut.png");

我写了另一个功能,它可以正常工作:

ImArray=convert(Array{Float64}, ImInput); #ImInput is a BitArray
Im=grayim(ImArray);
imwrite(Im,"Im.png");

第一个代码块的错误消息:

ERROR: InexactError()
 in _map_a! at /root/.julia/v0.3/Images/src/map.jl:372
 in map! at /root/.julia/v0.3/Images/src/map.jl:364
 in image2wand at /root/.julia/v0.3/Images/src/io.jl:341
 in imwrite at /root/.julia/v0.3/Images/src/io.jl:189
 in main at /home/user/Desktop/julia/Test.jl:35
 in include at ./boot.jl:245
 in include_from_node1 at loading.jl:128
 in process_options at ./client.jl:285
 in _start at ./client.jl:354

提前致谢, 迎接clax

1 个答案:

答案 0 :(得分:1)

可能会警告您有关图片的内容超出0.0 <= x <= 1.0的范围。您可以手动裁剪图片,或通过添加mapi关键字强制它为您执行此操作:

imwrite(ImOut, "ImOut.png", mapi=mapinfo(Clamp, ImOut))

如果没有解决问题,请在Images.jl处打开一个问题,包括重现错误的完整方法。