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


Posted in Python onMarch 10, 2020

用了两种方法保存图片,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中self原理实例分析
Apr 30 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
浅析python递归函数和河内塔问题
Apr 18 Python
Python数据结构与算法之完全树与最小堆实例
Dec 13 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
Apr 22 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
Dec 28 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
sqlalchemy实现时间列自动更新教程
Sep 02 Python
Python 解析xml文件的示例
Sep 29 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 #Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 #Python
Python读取VOC中的xml目标框实例
Mar 10 #Python
Python 读取xml数据,cv2裁剪图片实例
Mar 10 #Python
python代码xml转txt实例
Mar 10 #Python
Python切割图片成九宫格的示例代码
Mar 10 #Python
pycharm设置python文件模板信息过程图解
Mar 10 #Python
You might like
CI框架简单邮件发送类实例
2016/05/18 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
Augularjs-起步详解
2016/07/08 Javascript
基于javascript实现最简单选项卡切换
2017/02/01 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
vue2.0 实现页面导航提示引导的方法
2018/03/13 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
Vue组件简易模拟实现购物车
2020/12/21 Vue.js
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
python中子类调用父类函数的方法示例
2017/08/18 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
python os模块简单应用示例
2019/05/23 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
python中Ansible模块的Playbook的具体使用
2020/05/28 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
多视角3D可旋转的HTML5 Logo动画
2016/03/02 HTML / CSS
浅谈移动端网页图片预加载方案
2018/11/05 HTML / CSS
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
入党转预备思想汇报
2014/01/07 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
财务个人年度总结范文
2015/02/26 职场文书
2016元旦主持人开场白
2015/12/03 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server