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 28 Python
Django静态资源URL STATIC_ROOT的配置方法
Nov 08 Python
python实现对一个完整url进行分割的方法
Apr 29 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
May 09 Python
Python读取图片属性信息的实现方法
Sep 11 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
python实现NB-IoT模块远程控制
Jun 20 Python
详解Django中类视图使用装饰器的方式
Aug 12 Python
python实现BP神经网络回归预测模型
Aug 09 Python
Django框架model模型对象验证实现方法分析
Oct 02 Python
win10环境下配置vscode python开发环境的教程详解
Oct 16 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的优点与缺点
2013/04/11 PHP
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
Jquery 插件学习实例1 插件制作说明与tableUI优化
2010/04/02 Javascript
不要在cookie中使用特殊字符的原因分析
2010/07/13 Javascript
IFrame跨域高度自适应实现代码
2012/08/16 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
2016/09/19 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
Vue匿名插槽与作用域插槽的合并和覆盖行为
2019/04/22 Javascript
JS中FormData类实现文件上传
2020/03/27 Javascript
Vue 中 template 有且只能一个 root的原因解析(源码分析)
2020/04/11 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[37:23]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第二局
2016/03/04 DOTA
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
浅谈python类属性的访问、设置和删除方法
2016/07/25 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
Python画柱状统计图操作示例【基于matplotlib库】
2018/07/04 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
Python实现播放和录制声音的功能
2020/08/12 Python
澳大利亚的奢侈品牌:Oroton
2016/08/26 全球购物
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
Collection和Collections的区别
2016/05/02 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
市场营销专业推荐信
2013/11/03 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
应届大学生自荐书
2014/06/17 职场文书
公共场所标语
2014/06/30 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书