小編寫這篇文章的主要目的,主要是給大家做出一個詳細(xì)解答,解答關(guān)于使用Python批量裁剪圖片的一些事宜,包括怎么樣去提高自己的一個效率,具體的操作方法,下面小編就給大家詳細(xì)的解答下。
需求
我的需求是批量裁剪某一文件夾下的所有圖片,并指定裁剪寬高。
思路
1、先使用PIL.Image.size獲取輸入圖片的寬高。
2、寬高除以2得到中心點坐標(biāo)
3、根據(jù)指定寬高,以中心點向四周拓展
4、調(diào)用PIL.Image.crop完成裁剪
程序
import os from PIL import Image def crop(input_img_path,output_img_path,crop_w,crop_h): image=Image.open(input_img_path) x_max=image.size[0] y_max=image.size[1] mid_point_x=int(x_max/2) mid_point_y=int(y_max/2) right=mid_point_x+int(crop_w/2) left=mid_point_x-int(crop_w/2) down=mid_point_y+int(crop_h/2) up=mid_point_y-int(crop_h/2) BOX_LEFT,BOX_UP,BOX_RIGHT,BOX_DOWN=left,up,right,down box=(BOX_LEFT,BOX_UP,BOX_RIGHT,BOX_DOWN) crop_img=image.crop(box) crop_img.save(output_img_path) if __name__=='__main__': dataset_dir="cut"#圖片路徑 output_dir='out'#輸出路徑 crop_w=300#裁剪圖片寬 crop_h=300#裁剪圖片高 #獲得需要轉(zhuǎn)化的圖片路徑并生成目標(biāo)路徑 image_filenames=[(os.path.join(dataset_dir,x),os.path.join(output_dir,x)) for x in os.listdir(dataset_dir)] #轉(zhuǎn)化所有圖片 for path in image_filenames: crop(path[0],path[1],crop_w,crop_h)
測試
裁剪前:
裁剪后:
到此為止,這篇文章就給大家介紹到這里了,希望可以給大家?guī)砀嗟膸椭?/p>
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/128243.html
摘要:這個網(wǎng)站非常良心,開放了免費的,取消了每張大小的限制,只限定每個月處理張圖片。 showImg(https://segmentfault.com/img/remote/1460000019115596?w=4272&h=2848); 本文原創(chuàng)并首發(fā)于公眾號【Python貓】,未經(jīng)授權(quán),請勿轉(zhuǎn)載。原文地址:https://mp.weixin.qq.com/s/5hpFDgjCpfb0O1...
摘要:目前花費了兩分鐘。我這地方使用卷積神經(jīng)網(wǎng)絡(luò),。這地方對卷積神經(jīng)網(wǎng)絡(luò)算法就不做詳細(xì)介紹,感興趣的同學(xué),可以學(xué)習(xí)一下。 概述 ??很多開發(fā)者都討厭網(wǎng)站的驗證碼,特別是寫網(wǎng)絡(luò)爬蟲的程序員,而網(wǎng)站之所以設(shè)置驗證碼,是為了防止機(jī)器人訪問網(wǎng)站,造成不必要的損失。現(xiàn)在好了,隨著機(jī)器學(xué)習(xí)技術(shù)的發(fā)展,機(jī)器識別驗證碼的問題比較好解決了。 樣本采集工具 ??這里我們采用wordpress的Really Si...
閱讀 917·2023-01-14 11:38
閱讀 888·2023-01-14 11:04
閱讀 747·2023-01-14 10:48
閱讀 2027·2023-01-14 10:34
閱讀 954·2023-01-14 10:24
閱讀 830·2023-01-14 10:18
閱讀 504·2023-01-14 10:09
閱讀 581·2023-01-14 10:02