python图片剪裁代码(图片按四个点坐标剪裁)
用了两种方法保存图片,opencv和Image,实践证明opencv非常快
from PIL import Imageimport osimport cv2import timeimport matplotlib.pyplot as pltdef 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:DeeCampimg1' + 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:DeeCampimg11606.jpg')# # print(img.shape)# crop = img[y:(h+y),x:(w+x)]# cv2.imshow('image', crop)# cv2.waitKey(0)# img = Image.open('E:DeeCampimg13217.jpg')## cropImg = img.crop((x,y,x+w,y+h))# cropImg.show() # img = Image.open('E:deep_sort-masterMOT16traintry1img1'+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:DeeCampdeecamp项目deep_sort-mastercrop_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 sleepfrom PIL import ImageGrabm=int(input('输入录屏几分钟:'))m=m*60n=1while n<m: sleep(0.02) im=ImageGrab.grab() local=(r'%s.jpg'%(n)) im.save(local,’jpeg’) n=n+1
以上这篇python图片剪裁代码(图片按四个点坐标剪裁)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
1. 基于javaweb+jsp实现企业财务记账管理系统2. Android自定义view实现标签栏功能(只支持固定两个标签)3. Python+Appium实现自动化测试的使用步骤4. django ObjectDoesNotExist 和 DoesNotExist的用法5. Java智能卡基础篇——未来Java平台的新发展6. 基于spring@aspect注解的aop实现过程代码实例7. Django-imagekit的使用详解8. Android 通过cmake的方式接入opencv的方法步骤9. 直接拿来用 九个超实用的PHP代码片段(二)10. Java基础之详解HashSet的使用方法
