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进阶教程之循环对象
Aug 30 Python
轻松掌握python设计模式之访问者模式
Nov 18 Python
Python制作豆瓣图片的爬虫
Dec 28 Python
详解python OpenCV学习笔记之直方图均衡化
Feb 08 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
对python程序内存泄漏调试的记录
Jun 11 Python
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
Jul 02 Python
如何利用Anaconda配置简单的Python环境
Jun 24 Python
django 自定义过滤器(filter)处理较为复杂的变量方法
Aug 12 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
Feb 29 Python
使用Keras预训练模型ResNet50进行图像分类方式
May 23 Python
python如何查找列表中元素的位置
May 30 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访问Google Search API的方法
2015/03/05 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
JS重载实现方法分析
2016/12/16 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
Vue代码分割懒加载的实现方法
2017/11/23 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
layui实现多图片上传并限制上传的图片数量
2019/09/26 Javascript
tracking.js实现前端人脸识别功能
2020/04/16 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
Node使用koa2实现一个简单JWT鉴权的方法
2021/01/26 Javascript
Python利用递归实现文件的复制方法
2018/10/27 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
python装饰器练习题及答案
2019/11/01 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
Django分组聚合查询实例分享
2020/04/29 Python
HTML5 LocalStorage 本地存储刷新值还在
2017/03/10 HTML / CSS
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
乌鸦喝水教学反思
2014/02/07 职场文书
四查四看剖析材料
2014/02/14 职场文书
班级出游活动计划书
2014/08/15 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
前台岗位职责范本
2015/04/16 职场文书
离婚答辩状怎么写
2015/05/22 职场文书
详解Python为什么不用设计模式
2021/06/24 Python
浅析MongoDB之安全认证
2021/06/26 MongoDB
Python实现对齐打印 format函数的用法
2022/04/28 Python