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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
python设置检查点简单实现代码
Jul 01 Python
python中类的一些方法分析
Sep 25 Python
详解Django中的权限和组以及消息
Jul 23 Python
python+requests+unittest API接口测试实例(详解)
Jun 10 Python
Python使用pandas对数据进行差分运算的方法
Dec 22 Python
用Python调用win命令行提高工作效率的实例
Aug 14 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
TensorFlow 显存使用机制详解
Feb 03 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
Python实现文字pdf转换图片pdf效果
Apr 03 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下用rmdir实现删除目录的三种方法小结
2008/04/20 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
javascript中indexOf技术详解
2015/05/07 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
webpack构建换肤功能的思路详解
2017/11/27 Javascript
你点的 ES6一些小技巧,请查收
2018/04/25 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
Python QQBot库的QQ聊天机器人
2019/06/19 Python
Python计算不规则图形面积算法实现解析
2019/11/22 Python
Python基于进程池实现多进程过程解析
2020/04/30 Python
Python正则表达式如何匹配中文
2020/05/27 Python
python三引号如何输入
2020/07/06 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
python 实现波浪滤镜特效
2020/12/02 Python
Python制作简单的剪刀石头布游戏
2020/12/10 Python
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
自荐信的格式
2014/03/10 职场文书
2014年学校德育工作总结
2014/12/05 职场文书
圣诞节开幕词
2015/01/29 职场文书
整脏治乱工作简报
2015/07/21 职场文书
《秋天的图画》教学反思
2016/02/19 职场文书
股权投资协议书
2016/03/23 职场文书
HR必备:销售经理聘用合同范本
2019/08/21 职场文书
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android