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。
posted @ 2021-05-13 14:02  唐大侠的小迷弟  阅读(571)  评论(0编辑  收藏  举报