python圖片剪裁代碼(圖片按四個(gè)點(diǎn)坐標(biāo)剪裁)
用了兩種方法保存圖片,opencv和Image,實(shí)踐證明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項(xiàng)目\\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')
補(bǔ)充知識(shí):python實(shí)現(xiàn)固定區(qū)域截圖,實(shí)現(xiàn)錄屏截圖
1、實(shí)現(xiàn)固定區(qū)域截圖及保存
如果不設(shè)置區(qū)域默認(rèn)是全屏保存
from PIL import ImageGrab # 參數(shù)說(shuō)明 # 第一個(gè)參數(shù) 開(kāi)始截圖的x坐標(biāo) # 第二個(gè)參數(shù) 開(kāi)始截圖的y坐標(biāo) # 第三個(gè)參數(shù) 結(jié)束截圖的x坐標(biāo) # 第四個(gè)參數(shù) 結(jié)束截圖的y坐標(biāo) bbox = (760, 0, 1160, 1080) im = ImageGrab.grab(bbox) # 參數(shù) 保存截圖文件的路徑 im.save('zy.png')
2、實(shí)現(xiàn)屏幕的視頻錄制
可以用上面程序的bbox設(shè)置一下錄屏區(qū)域
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圖片剪裁代碼(圖片按四個(gè)點(diǎn)坐標(biāo)剪裁)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
簡(jiǎn)單的python協(xié)同過(guò)濾程序?qū)嵗a
這篇文章主要介紹了簡(jiǎn)單的python協(xié)同過(guò)濾程序,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01Python爬蟲之使用BeautifulSoup和Requests抓取網(wǎng)頁(yè)數(shù)據(jù)
這篇文章主要介紹了Python爬蟲之使用BeautifulSoup和Requests抓取網(wǎng)頁(yè)數(shù)據(jù),本篇文章將介紹如何使用 Python 編寫一個(gè)簡(jiǎn)單的網(wǎng)絡(luò)爬蟲,從網(wǎng)頁(yè)中提取有用的數(shù)據(jù),需要的朋友可以參考下2023-04-04教你如何將 Sublime 3 打造成 Python/Django IDE開(kāi)發(fā)利器
Sublime Text 是一款非常強(qiáng)大的文本編輯器, 下面我們介紹如何將 Sublime Text 3 打造成一款 Python/Django 開(kāi)發(fā)利器:2014-07-07使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證
Flask處理表單除了本身的WTForms包,使用Flask-WTF擴(kuò)展來(lái)增強(qiáng)表單功能也是很多開(kāi)發(fā)者的選擇,這里我們就來(lái)講解如何使用Python的Flask框架表單插件Flask-WTF實(shí)現(xiàn)Web登錄驗(yàn)證2016-07-07PyQt5實(shí)現(xiàn)進(jìn)度條與定時(shí)器及子線程同步關(guān)聯(lián)
這篇文章主要為大家詳細(xì)介紹了PyQt5如何實(shí)現(xiàn)進(jìn)度條與定時(shí)器及子線程的同步關(guān)聯(lián),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-01-01詳解Python中HTML解析庫(kù)pyquery的使用
在工作中難免會(huì)遇到解析 HTML 的場(chǎng)景,比如將網(wǎng)頁(yè)下載下來(lái)之后,要解析出里面圖片的路徑、指定標(biāo)簽里的文本等等,而 pyquery 專門負(fù)責(zé)做這件事,下面我們就來(lái)學(xué)習(xí)一下他的具體用法吧2023-12-12TensorFlow2基本操作之 張量排序 填充與復(fù)制 查找與替換
這篇文章主要介紹了TensorFlow2基本操作之 張量排序 填充與復(fù)制 查找與替換,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09