日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 编程快速上手 第十七章 操作图像

發布時間:2025/3/15 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 编程快速上手 第十七章 操作图像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在這一章節,講了關于圖像的三個方面的內容:

  • 獲得圖像的相關信息:例如 RGBA 值,尺寸...
  • 對圖像進行編輯操作:例如 旋轉,縮放...
  • 在圖像上繪制形狀:例如 矩形,圓形...
  • [ImageColor 模塊 & Image 模塊]獲得圖像的相關信息

    圖像知識基礎

    談談 ImageColor 模塊

    格式:from PIL import ImageColor

    getcolor() 方法和 RGBA 元組:

    格式:ImageColor('Black', 'RGBA')
    功能:第一個參數為一個顏色名稱字符串,第二個參數為顏色的模式,返回一個 RGBA 值的元組。

    談談 Image 模塊和 Box 元組

    格式:from PIL import Image
    Box 元組: 為一個圖像的尺寸值,通過 Image 模塊得到一個 Image 對象之后,利用這個對象的 size() 方法可以得到一個 Box 元組。

    [Image 模塊]操作 & 編輯圖像

    操作圖像的基礎:打開,保存,新建

    打開圖像

    格式:im = Image.open('nameOfImg.png')
    功能:獲得一個 Image 對象

    談談 Image 對象的一些方法

    • im.filename:獲得圖像的名稱
    • im.format:獲得圖像的格式
    • im.format_description: 獲得描述更精準的圖像的格式

    保存圖像:

    格式:im.save('nameOfImag')
    功能:保存當工作目錄目前的圖像

    新建圖像:

    格式:Image.new('RGBA', (100, 200), 'purple')
    功能:第一個參數為顏色的模式,第二個參數為大小,第三個參數為背景的顏色,是可選值,默認為透明。

    編輯圖像:裁剪,復制和黏貼,縮放

    裁剪圖像:

    格式:im.crop((335, 345, 565, 560))
    功能:接收一個矩形元組(左,頂,右,底的順序)返回一個新的已經裁剪了的圖像。

    復制圖像和黏貼圖像到其他圖像:

    復制圖像:

    格式: im.copy()?
    功能:返回一個 Image 對象

    黏貼圖像到其他圖像:

    格式:im.paste(anoterIm, (400, 500))
    功能:接受的第一個參數為一個 Image 對象,另一個參數為黏貼圖像的時候源 Image 對象的左上角在主 Image 對象的位置。

    縮放圖像:

    格式:im.resize((int(width/2), int(height/2)))
    功能:接收一個 Box 元組, Box 元組的元素的值都為整數,然后返回一個縮放后的 Image 對象。

    旋轉,翻轉圖像

    旋轉圖像:

    格式:im.rotate(90, expand = True)?
    功能:接受一個角度作為參數,將這個圖像逆時針旋轉這個角度后,返回一個新的 Image 對象。第二個參數決定是否對尺寸進行放大,來適應旋轉后整個圖像的全部像素,是一個可選值。

    翻轉圖像

    格式:im.transpose(Image.FILP_RIGHT)
    功能:接收 Image.FILP(RIGHT/BOTTOM), 進行翻轉圖像。

    操作像素

    獲得像素值

    格式:im.getpixel()
    功能:接受一個坐標元組,返回一個 三整數 RGB 元組或四整數 RGBA 元組。

    更改像素值

    格式:im.putpixel((x,y),(210, 210, 210))
    功能:接受一個坐標元組和一個三整數 RGB 元組或四整數 RGBA 元組作為兩個參數,設置圖像這一點像素的顏色。

    [ImageDraw 模塊 & ImageFont 模塊]在圖像上繪制形狀

    導入模塊:?
    from PIL import Image, ImageDraw, ImageFont

    繪制形狀的步驟:

    1. 獲得 ImageDraw 對象

    格式: draw = ImageDraw.Draw()
    功能: 使用 Draw() 方法得到一個 ImageDraw 對象。

    2. 進行繪制

    • 點:point(xy, fill): 其中 xy 為點的元組列表, fill 為 RGBA 元組或者顏色名稱的字符串
    • 線: line(xy, fill, width): 其中 xy 除了點點元組列表,還可以用整數列表,width 默認值為1,是可選值。
    • 矩形: rectangle(xy , fill, outline): xy 為矩形元組,outline 為 RGBA 元組,是一個可選值。
    • 橢圓: ellipse(xy, fill, outline): 和矩形一樣
    • 多邊形: polygon(xy ,fill, outline): xy 和 line 中的一樣。

    繪制文本的步驟:

    1. 獲得 ImageFont 對象

    格式:arialFont = ImageFont.truetype(os.path.join('/Library/Fonts','arial.ttf'),32)
    功能:從系統的字體目錄中獲取字體文件,返回一個 ImageFont 對象。

    2. 進行繪制

    格式:ImageDraw(xy, text, fill, font)
    功能:接受四個參數。需要注意: xy,是一個包含兩個整數的元組,決定文字的左上角。text 為字符串格式。 font 為ImageFont 對象。





    轉載于:https://www.cnblogs.com/FBsharl/p/10311144.html

    總結

    以上是生活随笔為你收集整理的Python 编程快速上手 第十七章 操作图像的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。