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出现segfault错误解决方法
Apr 16 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
python单线程文件传输的实例(C/S)
Feb 13 Python
Python实现时间序列可视化的方法
Aug 06 Python
Python数据库小程序源代码
Sep 15 Python
Python使用random模块生成随机数操作实例详解
Sep 17 Python
pytorch常见的Tensor类型详解
Jan 15 Python
Python退出时强制运行一段代码的实现方法
Apr 29 Python
Django QuerySet查询集原理及代码实例
Jun 13 Python
python爬虫泛滥的解决方法详解
Nov 25 Python
Pygame Event事件模块的详细示例
Nov 17 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之数据库操作详解及乱码解决!
2007/01/02 PHP
PHP面向对象程序设计中的self、static、parent关键字用法分析
2019/08/14 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
Javascript 自定义类型方法小结
2010/03/02 Javascript
原生js实现查找/添加/删除/指定元素的class
2013/04/12 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
JS引用传递与值传递的区别与用法分析
2018/06/01 Javascript
微信小程序仿美团城市选择
2018/06/06 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python动态加载变量示例分享
2014/02/17 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
pycharm+django创建一个搜索网页实例代码
2018/01/24 Python
Django 源码WSGI剖析过程详解
2019/08/05 Python
pygame实现成语填空游戏
2019/10/29 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
英国知名衬衫品牌美国网站:Charles Tyrwhitt美国
2016/08/28 全球购物
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
ETO男装官方网店:ETO Jeans
2019/02/28 全球购物
EJB的几种类型
2012/08/15 面试题
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
寒山寺导游词
2015/02/03 职场文书
员工工作表扬信
2015/05/05 职场文书
盲山观后感
2015/06/11 职场文书
nginx实现发布静态资源的方法
2021/03/31 Servers
MySQL的join buffer原理
2021/04/29 MySQL
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Java实现聊天机器人完善版
2021/07/04 Java/Android