ImageMorph 模組

ImageMorph 模組提供影像上的形態學運算。

class PIL.ImageMorph.LutBuilder(patterns: list[str] | None = None, op_name: str | None = None)[原始碼]

基底類別:object

一個從描述性語言建構 MorphLut 的類別

輸入模式是一個字串序列的清單,如下所示

4:(...
   .1.
   111)->1

(包含換行符號的空白字元會被忽略)。選項 4 描述了一系列的對稱操作(在此案例中為 4 向旋轉),模式由以下方式描述

  • . 或 X - 忽略

  • 1 - 像素為開啟

  • 0 - 像素為關閉

操作的結果在 “->” 字串後描述。

預設為回傳目前的像素值,如果沒有找到其他符合的項目,則會回傳此值。

操作

  • 4 - 4 向旋轉

  • N - 反相

  • 1 - 沒有其他操作的虛擬操作 (必須始終給定一個操作)

  • M - 鏡像

範例

lb = LutBuilder(patterns = ["4:(... .1. 111)->1"])
lut = lb.build_lut()
add_patterns(patterns: list[str]) None[原始碼]
build_default_lut() None[原始碼]
build_lut() bytearray[原始碼]

將所有模式編譯成形態學 lut。

待辦事項:根據 (檔案) morphlut:modify_lut 進行建構

get_lut() bytearray | None[原始碼]
class PIL.ImageMorph.MorphOp(lut: bytearray | None = None, op_name: str | None = None, patterns: list[str] | None = None)[原始碼]

基底類別:object

二元形態學運算子的類別

apply(image: Image) tuple[int, Image][原始碼]

在影像上執行單一形態學運算

傳回一個元組,包含變更的像素數量和形態處理後的影像

get_on_pixels(image: Image) list[tuple[int, int]][原始碼]

取得二元影像中所有開啟像素的列表

傳回一個元組列表,包含所有符合像素的 (x,y) 座標。請參閱 座標系統

load_lut(filename: str) None[原始碼]

從 mrl 檔案載入運算子

match(image: Image) list[tuple[int, int]][原始碼]

取得符合影像形態學運算的座標列表。

傳回一個元組列表,包含所有符合像素的 (x,y) 座標。請參閱 座標系統

save_lut(filename: str) None[原始碼]

將運算子儲存到 mrl 檔案

set_lut(lut: bytearray | None) None[原始碼]

從外部來源設定 lut