<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                > PIL(Python Imaging Library)是Python提供的圖片處理庫。該庫支持生成縮略圖、轉換圖片格式、生成保存圖片,支持對圖片的像素點操作、濾鏡、顏色處理,同時支持對圖片的自定義大小、旋轉和任意的仿射變換等。。。功能非常強大! * * * PIL在Mac上的安裝參考文章[Mac OS X安裝 Scrapy、PIL、BeautifulSoup](http://www.jianshu.com/p/5265b76026d9) * * * ##### 打開圖片 ~~~ import Image image = Image.open("image.png") print image.format, image.size, image.mode ~~~ ![](https://box.kancloud.cn/2016-05-29_574a961e69f08.jpg) ##### 展示圖片 ~~~ image.show() ~~~ ##### 圖片格式轉換 ~~~ import os, sys image Image #... image.save('image.jpg') ~~~ ##### 縮略圖 圖片縮小為原圖的四分之一 ~~~ import os, sys image Image #... width = image.size[0] height = image.size[1] size = width / 4, height / 4 image.thumbnail(size) image.save('image_thumbnail.png') ~~~ ##### 裁剪粘貼 ~~~ box = (0, 0, width, height / 2) imageCut = image.crop(box).transpose(Image.ROTATE_180) image.paste(imageCut, box) image.show() ~~~ 注意`box`的四個參數的意義與一般理解不同,第一個與第二個參數可視為左上角坐標(0, 0),第三個與第四個參數可視為右下角坐標(width, height / 2),所以這里我們截取的區域是圖片的上半部分。 `crop(box)`方法執行截圖操作,`transpose(Image.ROTATE_180)`顧名思義,是將截取的圖片旋轉180度。 `paste(imageCut, box)`圖片的粘貼,第一個參數`imageCut`是要粘貼的圖片,第二個參數`box`是粘貼在哪個位置。需要注意的是兩個參數的 大小必須相同。 ![](https://box.kancloud.cn/2016-05-29_574a961e7ede2.jpg) 原圖 ![](https://box.kancloud.cn/2016-05-29_574a961e9cc53.jpg) 操作后 ##### 分離與合并通道 ~~~ r, g, b = image.split() r.show() g.show() b.show() image = Image.merge("RGB", (b, g, r)) image.show() ~~~ 分離RGB通道,并分別展示。`Image.merge("RGB", (b, g, r))`是將圖片的RB通道互換。 ##### 簡單的幾何變換 ~~~ image.resize((300, 500)).show() image.rotate(15).show() image.transpose(Image.FLIP_LEFT_RIGHT).show() ~~~ 說一下第三個方法`transpose(...)`,例子中的參數`Image.FLIP_LEFT_RIGHT`表示左右旋轉,還有代表其他意義的參數: `FLIP_LEFT_RIGHT` :左右旋轉 `FLIP_TOP_BOTTOM` :上下旋轉 `ROTATE_90` :旋轉90度 `ROTATE_180` :旋轉180度 `ROTATE_270` :旋轉270度 ##### 濾鏡 ImageFilter 哇哦,這個功能是最讓人期待的,不過很可惜,因為PIL只提供了10種濾鏡效果。 使用時注意引入`ImageFilter` ~~~ import ImageFilter #... image.filter(ImageFilter.BLUR).show() ~~~ 所有的濾鏡是 `ImageFilter.BLUR` 模糊 `ImageFilter.CONTOUR` 輪廓 `ImageFilter.DETAIL` 細節 `ImageFilter.EDGE_ENHANCE` 邊界加強 `ImageFilter.EDGE_ENHANCE_MORE` 邊界加強(閥值更大) `ImageFilter.EMBOSS` 浮雕 `ImageFilter.FIND_EDGES` 邊界 `ImageFilter.SMOOTH` 平滑 `ImageFilter.SMOOTH_MORE` 平滑(閥值更大) `ImageFilter.SHARPEN` 銳化 來看一下效果: ![](https://box.kancloud.cn/2016-05-29_574a961ec1bf4.jpg) 原圖 ![](https://box.kancloud.cn/2016-05-29_574a961f0b423.jpg) ImageFilter.BLUR 模糊 ![](https://box.kancloud.cn/2016-05-29_574a961f351ba.jpg) ImageFilter.CONTOUR 輪廓 ![](https://box.kancloud.cn/2016-05-29_574a961f653ee.jpg) ImageFilter.DETAIL 細節 ![](https://box.kancloud.cn/2016-05-29_574a961f9a782.jpg) ImageFilter.EDGE_ENHANCE 邊界加強 ![](https://box.kancloud.cn/2016-05-29_574a961fde1aa.jpg) ImageFilter.EDGE_ENHANCE_MORE 邊界加強(閥值更大) ![](https://box.kancloud.cn/2016-05-29_574a96201e41d.jpg) ImageFilter.EMBOSS 浮雕 ![](https://box.kancloud.cn/2016-05-29_574a962058739.jpg) ImageFilter.FIND_EDGES 邊界 ![](https://box.kancloud.cn/2016-05-29_574a9620a1e8e.jpg) ImageFilter.SMOOTH 平滑 ![](https://box.kancloud.cn/2016-05-29_574a9620d8969.jpg) ImageFilter.SMOOTH_MORE 平滑(閥值更大) ![](https://box.kancloud.cn/2016-05-29_574a962118e21.jpg) ImageFilter.SHARPEN 銳化 * * * PIL的官方文檔在 [這里](http://effbot.org/imagingbook/overview.htm)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看