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常用函数详解
Sep 13 Python
Python中关键字global和nonlocal的区别详解
Sep 03 Python
Python实现DDos攻击实例详解
Feb 02 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
浅谈python编译pyc工程--导包问题解决
Mar 20 Python
python验证身份证信息实例代码
May 06 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
python实现while循环打印星星的四种形状
Nov 23 Python
Python semaphore evevt生产者消费者模型原理解析
Mar 18 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
May 15 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
利用python实现汉诺塔游戏
Mar 01 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
PHP中的cookie不用刷新就生效的方法
2012/02/04 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
2017/06/02 PHP
Javascript 遍历对象中的子对象
2009/07/03 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
JQuery 1.3.2以上版本中出现pareseerror错误的解决方法
2011/01/11 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
2016/05/09 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
2020/02/03 Javascript
关于反爬虫的一些简单总结
2017/12/13 Python
Python实现两款计算器功能示例
2017/12/19 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python实现获取当前目录下文件名代码详解
2020/03/10 Python
CSS3弹性盒模型开发笔记(一)
2016/04/26 HTML / CSS
HTML5标签大全
2016/11/23 HTML / CSS
艺术教育实施方案
2014/05/03 职场文书
博士生导师推荐信
2014/07/08 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
助人为乐好少年事迹材料
2014/08/18 职场文书
中秋晚会活动方案
2014/08/31 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
小学运动会宣传稿
2015/07/23 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
详解Oracle块修改跟踪功能
2021/11/07 Oracle