python3-scipy图像读取,保存,显示

发布时间:2021-07-27 10:10:22编辑:run阅读(3053)

    Scipy高级科学计算库:和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算、统计分析,所以可以说是基于Numpy之上了。Scipy有很多子模块可以应对不同的应用,例如插值运算,优化算法等等。SciPy则是在NumPy的基础上构建的更为强大,应用领域也更为广泛的科学计算包。正是出于这个原因,SciPy需要依赖NumPy的支持进行安装和运行。

    Scipy是世界上著名的Python开源科学计算库,建立在Numpy之上。它增加的功能包括数值积分、最优化、统计和一些专用函数。 SciPy函数库在NumPy库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。例如线性代数、常微分方程数值求解、信号处理、图像处理、稀疏矩阵等等。

    Scipy是基于Numpy构建的一个集成了多种数学算法和方便的函数的Python模块。通过给用户提供一些高层的命令和类,SciPy在python交互式会话中,大大增加了操作和可视化数据的能力。通过SciPy,Python的交互式会话变成了一个数据处理和一个system-prototyping环境,足以和MATLAB,IDL,Octave,R-Lab,以及SciLab抗衡。   更重要的是,在Python中使用SciPy,还可以同时用一门强大的语言————Python来开发复杂和专业的程序。用SciPy写科学应用,还能获得世界各地的开发者开发的模块的帮助。从并行程序到web到数据库子例程到各种类,都已经有可用的给Python程序员了。这些强大的功能,SciPy都有,特别是它的数学库。

    Scipy是在Python的NumPy扩展上构建的数学算法和方便函数的集合。它通过为用户提供高级命令和类来操作和可视化数据,为交互式Python会话添加了强大的功能。有了SciPy,交互式Python会话就变成了一个数据处理和系统原型环境,可以与MATLAB、IDL、Octave、R-Lab和SciLab等系统相匹敌。


    scipy安装:

    pip install scipy


    scipy显示,保存图片

    from scipy import misc, ndimage
    import matplotlib.pylab as plt
    import imageio
    
    im = misc.face()
    imageio.imsave(r'D:\image_processing\image_material\face.png', im)
    plt.axis('off')
    plt.imshow(im)
    plt.show()

    image.png


    scipy移动坐标,空白部分使用图片填充

    from scipy import misc, ndimage
    import matplotlib.pylab as plt
    
    
    im = misc.face()
    face_shift = ndimage.shift(im,shift=(-300,-200,0), mode='wrap')
    plt.figure(figsize=(10,8))
    plt.axis('off')
    plt.imshow(face_shift)
    plt.show()

    image.png


    scipy旋转图片

    from scipy import misc, ndimage
    import matplotlib.pylab as plt
    
    im = misc.face()
    face_rotate = ndimage.rotate(im, 180)
    plt.figure(figsize=(10,8))
    plt.axis('off')
    plt.imshow(face_rotate)
    plt.show()

    image.png


    scipy缩放图片

    from scipy import misc, ndimage
    import matplotlib.pylab as plt
    
    im = misc.face()
    face_zoom = ndimage.zoom(im,zoom=(0.5, 0.8, 1))
    plt.figure(figsize=(10,8))
    plt.axis('off')
    plt.imshow(face_zoom)
    plt.show()

    image.png


    scipy切割图片

    from scipy import misc, ndimage
    import matplotlib.pylab as plt
    
    im = misc.face()
    face_cut = im[200:500,400:800]
    plt.figure(figsize=(10,8))
    plt.axis('off')
    plt.imshow(face_cut)
    plt.show()

    image.png

关键字