我有一个简单的任务要完成,但是我发现的当前保存功能根本没有帮助我。我要做的只是将灰度图像转换为另一个灰度图像,其强度属于较小的间隔(特别是在 120 到 180 之间)。
我实现了转换(比如改变不同的温标),但是当我保存图像时, scipy.misc.imsave 对其进行标准化。转换是正确的,因为我创建了直方图来显示保存之前的强度,并且它们都位于指定范围之间。
我尝试过其他工具,例如:
imageio.imwrite(path, img)
numpy.save(path, img)
scipy.misc.toimage(img, cmin=120, cmax=180, mode='L').save(path)
我承认最后一个我不太了解参数(我有一个猜测),并且文档没有帮助。有人可以帮我解决这个问题吗?
编辑:我发布代码
def ex3():
I = misc.imread(imgname)
N = numpy.multiply(I , float(12.0/51.0))
N = numpy.add(N, 120)
NEG = I
NEG = numpy.add(NEG, -255)
NEG = numpy.absolute(NEG)
misc.imsave(path, N)
misc.imsave(os.getcwd()+"/a0/results/"+file.replace(path, NEG)
当我切换到 OpenCV 时,图像被完美渲染。但如果可能的话,我想坚持使用 Scipy。