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实现矩阵乘法的方法
Jun 28 Python
解决python3 urllib中urlopen报错的问题
Mar 25 Python
Python使用struct处理二进制的实例详解
Sep 11 Python
python基于Selenium的web自动化框架
Jul 14 Python
ubuntu上安装python的实例方法
Sep 30 Python
python 实现list或string按指定分段
Dec 25 Python
浅谈Python 函数式编程
Jun 20 Python
用python进行视频剪辑
Nov 02 Python
python-地图可视化组件folium的操作
Dec 14 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
秀!学妹看见都惊呆的Python小招数!【详细语言特性使用技巧】
Apr 27 Python
让文件路径提取变得更简单的Python Path库
May 27 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
PHP.MVC的模板标签系统(一)
2006/09/05 PHP
PHP代码优化的53个细节
2014/03/03 PHP
destoon供应信息title调用出公司名称的方法
2014/08/22 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
一个封装js代码-----展开收起效果示例
2013/07/03 Javascript
nodejs中转换URL字符串与查询字符串详解
2014/11/26 NodeJs
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
ajax如何实现页面局部跳转与结果返回
2015/08/24 Javascript
jQuery实现div横向拖拽排序的简单实例
2016/07/13 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
js用正则表达式筛选年月日的实例方法
2021/01/04 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
pandas计数 value_counts()的使用
2019/06/24 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
Django如何实现上传图片功能
2019/08/16 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
python 使用pdfminer3k 读取PDF文档的例子
2019/08/27 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
python 上下文管理器及自定义原理解析
2019/11/19 Python
python二维键值数组生成转json的例子
2019/12/06 Python
Python selenium的基本使用方法分析
2019/12/21 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
2014年镇党建工作汇报材料
2014/11/02 职场文书
2014年文秘工作总结
2014/11/25 职场文书
报案材料怎么写
2015/05/25 职场文书