【python】PIL 批量繪制圖片矩形框工具

**
工具采用PIL:Python Imaging Library,圖像處理標(biāo)準(zhǔn)庫胯努。PIL功能非常強(qiáng)大髓梅,但API卻非常簡單易用。
**

  • 安裝PIL
    在Debian/Ubuntu Linux下直接通過apt安裝
    $ sudo apt-get install python-imaging
    Windows平臺直接通過pip安裝
    pip install pillow
  • 批量工具腳本
默認(rèn)執(zhí)行方式為:      
        執(zhí)行腳本命令 python drawline.py   
        1.獲取當(dāng)前路徑下的'png','jpg'文件
        2.繪制寬高占比為0.5,0.5的矩形框
        3.保存圖片至當(dāng)前路徑下的line文件夾
from PIL import Image, ImageDraw
import os, sys

 def drawLine(im, width, height):
    '''
    在圖片上繪制矩形圖
    :param im: 圖片
    :param width: 矩形寬占比
    :param height: 矩形高占比
    :return:
    '''
    draw = ImageDraw.Draw(im)
    image_width = im.size[0]
    image_height = im.size[1]
    line_width = im.size[0] * width
    line_height = im.size[1] * height
 
    draw.line(
        ((image_width - line_width) / 2, (image_height - line_height) / 2,
         (image_width + line_width) / 2, (image_height - line_height) / 2),
        fill=128)
    draw.line(
        ((image_width - line_width) / 2, (image_height - line_height) / 2,
         (image_width - line_width) / 2, (image_height + line_height) / 2),
        fill=128)
    draw.line(
        ((image_width + line_width) / 2, (image_height - line_height) / 2,
         (image_width + line_width) / 2, (image_height + line_height) / 2),
        fill=128)
    draw.line(
        ((image_width - line_width) / 2, (image_height + line_height) / 2,
         (image_width + line_width) / 2, (image_height + line_height) / 2),
        fill=128)
    del draw
 
 def endWith(s, *endstring):
    '''
    過濾文件擴(kuò)展名
    :param s: 文件名
    :param endstring: 所需過濾的擴(kuò)展名
    :return:
    '''
    array = map(s.endswith, endstring)
    if True in array:
        return True
    else:
        return False
 
 if __name__ == '__main__':
    '''
    默認(rèn)執(zhí)行方式為:
        1.獲取當(dāng)前路徑下的'png','jpg'文件
        2.繪制寬高占比為0.5,0.5的矩形框
        3.保存圖片至當(dāng)前路徑下的line文件夾
    '''
    line_w = 0.5
    line_h = 0.5
    try:
        if sys.argv[1]:
            line_w = float(sys.argv[1])
        if sys.argv[2]:
            line_h = float(sys.argv[2])
    except IndexError:
        pass
    current_path = os.getcwd()
    save_path = os.path.join(current_path, 'line')
    file_list = os.listdir(current_path)
    for file_one in file_list:
        # endWith(file_one, '.png', '.jpg') 第二個參數(shù)后為過濾格式 以 , 分割
        if endWith(file_one, '.png', '.jpg'):
            im = Image.open(file_one)
            # drawLine(im,line_w, line_h) 后面兩位參數(shù)為矩形圖寬高占比
            drawLine(im, line_w, line_h)
            if not os.path.exists(save_path):
                os.mkdir(save_path)
            im.save(
                os.path.join(save_path, str(file_one.split('.')[-2]) + '_line.' + str(file_one.split('.')[-1])))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市圆仔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蔫劣,老刑警劉巖坪郭,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異脉幢,居然都是意外死亡歪沃,警方通過查閱死者的電腦和手機(jī)嗦锐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來沪曙,“玉大人奕污,你說我怎么就攤上這事∫鹤撸” “怎么了碳默?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長缘眶。 經(jīng)常有香客問我嘱根,道長,這世上最難降的妖魔是什么巷懈? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任该抒,我火速辦了婚禮,結(jié)果婚禮上顶燕,老公的妹妹穿的比我還像新娘凑保。我一直安慰自己,他們只是感情好涌攻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布欧引。 她就那樣靜靜地躺著,像睡著了一般癣漆。 火紅的嫁衣襯著肌膚如雪维咸。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天惠爽,我揣著相機(jī)與錄音癌蓖,去河邊找鬼。 笑死婚肆,一個胖子當(dāng)著我的面吹牛租副,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播较性,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼用僧,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了赞咙?” 一聲冷哼從身側(cè)響起责循,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎攀操,沒想到半個月后院仿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年歹垫,在試婚紗的時候發(fā)現(xiàn)自己被綠了剥汤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡排惨,死狀恐怖吭敢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情暮芭,我是刑警寧澤鹿驼,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站谴麦,受9級特大地震影響蠢沿,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜匾效,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望恤磷。 院中可真熱鬧面哼,春花似錦、人聲如沸扫步。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽河胎。三九已至闯袒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間游岳,已是汗流浹背政敢。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留胚迫,地道東北人喷户。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像访锻,于是被迫代替她去往敵國和親褪尝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容

  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程期犬,因...
    小菜c閱讀 6,397評論 0 17
  • 又有老師倒在了學(xué)生刀下,很多刀遣总,刀刀致命睬罗,很慘轨功! 網(wǎng)上說什么的都有,說老師負(fù)責(zé)的容达,說不該補(bǔ)課的古涧,等...
    周萬亮閱讀 313評論 9 6
  • 學(xué)了好幾天的python了,今天寫了一個稍微有點(diǎn)作用的小腳本花盐,為了鞏固羡滑,特意寫一篇記錄一下 Python3 從剪貼...
    tt_2b90閱讀 211評論 0 0
  • 這是一個靠著海的小村子。 雖然有船算芯,有路柒昏,卻很閉塞。 三年前熙揍,這里來了一個老頭职祷,雖然衣著樸素,頭發(fā)花白届囚,卻也步履輕...
    夜慕微風(fēng)閱讀 621評論 0 1