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实现的破解字符串找茬游戏算法示例
Sep 25 Python
获取python的list中含有重复值的index方法
Jun 27 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 Python
python reverse反转部分数组的实例
Dec 13 Python
利用python和ffmpeg 批量将其他图片转换为.yuv格式的方法
Jan 08 Python
python对矩阵进行转置的2种处理方法
Jul 17 Python
python selenium 查找隐藏元素 自动播放视频功能
Jul 24 Python
在django中,关于session的通用设置方法
Aug 06 Python
对Django的restful用法详解(自带的增删改查)
Aug 28 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 Python
python图像处理 PIL Image操作实例
Apr 09 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
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php中hashtable实现示例分享
2014/02/13 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
2016/01/07 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
php获取今日开始时间和结束时间的方法
2017/02/27 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
javascript实现数独解法
2015/03/14 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
js与jquery获取input输入框中的值实例讲解
2020/02/27 jQuery
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码
2020/09/16 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python数据类型之Set集合实例详解
2019/05/07 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
国际领先的学术出版商:Springer
2017/01/11 全球购物
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
领导证婚人证婚词
2014/01/13 职场文书
新护士岗前培训制度
2014/02/02 职场文书
护理工作个人总结
2015/03/03 职场文书
优秀的商业计划书,让融资一步到位
2019/05/07 职场文书
python 调用js的四种方式
2021/04/11 Python
vue 实现上传组件
2021/05/31 Vue.js
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers
速龙x4-860k处理器相当于i几
2022/04/20 数码科技
python开发人人对战的五子棋小游戏
2022/05/02 Python