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中lambda的用法及其与def的区别解析
Jul 28 Python
快速入手Python字符编码
Aug 03 Python
windows系统下Python环境的搭建(Aptana Studio)
Mar 06 Python
Python基于Socket实现的简单聊天程序示例
Aug 05 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
Flask框架信号用法实例分析
Jul 24 Python
python中用logging实现日志滚动和过期日志删除功能
Aug 20 Python
python getopt模块使用实例解析
Dec 18 Python
Django表单提交后实现获取相同name的不同value值
May 14 Python
学python爬虫能做什么
Jul 29 Python
Python制作表白爱心合集
Jan 22 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中include与require使用方法区别详解
2013/10/19 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
Laravel5.7框架安装与使用学习笔记图文详解
2019/04/02 PHP
Prototype使用指南之dom.js
2007/01/10 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
JS的document.all函数使用示例
2013/12/30 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
javascript实现避免页面按钮重复提交
2015/01/08 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
JS动态显示倒计时效果
2019/12/12 Javascript
vue实现购物车结算功能
2020/06/18 Javascript
vue任意关系组件通信与跨组件监听状态vue-communication
2020/10/18 Javascript
python中字符串类型json操作的注意事项
2017/05/02 Python
python线程池threadpool实现篇
2018/04/27 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
西班牙鞋子和箱包在线销售网站:zapatos.es
2020/02/17 全球购物
服装店营销方案
2014/03/10 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
初中家长评语和期望
2014/12/26 职场文书
抢劫罪辩护词
2015/05/21 职场文书
校运会通讯稿
2015/07/18 职场文书
浅谈Redis跟MySQL的双写问题解决方案
2022/02/24 Redis
Java异常体系非正常停止和分类
2022/06/14 Java/Android