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 调用VC++的动态链接库(DLL)
Sep 06 Python
python网络编程之TCP通信实例和socketserver框架使用例子
Apr 25 Python
Python解析网页源代码中的115网盘链接实例
Sep 30 Python
在Python中操作字典之setdefault()方法的使用
May 21 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
从django的中间件直接返回请求的方法
May 30 Python
python 扩展print打印文件路径和当前时间信息的实例代码
Oct 11 Python
Python猜数字算法题详解
Mar 01 Python
python实现ssh及sftp功能(实例代码)
Mar 16 Python
python利用tkinter实现图片格式转换的示例
Sep 28 Python
matplotlib教程——强大的python作图工具库
Oct 15 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
深入了解php4(1)--回到未来
2006/10/09 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
PHP中is_file不能替代file_exists的理由
2014/03/04 PHP
zf框架的Filter过滤器使用示例
2014/03/13 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
编写PHP脚本清除WordPress头部冗余代码的方法讲解
2016/03/01 PHP
PHP命名空间namespace及use的简单用法分析
2018/08/03 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
javascript 获取图片颜色
2009/04/05 Javascript
不一样的文字闪烁 轮番闪烁
2009/11/11 Javascript
jquery动画2.元素坐标动画效果(创建一个图片走廊)
2012/08/24 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
jQuery构造函数init参数分析续
2015/05/13 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
jQuery使用$.ajax提交表单完整实例
2015/12/11 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
详解vue axios中文文档
2017/09/12 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
详解VUE前端按钮权限控制
2019/04/26 Javascript
Vue中实现回车键切换焦点的方法
2020/02/19 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Windows下为Python安装Matplotlib模块
2015/11/06 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
开学典礼决心书
2014/03/11 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
综合管理员岗位职责
2015/02/11 职场文书
《正面管教》读后有感:和善而坚定的旅程
2019/12/19 职场文书
python3 hdf5文件 遍历代码
2021/05/19 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis