python图片剪裁(图片按四个点坐标剪裁)
生活随笔
收集整理的這篇文章主要介紹了
python图片剪裁(图片按四个点坐标剪裁)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用了兩種方法保存圖片,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图片剪裁(图片按四个点坐标剪裁)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习实验报告(1)
- 下一篇: python 已知平行四边形三个点,求第