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实现的Excel文件读写类
Jul 30 Python
利用Python3分析sitemap.xml并抓取导出全站链接详解
Jul 04 Python
Python 元组拆包示例(Tuple Unpacking)
Dec 24 Python
检测tensorflow是否使用gpu进行计算的方式
Feb 03 Python
浅谈Pycharm最有必要改的几个默认设置项
Feb 14 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
pycharm的python_stubs问题
Apr 08 Python
浅谈Python 函数式编程
Jun 20 Python
详解python 支持向量机(SVM)算法
Sep 18 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
浅析python实现动态规划背包问题
Dec 31 Python
Python中zipfile压缩包模块的使用
May 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
Terran魔法科技
2020/03/14 星际争霸
PHP生成带有雪花背景的验证码
2006/10/09 PHP
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
理解javascript对象继承
2016/04/17 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
详解在express站点中使用ejs模板引擎
2017/09/21 Javascript
基于D3.js实现时钟效果
2018/07/17 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
Python分治法定义与应用实例详解
2017/07/28 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
Python基于模块Paramiko实现SSHv2协议
2020/04/28 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
使用pygame实现垃圾分类小游戏功能(已获校级二等奖)
2020/07/23 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
python 简单的调用有道翻译
2020/11/25 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
医德医风演讲稿
2014/05/20 职场文书
物业保安岗位职责
2014/07/02 职场文书
2016年敬老月活动总结
2016/04/05 职场文书