您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關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實現固定區域截圖,實現錄屏截圖
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如何實現圖片剪裁功能”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。