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爬虫之爬虫编写全记录
Nov 06 Python
python访问类中docstring注释的实现方法
May 04 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
python实现外卖信息管理系统
Jan 11 Python
Python面向对象之类和对象实例详解
Dec 10 Python
pycharm打开命令行或Terminal的方法
Jan 16 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
Jul 30 Python
centos7中安装python3.6.4的教程
Dec 11 Python
Python面向对象封装操作案例详解
Dec 31 Python
Python基于模块Paramiko实现SSHv2协议
Apr 28 Python
Python基于Serializer实现字段验证及序列化
Nov 04 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 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
网络资源
2006/10/09 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
PHP使用stream_context_create()模拟POST/GET请求的方法
2016/04/02 PHP
php微信开发之自定义菜单完整流程
2016/10/08 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
JS实现的省份级联实例代码
2013/06/24 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
使用js实现一个可编辑的select下拉列表
2014/02/20 Javascript
window.open 以post方式传递参数示例代码
2014/02/27 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
JSON相关知识汇总
2015/07/03 Javascript
深入理解$.each和$(selector).each
2016/05/15 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
js实现单元格拖拽效果
2020/02/10 Javascript
[00:58]2016年国际邀请赛勇士令状宣传片
2016/06/01 DOTA
Python 爬虫模拟登陆知乎
2016/09/23 Python
利用Python实现在同一网络中的本地文件共享方法
2018/06/04 Python
python+splinter自动刷新抢票功能
2018/09/25 Python
flask 实现token机制的示例代码
2019/11/07 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
Python API len函数操作过程解析
2020/03/05 Python
套娃式文件夹如何通过Python批量处理
2020/08/23 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
倡导文明标语
2014/06/16 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
MySQL 四种连接和多表查询详解
2021/07/16 MySQL