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 相关文章推荐
python3+PyQt5泛型委托详解
Apr 24 Python
python 查找文件名包含指定字符串的方法
Jun 05 Python
解决pycharm 误删掉项目文件的处理方法
Oct 22 Python
在Python中pandas.DataFrame重置索引名称的实例
Nov 06 Python
python仿抖音表白神器
Apr 08 Python
python原类、类的创建过程与方法详解
Jul 19 Python
python 并发编程 阻塞IO模型原理解析
Aug 20 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
Apr 23 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
matplotlib之多边形选区(PolygonSelector)的使用
Feb 24 Python
Python时间操作之pytz模块使用详解
Jun 14 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中Cannot send session cache limiter 的问题的方法
2007/04/27 PHP
解析MySql与Java的时间类型
2013/06/22 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
php实现的http请求封装示例
2016/11/08 PHP
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
jquery实现textarea输入字符控制(仿微博输入控制字符)
2013/04/26 Javascript
js实现表格字段排序
2014/02/19 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
EasyUI创建对话框的两种方式
2016/08/23 Javascript
JS实现淡入淡出图片效果的方法分析
2016/12/20 Javascript
原生JS与jQuery编写简单选项卡
2017/10/30 jQuery
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python实现多线程抓取妹子图
2015/08/08 Python
Python中datetime模块参考手册
2017/01/13 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
个人求职信范文分享
2014/01/06 职场文书
军训自我鉴定
2014/01/22 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
2014年社区居委会主任重阳节讲话稿
2014/09/25 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
硕士学位论文评语
2014/12/31 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
干部考核工作总结
2015/08/12 职场文书
社区干部培训心得体会
2016/01/06 职场文书
Pytorch可视化的几种实现方法
2021/06/10 Python
不负正版帝国之名 《重返帝国》引领SLG手游制作新的标杆
2022/04/07 其他游戏
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python