zoukankan      html  css  js  c++  java
  • 【Python】CV2的一些基本操作

    ·导入:
    import cv2

    ·读取图片:
    img = cv2.imread('路径')

    使用函数cv2.imread(filepath,flags)读入一副图片
    filepath:要读入图片的完整路径
    flags:读入图片的标志
    cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道
    cv2.IMREAD_GRAYSCALE:读入灰度图片
    cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道
    import numpy as npimport cv2img = cv2.imread(‘1.jpg’,cv2.IMREAD_GRAYSCALE)

    ·获取图片大小:
    x, y, z = img.shape

    ·缩放图片:
    cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)
    具体参数:

    InputArray src 输入图片
    OutputArray dst 输出图片
    Size 输出图片尺寸
    fx, fy 沿x轴,y轴的缩放系数
    interpolation 插入方式
    INTER_NEAREST 最近邻插值
    INTER_LINEAR 双线性插值(默认设置)
    INTER_AREA 使用像素区域关系进行重采样。
    INTER_CUBIC 4x4像素邻域的双三次插值
    INTER_LANCZOS4 8x8像素邻域的Lanczos插值

    举个例子:

    img_test = cv2.resize(img, (0, 0), fx=0.25, fy=0.25, interpolation=cv2.INTER_NEAREST)
    img_test = cv2.resize(img_test, (0, 0), fx=4, fy=4, interpolation=cv2.INTER_NEAREST)
    

    ·展示图片:

    cv2.imshow('窗口名', img)
    cv2.waitKey()
    cv2.destroyAllWindows()
    

    ·灰度图彩图转换:
    RGB转灰度:
    img2 = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    灰度转RBG:
    img3 = cv2.cv2Color(img, cv2.COLOR_GRAY2RGB)

    ·解决关闭窗口后程序不停止的问题:还没找到

    ·保存图片:
    cv2.imwrite(filepath, img, flag)
    filepath: 保存路径
    img: 图像
    flag:参数
    可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.
    注意:cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
    cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小。

    ·路径拼接:
    os.path.join()
    os.path.join()函数:连接两个或更多的路径名组件
    1.如果各组件名首字母不包含’/’,则函数会自动加上
    2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃
    3.如果最后一个组件为空,则生成的路径以一个’/’分隔符结尾

    ·补0

    '''
    原字符串左侧对齐, 右侧补零:
    '''
    str.ljust(width,'0') 
    input: '789'.ljust(32,'0')
    output: '78900000000000000000000000000000'
    
    
    '''
    原字符串右侧对齐, 左侧补零:
    方法一:
    '''
    str.rjust(width,'0') 
    input: '798'.rjust(32,'0')
    output: '00000000000000000000000000000798'
    '''
    方法二:
    '''
    str.zfill(width)
    input: '123'.zfill(32)
    output:'00000000000000000000000000000123'
    '''
    方法三:
    '''
    '%07d' % n
    input: '%032d' % 89
    output:'00000000000000000000000000000089'
    

    ·循环:
    for i in range x
    for i in range(3):0 1 2
    for i in range(1, 3):1 2

  • 相关阅读:
    201871010113刘兴瑞《面向对象程序设计(java)》第八周学习总结 201871010113
    201871010113刘兴瑞《面向对象程序设计(java)》第六七周学习总结 201871010113
    201871010113刘兴瑞《面向对象程序设计(java)》第十二周学习总结 201871010113
    201871010113刘兴瑞《面向对象程序设计(java)》第七周学习总结 201871010113
    201871010113刘兴瑞《面向对象程序设计(java)》第十一周学习总结 201871010113
    Adobe Brackets 开源、小巧、简洁的代码编辑器
    Pythonopencv摄像头图像捕获
    Linux 系统安全检查(shell)
    zabbix监控历史数据清理
    2、Ansible在使用过程中出现的错误解决方法
  • 原文地址:https://www.cnblogs.com/kinologic/p/15669248.html
Copyright © 2011-2022 走看看