zoukankan      html  css  js  c++  java
  • OpenCV-python学习笔记1:CV2和PIL按box信息实现图像裁剪

    # 用cv2实现裁剪
    import cv2
    import os
    
    img = cv2.imread("./test_and_verification/1406170100001.jpg")
    # cv2.imshow('img',img)
    # cv2.waitKey(0)
    print(img.shape)
    输出
    (1422, 1067, 3)
    
    cropped = img[10:200,20:400]
    cv2.imwrite("./test_and_verification/cut_test.jpg", cropped)
    print(cropped.shape)
    
    输出
    (190, 380, 3)
    
    """
    imread方法读取待裁剪的图片,然后查看它的shape,输出是(高度、宽度、通道数)
    切片给出的坐标为需要裁剪的图片在原图片上的坐标,顺序为[y0:y1, x0:x1],其中左上角为坐标原点
    """
    

      

    # 用PIL实现裁剪
    from PIL import Image
    
    img1 = Image.open("./test_and_verification/1406170100001.jpg")
    print(img1.size)
    
    输出
    (1067, 1422)
    
    cropped1 = img1.crop((30,40,80,120))
    cropped1.save("./test_and_verification/cut_test1.jpg")
    print(cropped1.size)
    
    输出
    (50, 80)
    
    """
    size的输出是图片的(宽度、高度)
    crop需要给定一个box参数,box是一个四元组,元组中元素的顺序是需要裁剪得到的图片在原图中的左、上、右、下坐标,即(left, upper, right, lower)
    """
    

      原图太大就不 贴出来了,看shape值即可

  • 相关阅读:
    lombok的介绍及使用
    java后端导入excel将数据写入数据库
    java后端导出excel表格
    eclipse maven打war包
    java后端树形菜单使用递归方法
    mybatis一对多查询
    @transactional作用和事务
    zookeeper安装
    Solr单机版安装
    jstat 简介(2)
  • 原文地址:https://www.cnblogs.com/zheng1076/p/10314790.html
Copyright © 2011-2022 走看看