zoukankan      html  css  js  c++  java
  • 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课程推荐。
    在这里插入图片描述

  • 相关阅读:
    Java POI Word 写文档
    安装SQL Server Management Studio遇到的29506错误
    DataSet中的relation
    如何在Eclipse中配置Tomcat
    button与submit
    redis应用场景
    机器学习实战-KNN(K-近邻算法)详解
    python中的random扩展
    php函数实现文章列表显示的几秒前,几分钟前,几天前等方法
    HTML5的Video标签的属性,方法和事件汇总
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302806.html
Copyright © 2011-2022 走看看