<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10 分鐘學(xué)會(huì) pillow 圖像處理 16 式

          共 4093字,需瀏覽 9分鐘

           ·

          2020-08-07 06:47

          PIL:Python Imaging Library,是Python環(huán)境下最受歡迎的圖像處理庫(kù)之一。

          pillow簡(jiǎn)單優(yōu)雅而功能強(qiáng)大,是圖像相關(guān)機(jī)器學(xué)習(xí)任務(wù)中算法工程師的親密合作伙伴。

          我們將介紹pillow的如下16個(gè)圖片處理功能。

          1, 圖片讀寫(xiě)

          2, 圖片與array互轉(zhuǎn)

          3, 圖片與string互轉(zhuǎn)

          4, 圖片由彩色轉(zhuǎn)灰度

          5, 圖片通道分離與合并

          6, 調(diào)整圖片尺寸

          7, 截取圖片部分區(qū)域

          8, 圖片旋轉(zhuǎn)

          9, 圖片翻轉(zhuǎn)

          10, 提取圖片邊緣

          11, 圖片高斯模糊

          12, 在圖片上繪制文字

          13, 在圖片上繪制直線

          14, 在圖片上繪制矩形

          15, 在圖片上繪制橢圓

          16, 在圖片上粘貼其他圖片

          安裝pillow非常簡(jiǎn)單。

          pip?install?pillow

          一,圖片讀寫(xiě)

          import?numpy?as?np?
          from?PIL?import?Image,ImageFilter,ImageDraw,ImageFont
          #?讀取圖片
          img?=?Image.open("./data/貓咪圖片.jpg")
          print(img.format,?img.size,?img.mode)
          print(img.info)
          img?
          JPEG?(641,?641)?RGB
          {'jfif':?257,?'jfif_version':?(1,?1),?'dpi':?(72,?72),?'jfif_unit':?1,?'jfif_density':?(72,?72)}

          #?保存圖片
          img.save("./data/貓咪圖片.png")?

          二,圖片與array互轉(zhuǎn)

          #?Image轉(zhuǎn)np.array
          img?=?Image.open("./data/貓咪圖片.jpg")
          arr?=?np.array(img)
          print(arr.shape)??
          print(arr.dtype)
          (641,?641,?3)
          uint8
          #?np.array轉(zhuǎn)Image

          arr?=?(np.ones((256,256))*np.arange(0,256)).astype(np.uint8)
          img?=?Image.fromarray(arr)
          img?

          三,圖片與string互轉(zhuǎn)

          #?Image轉(zhuǎn)string?

          import?base64
          from?io?import?BytesIO

          img?=?Image.open("./data/貓咪圖片.jpg")
          buffer?=?BytesIO()
          img.save(buffer,?'PNG')
          b?=?buffer.getvalue()
          s?=?base64.b64encode(b).decode("utf-8")?

          print(s[0:1000])
          iVBORw0KGgoAAAANSUhEUgAAAoEAAAKBCAIAAACnMebvAAEAAElEQVR4nOz96bMtSXIfiLl7ROR2lru+raqrqxsEQBAkRuKMRHI0kj6OSTLJ9M+KRumTTJwxyWZGJm6DIQguAHqp7lree3c5S2ZGhLs+eIbfOOe+V13dKGxjCHt27b5z82RGRnj4z3fHT69fJB3CiEhEDCIi5H1KKQt775umEYRpmsZx/PGnn3Vd94tf/OLu7u7y8lJExnG8uro6Ho/ee+ccMwNA13UXFxebzeZnP/uZcw4R53k+Ho/TNIkIIiIiMxMREaWUcs6bzebm5mae5/1+H2NsmiaEkHOe55mZvfcAkFKa5xkA9OL1er3ebv/oj/7IOSciOUbv/cPDAwr0fb/uh5ubmxDCeDgi4vF4/NnPfjYHBAAsQ38HgJxzSklEiAgARKRt22EYmqaZpul4PM7zbDMXEfgbMnSqurP2EwDGcaz/axf/DXq1aZq6rgMAEfmd3/mdm5ubn/3sZz//+c9TSgCgJCEiIYS+7+d5nqYp5+y9R8Scs4g45z5287NdtrUaOdknKICIZNfI8tOWlABczuv1uuu6lNI0TXo6mFkncHZ/AEhxdM7ps5TenHPOuZTSarXquo6Z7eAw80wZAHJMMUZP5L3PMY2Ho3Nuu1oPfS8iHJOIcMoxRiYnIjlnvQ8UCsk5O+dCCCEEXRb9PMWdnt+cc4wx50xEeuXxeBSRYRj6vnfO6XmJhwcqQ99UxzAMIqK/1y8ukpUVzPOsR7tt26ZphmGwZdEn6jQaDHoHRBTCnPM4juM89X2/Px6dcxcXF74JMcYQwna7TeCULyknSSkhovfezoWus1F+hFnXvGmapml0bjlnKIxCr0TEEIL3fjelpml0xexk7ff74/GoX1TmZqv9W3/3d66vr5l5HMfNsOr7npkJMMYoOSsnzjEpt5znOca42+2Ucg6HwzzPV1dXn3766YsXL0IIXdc1TQMA8zyP4xhj
          #?string轉(zhuǎn)Image?

          b?=?base64.b64decode(s.encode("utf-8"))?
          buffer?=?BytesIO(b)?
          img?=?Image.open(buffer)
          img?

          四,圖片由彩色轉(zhuǎn)灰度

          #?轉(zhuǎn)成灰度
          img?=?Image.open("./data/貓咪圖片.jpg")
          img.convert("L")

          五,圖片通道分離與合并

          #?分離通道
          img?=?Image.open("./data/貓咪圖片.jpg")
          r,g,b?=?img.split()?
          b?

          #?合并通道
          Image.merge(mode?=?"RGBA",?bands?=?[r,g,b,r])

          六, 調(diào)整圖片尺寸

          #?調(diào)整大小
          img?=?Image.open("./data/貓咪圖片.jpg")
          print(img.size)
          img_resized?=?img.resize((300,300))
          print(img_resized.size)
          img_resized?
          (641,?641)
          (300,?300)

          七, 截取圖片部分區(qū)域

          img?=?Image.open("./data/貓咪圖片.jpg")
          img_croped?=?img.crop(box?=?[78,24,455,320])?
          print(img_croped.size)
          img_croped
          (377,?296)

          八, ?圖片旋轉(zhuǎn)

          img?=?Image.open("./data/貓咪圖片.jpg")
          img_rotated?=?img.rotate(15,center?=?(0,0))?#以center為中心逆時(shí)針旋轉(zhuǎn)
          img_rotated

          九, 圖片翻轉(zhuǎn)

          img?=?Image.open("./data/貓咪圖片.jpg")

          #?左右翻轉(zhuǎn)
          img_left_right?=?img.transpose(Image.FLIP_LEFT_RIGHT)
          img_left_right?

          #?上下翻轉(zhuǎn)
          img_top_bottom?=?img.transpose(Image.FLIP_TOP_BOTTOM)
          img_top_bottom

          十, 提取圖片邊緣

          img?=?Image.open("./data/貓咪圖片.jpg")

          img_edges?=?img.filter(ImageFilter.FIND_EDGES)
          img_edges?

          十一, 圖片高斯模糊

          img?=?Image.open("./data/貓咪圖片.jpg")
          img_blur?=?img.filter(ImageFilter.GaussianBlur(radius=3))
          img_blur?

          十二, 在圖片上繪制文字

          img?=?Image.open("./data/貓咪圖片.jpg")
          draw?=?ImageDraw.Draw(img)
          arial?=?ImageFont.truetype('./data/simsun.ttc',?46)
          draw.text((250,450),"敢梭哈嗎?",font?=arial,?fill="white")
          img

          十三, 在圖片上繪制直線

          img?=?Image.open("./data/貓咪圖片.jpg")
          draw?=?ImageDraw.Draw(img)

          draw.line([0,0,641,641],fill?=?"red",width?=?5)
          img

          十四, 在圖片上繪制矩形

          img?=?Image.open("./data/貓咪圖片.jpg")
          draw?=?ImageDraw.Draw(img)

          draw.rectangle([78,24,455,320],?fill=None,?outline?='lawngreen',width?=?5)
          img

          十五, 在圖片上繪制橢圓

          img?=?Image.open("./data/貓咪圖片.jpg")
          draw?=?ImageDraw.Draw(img)
          draw.arc(xy?=?[78,24,455,320],start?=?0,end?=?360,fill="red",width=5)
          img

          十六, 在圖片上粘貼其他圖片

          img?=?Image.open("./data/貓咪圖片.jpg")
          img_resized?=?img.resize((150,150))
          img.paste(img_resized,box?=?[460,50])
          img

          感謝云哥的精品原創(chuàng),文章若有疑問(wèn)或需要與他交流,歡迎關(guān)注他的公眾號(hào):

          瀏覽 58
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色一级片播放视频 | 7799天天综合症 | 欧美黄色电影在线 | 青青草福利导航 | 青青草人妻 |