day15 - 圖像和辦公文檔處理

圖像和辦公文檔處理

用程序來處理圖像和辦公文檔常常出如今實際開發中,Python的標準庫中雖然沒有直接支持這些操做的模塊,但咱們能夠經過Python生態圈中的第三方模塊來完成這些操做。python

操做圖像

計算機圖像相關知識

  1. 顏色。若是你有使用顏料畫畫的經歷,那麼必定知道混合紅、黃、藍三種顏料能夠獲得其餘的顏色,事實上這三種顏色就是被咱們稱爲美術三原色的東西,它們是不能再分解的基本顏色。在計算機中,咱們能夠將紅、綠、藍三種色光以不一樣的比例疊加來組合成其餘的顏色,所以這三種顏色就是色光三原色,因此咱們一般會將一個顏色表示爲一個RGB值或RGBA值(其中的A表示Alpha通道,它決定了透過這個圖像的像素,也就是透明度)。git

    名稱 RGBA值 名稱 RGBA值
    White (255, 255, 255, 255) Red (255, 0, 0, 255)
    Green (0, 255, 0, 255) Blue (0, 0, 255, 255)
    Gray (128, 128, 128, 255) Yellow (255, 255, 0, 255)
    Black (0, 0, 0, 255) Purple (128, 0, 128, 255)
  2. 像素。對於一個由數字序列表示的圖像來講,最小的單位就是圖像上單一顏色的小方格,這些小方塊都有一個明確的位置和被分配的色彩數值,而這些一小方格的顏色和位置決定了該圖像最終呈現出來的樣子,它們是不可分割的單位,咱們一般稱之爲像素(pixel)。每個圖像都包含了必定量的像素,這些像素決定圖像在屏幕上所呈現的大小。github

用Pillow操做圖像

Pillow是由從著名的Python圖像處理庫PIL發展出來的一個分支,經過Pillow能夠實現圖像壓縮和圖像處理等各類操做。可使用下面的命令來安裝Pillow。shell

pip install pillow

Pillow中最爲重要的是Image類,讀取和處理圖像都要經過這個類來完成。ui

>>> from PIL import Image >>> >>> image = Image.open('./res/guido.jpg') >>> image.format, image.size, image.mode ('JPEG', (500, 750), 'RGB') >>> image.show()

  1. 剪裁圖像spa

    >>> image = Image.open('./res/guido.jpg') >>> rect = 80, 20, 310, 360 >>> image.crop(rect).show()

  2. 生成縮略圖excel

    >>> image = Image.open('./res/guido.jpg') >>> size = 128, 128 >>> image.thumbnail(size) >>> image.show()

  3. 縮放和黏貼圖像orm

    >>> image1 = Image.open('./res/luohao.png') >>> image2 = Image.open('./res/guido.jpg') >>> rect = 80, 20, 310, 360 >>> guido_head = image2.crop(rect) >>> width, height = guido_head.size >>> image1.paste(guido_head.resize((int(width / 1.5), int(height / 1.5))), (172, 40))

  4. 旋轉和翻轉ip

    >>> image = Image.open('./res/guido.png') >>> image.rotata(180).show() >>> image.transpose(Image.FLIP_LEFT_RIGHT).show()

  5. 操做像素開發

    >>> image = Image.open('./res/guido.jpg') >>> for x in range(80, 310): ... for y in range(20, 360): ... image.putpixel((x, y), (128, 128, 128)) ... >>> image.show()

  6. 濾鏡效果

    >>> from PIL import Image, ImageFilter >>> >>> image = Image.open('./res/guido.jpg') >>> image.filter(ImageFilter.CONTOUR).show()

處理Excel電子表格

Python的openpyxl模塊讓咱們能夠在Python程序中讀取和修改Excel電子表格,固然實際工做中,咱們可能會用LibreOffice Calc和OpenOffice Calc來處理Excel的電子表格文件,這就意味着openpyxl模塊也能處理來自這些軟件生成的電子表格。關於openpyxl的使用手冊和使用文檔能夠查看它的官方文檔

處理Word文檔

利用python-docx模塊,Pytho 能夠建立和修改Word文檔,固然這裏的Word文檔不單單是指經過微軟的Office軟件建立的擴展名爲docx的文檔,LibreOffice Writer和OpenOffice Writer都是免費的字處理軟件。

處理PDF文檔

PDF是Portable Document Format的縮寫,使用.pdf做爲文件擴展名。接下來咱們就研究一下如何經過Python實現從PDF讀取文本內容和從已有的文檔生成新的PDF文件。

相關文章
相關標籤/搜索