python图片剪裁代码(图片按四个点坐标剪裁)

 更新时间:2020年03月10日 10:23:44   作者:别说话写代码  
这篇文章主要介绍了python图片剪裁代码(图片按四个点坐标剪裁),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

用了两种方法保存图片,opencv和Image,实践证明opencv非常快

from PIL import Image
import os
import cv2
import time
import matplotlib.pyplot as plt
def label2picture(cropImg,framenum,tracker):
  pathnew ="E:\\img2\\"
  # cv2.imshow("image", cropImg)
  # cv2.waitKey(1)
  if (os.path.exists(pathnew + tracker)):
    cv2.imwrite(pathnew + tracker+'\\'+framenum + '.jpg', cropImg,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
 
  else:
    os.makedirs(pathnew + tracker)
    cv2.imwrite(pathnew + tracker+'\\'+framenum + '.jpg', cropImg,[int(cv2.IMWRITE_JPEG_QUALITY), 100])
 
f = open("E:\\hypotheses.txt","r")
lines = f.readlines()
for line in lines:
  li = line.split(',')
  print(li[0],li[1],li[2],li[3],li[4],li[5])
  filename = li[0]+'.jpg'
  img = cv2.imread("E:\\DeeCamp\\img1\\" + filename)
  crop_img = img[int(li[3][:-3]):(int(li[3][:-3]) + int(li[5][:-3])),
        int(li[2][:-3]):(int(li[2][:-3]) + int(li[4][:-3]))]
  # print(int(li[2][:-3]),int(li[3][:-3]),int(li[4][:-3]),int(li[5][:-3]))
  label2picture(crop_img, li[0], li[1])
# #
# x,y,w,h = 87,158,109,222
# img = cv2.imread("E:\\DeeCamp\\img1\\1606.jpg")
# # print(img.shape)
# crop = img[y:(h+y),x:(w+x)]
# cv2.imshow("image", crop)
# cv2.waitKey(0)
# img = Image.open("E:\\DeeCamp\\img1\\3217.jpg")
#
# cropImg = img.crop((x,y,x+w,y+h))
# cropImg.show()
  # img = Image.open("E:\\deep_sort-master\\MOT16\\train\\try1\\img1\\"+filename)
  # print(int(li[2][:-3]),(int(li[2][:-3])+int(li[4][:-3])), int(li[3][:-3]),(int(li[3][:-3])+int(li[5][:-3])))
 
  # #裁切图片
  # # cropImg = img.crop(region)
  # # cropImg.show()
  # framenum ,tracker= li[0],li[1]
  # pathnew = 'E:\\DeeCamp\\deecamp项目\\deep_sort-master\\crop_picture\\'
  # if (os.path.exists(pathnew + tracker)):
  #   # 保存裁切后的图片
  #   plt.imshow(cropImg)
  #   plt.savefig(pathnew + tracker+'\\'+framenum + '.jpg')
  # else:
  #   os.makedirs(pathnew + tracker)
  #   plt.imshow(cropImg)
  #   plt.savefig(pathnew + tracker+'\\'+framenum + '.jpg')

补充知识:python实现固定区域截图,实现录屏截图

1、实现固定区域截图及保存

如果不设置区域默认是全屏保存

from PIL import ImageGrab
 
# 参数说明
# 第一个参数 开始截图的x坐标
# 第二个参数 开始截图的y坐标
# 第三个参数 结束截图的x坐标
# 第四个参数 结束截图的y坐标
bbox = (760, 0, 1160, 1080)
im = ImageGrab.grab(bbox)
 
# 参数 保存截图文件的路径
im.save('zy.png')

2、实现屏幕的视频录制

可以用上面程序的bbox设置一下录屏区域

from time import sleep
from PIL import ImageGrab

m=int(input("输入录屏几分钟:"))
m=m*60
n=1
while n<m:
  sleep(0.02)
  im=ImageGrab.grab()
  local=(r"%s.jpg"%(n))
  im.save(local,'jpeg')
  n=n+1

以上这篇python图片剪裁代码(图片按四个点坐标剪裁)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python函数中不定长参数的写法

    Python函数中不定长参数的写法

    今天小编就为大家分享一篇关于Python函数中不定长参数的写法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • python 获取等间隔的数组实例

    python 获取等间隔的数组实例

    今天小编就为大家分享一篇python 获取等间隔的数组实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python使用OpenCV对图像进行缩放功能

    Python使用OpenCV对图像进行缩放功能

    这篇文章主要介绍了Python使用OpenCV对图像进行缩放功能,文中给大家提到了两种调用方式及OpenCV中pryUp和pryDown的用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • Python实现FIFO缓存置换算法

    Python实现FIFO缓存置换算法

    这篇文章主要为大家详细介绍了Python实现FIFO(先进先出)缓存置换算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • pycharm通过ssh远程连接服务器并运行代码详细图文

    pycharm通过ssh远程连接服务器并运行代码详细图文

    在运行项目的过程中,由于自己电脑GPU不够,通常需要将项目放到服务器上运行,这时就会遇到如何将pycharm和服务器进行连接,下面这篇文章主要给大家介绍了关于pycharm通过ssh远程连接服务器并运行代码的相关资料,需要的朋友可以参考下
    2024-03-03
  • Pytorch模型微调fine-tune详解

    Pytorch模型微调fine-tune详解

    微调(fine-tune)通过使用在大数据上得到的预训练好的模型来初始化自己的模型权重,从而提升精度,这篇文章主要介绍了Pytorch模型微调(fine-tune),需要的朋友可以参考下
    2023-01-01
  • Pytorch自动求导函数详解流程以及与TensorFlow搭建网络的对比

    Pytorch自动求导函数详解流程以及与TensorFlow搭建网络的对比

    PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,这篇文章主要介绍了Pytorch自定义自动求导函数,以及PyTorch与TensorFlow搭建网络的对比
    2021-11-11
  • 十个Python程序员易犯的错误

    十个Python程序员易犯的错误

    不管是在学习还是工作过程中,人都会犯错。虽然Python的语法简单、灵活,但也一样存在一些不小的坑,一不小心,初学者和资深Python程序员都有可能会栽跟头。本文为大家分享了10大常见错误,需要的朋友可以参考下
    2015-12-12
  • Python爬虫之requests库基本介绍

    Python爬虫之requests库基本介绍

    大家好,本篇文章主要讲的是Python爬虫之requests库基本介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python如何对链表操作

    python如何对链表操作

    这篇文章主要介绍了python如何对链表操作,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-10-10

最新评论