zoukankan      html  css  js  c++  java
  • OpenCV截图

    背景:画框置信度需要用引擎提供的图片来进行验证,就拿到了引擎给的图片,但是业务需要验证多图片不拼接的场景下的数据。只能吧拼接后的图片截开了...

    1. 工具

      安装opencv用于图片处理

      pip install opencv-python
      
    2. 简单使用

    import cv2
    # 读取图片
    img=cv2.imread(file_path)
    # 获取图片宽高
    h,w,_=img.shape
    # 图片展示
    cv2.imshow(‘img_name’,img)
    # 切图[开始高度,结束高度,开始宽度,结束宽度]
    cut_pic=img[sh:eh,sw:ew]
    # 图片保存
    cv2.imwrite(file_path,img,[类型])
    
    1. 遇到问题:路径中包含中文是无法直接读取的,,,百度方法如下:
    ## 读取图像,解决imread不能读取中文路径的问题 
    def cv_imread(file_path):
        cv_img = cv2.imdecode(np.fromfile(file_path, dtype=np.uint8), -1)
        return cv_img
    
    # 写入图像
    def cv_im_write(dst_path, img):
        cv2.imencode(".jpg", img)[1].tofile(dst_path)
    

    补充:图片保存类型一览表

    类型 说明
    Python:cv.IMWRITE_JPEG_QUALITY 对于JPEG,它可以是从0到100的质量(越高越好)。默认值为95。
    Python:cv.IMWRITE_JPEG_PROGRESSIVE 启用JPEG功能,0或1,默认为False。
    Python:cv.IMWRITE_JPEG_OPTIMIZE 启用JPEG功能,0或1,默认为False。
    Python:cv.IMWRITE_JPEG_RST_INTERVAL JPEG重启间隔,0 - 65535,默认为0 - 无重启。
    Python:cv.IMWRITE_JPEG_LUMA_QUALITY 单独的亮度质量等级,0 - 100,默认为0 - 不使用。
    Python:cv.IMWRITE_JPEG_CHROMA_QUALITY 单独的色度质量等级,0 - 100,默认为0 - 不使用。
    Python:cv.IMWRITE_PNG_COMPRESSION 对于PNG,它可以是从0到9的压缩级别。值越高意味着更小的尺寸和更长的压缩时间。如果指定,则策略更改为IMWRITE_PNG_STRATEGY_DEFAULT(Z_DEFAULT_STRATEGY)。默认值为1(最佳速度设置)。
    Python:cv.IMWRITE_PNG_STRATEGY 其中一个品种:: ImwritePNGFlags,默认为IMWRITE_PNG_STRATEGY_RLE。
    Python:cv.IMWRITE_PNG_BILEVEL 二进制级别PNG,0或1,默认为0。
    Python:cv.IMWRITE_PXM_BINARY 对于PPM,PGM或PBM,它可以是二进制格式标志,0或1.默认值为1。
    Python:cv.IMWRITE_EXR_TYPE  覆盖EXR存储类型(默认为FLOAT(FP32))
    Python:cv.IMWRITE_WEBP_QUALITY 对于WEBP,它可以是1到100的质量(越高越好)。默认情况下(不带任何参数),如果质量高于100,则使用无损压缩。
    Python:cv.IMWRITE_PAM_TUPLETYPE 对于PAM,将TUPLETYPE字段设置为为格式定义的相应字符串值。
    Python:cv.IMWRITE_TIFF_RESUNIT 对于TIFF,用于指定要设置的DPI分辨率单位; 请参阅libtiff文档以获取有效值。
    Python:cv.IMWRITE_TIFF_XDPI 对于TIFF,用于指定X方向DPI。
    Python:cv.IMWRITE_TIFF_YDPI 对于TIFF,用于指定Y方向DPI。
    Python:cv.IMWRITE_TIFF_COMPRESSION 对于TIFF,用于指定图像压缩方案。请参阅libtiff以获取与压缩格式对应的整数常量。注意,对于深度为CV_32F的图像,仅使用libtiff的SGILOG压缩方案。对于其他支持的深度,可以通过此标志指定压缩方案; LZW压缩是默认值。
    Python:cv.IMWRITE_JPEG2000_COMPRESSION_X1000 对于JPEG2000,用于指定目标压缩率(乘以1000)。该值可以是0到1000.默认值是1000。
  • 相关阅读:
    动画 + 设置contentoffset,然后就 蛋疼了,
    xmpp这一段蛋疼的 坑,
    项目,
    一段测试代码,哦哦哦,
    libresolv,
    mutating method sent to immutable object'
    解析json,是还是不是,
    济南学习 Day 4 T1 am
    济南学习 Day 3 T3 pm
    济南学习 Day 3 T2 pm
  • 原文地址:https://www.cnblogs.com/wjlv/p/14764299.html
Copyright © 2011-2022 走看看