• cv2.resize()和transform.resize()的区别


    欢迎关注WX公众号:【程序员管小亮】

    常见的两种图片裁剪方式cv2.resize()transform.resize()

    1、cv2.resize

    通过cv2.resize()裁剪后的图片还是以numpy array的方式保存的, 数值的取值范围是(0~255)。

    cv2.resize(src,dsize,
    	dst=None,
    	fx=None,
    	fy=None,
    	interpolation=None
    )
    

    参数:

    • scr:原图

    • dsize:输出图像尺寸

    • fx:沿水平轴的比例因子

    • fy:沿垂直轴的比例因子

    • interpolation:插值方法

    import cv2
    import matplotlib.pyplot as plt
    from skimage import transform 
    import numpy as np
    import skimage.io as io  
     
    train_dir = 'C:\Users\Administrator\代码TRY\1.jpg'
    
    '''以cv2.imread方式读取图片并使用cv2.resize形式裁剪图片'''
    img = cv2.imread('McGrady.jpg')
    img = cv2.resize(img, (208, 208), interpolation=cv2.INTER_CUBIC)
    plt.imshow(img) 
    

    2、transform.resize

    通过transform.resize()裁剪后的图片是以float64的格式存储的,数值的取值范围是(0~1)。

    skimage.transform.resize(image, 
    	output_shape
    )
    

    参数:

    • image:需要改变尺寸的图片

    • output_shape:新的图片尺寸

    通常在制作tfrecord数据集的过程中,我们需要将其转换成numpy array的形式,具体代码如下:

    import cv2
    import matplotlib.pyplot as plt
    from skimage import transform 
    import numpy as np
    import skimage.io as io  
     
    train_dir = 'C:\Users\Administrator\代码TRY\1.jpg'
    
    '''以io.imread方式读取图片并使用transform形式裁剪图片'''
    # 读图并显示。
    image = io.imread(train_dir)
    plt.imshow(image)
    image =transform.resize(image, (208, 208))
    # 将图片的取值范围改成(0~255)。
    img = image * 255
    img = img.astype(np.uint8)   
    plt.imshow(img) 
    

    python课程推荐。
    在这里插入图片描述

  • 相关阅读:
    Centos7 Crontab
    Centos7 php-fpm root 运行,执行 kill 等系统命令
    Centos7 安装系统服务、开机自启动
    CentOS7 安装Python3,开发SocketIO 客户端
    Centos7.6 安装DNS服务器
    exerunexplorer.exe
    Web GIS 离线地图
    DataGridView中添加CheckBox列用于选择行
    Android WebView Demo
    上海华魏光纤传感科技有限公司 招聘 《.NET研发工程师》
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302806.html
Copyright © 2020-2023  润新知