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图片剪裁代码(图片按四个点坐标剪裁)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • TensorFlow实现批量归一化操作的示例

    TensorFlow实现批量归一化操作的示例

    这篇文章主要介绍了TensorFlow实现批量归一化操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python QQBot库的QQ聊天机器人

    Python QQBot库的QQ聊天机器人

    这篇文章主要为大家详细介绍了基于Python QQBot库的QQ聊天机器人,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • python 实现图片裁剪小工具

    python 实现图片裁剪小工具

    这篇文章主要介绍了python 实现图片裁剪小工具的示例,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2021-02-02
  • python 利用matplotlib在3D空间绘制二次抛物面的案例

    python 利用matplotlib在3D空间绘制二次抛物面的案例

    这篇文章主要介绍了python 利用matplotlib在3D空间绘制二次抛物面的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Python flask框架定时任务apscheduler应用介绍

    Python flask框架定时任务apscheduler应用介绍

    Flask是Python社区非常流行的一个Web开发框架,本文将尝试将介绍APScheduler应用于Flask之中实现定时任务,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • Python线程详解

    Python线程详解

    这篇文章主要介绍了Python线程详解,本文详细讲解了线程方方面面的知识,如线程基础知识线程状态、线程同步(锁)、线程通信(条件变量)等内容,需要的朋友可以参考下
    2015-06-06
  • 使用Python微信库itchat获得好友和群组已撤回的消息

    使用Python微信库itchat获得好友和群组已撤回的消息

    这篇文章主要介绍了使用Python微信库itchat获得好友和群组已撤回的消息,需要的朋友可以参考下
    2018-06-06
  • Python实现的简单算术游戏实例

    Python实现的简单算术游戏实例

    这篇文章主要介绍了Python实现的简单算术游戏,可实现随机给出算数表达式,并对用户输入答案进行判断的功能,需要的朋友可以参考下
    2015-05-05
  • python实现公司年会抽奖程序

    python实现公司年会抽奖程序

    这篇文章主要为大家详细介绍了python实现公司年会抽奖程序,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • Python学习笔记之lambda表达式用法详解

    Python学习笔记之lambda表达式用法详解

    这篇文章主要介绍了Python学习笔记之lambda表达式用法,结合实例形式详细分析了lambda表达式的概念、功能、原理、组成及相关使用技巧,需要的朋友可以参考下
    2019-08-08

最新评论