Max/MSP/ Jitter 官方教程翻譯20 - 迭代和矩陣重取樣
- ofollow,noindex">Max/MSP/Jitter 教程 11 - 矩陣混合
- Max/MSP/Jitter 教程 12 - Chromakeying 視訊去背景合成
- Max/MSP/Jitter 教程 13 - 列表和矩陣
- Max/MSP/Jitter 教程 14 - 顏色查詢表
- Max/MSP/Jitter 教程 15 - 剪刀和膠水
- Max/MSP/Jitter 教程 16 - 矩陣定位
- Max/MSP/Jitter 教程 17 - 影象旋轉
- Max/MSP/Jitter 教程18 - 使用已命名的矩陣
- Max/MSP/Jitter 教程19 - 使用已命名矩陣的反饋
00 翻譯自 Cycling74 的 Max/MSP/Jitter 官方文件: Tutorial 18: Iterative Processes and Matrix Re-Sampling
本教程演示何時應該使用已命名 jit.matrix
物件的更復雜示例,以及如何使用 jit.matrix
對影象增取樣(upsampling)和減取樣(downsampling)。
patch 左上角包含一個 jit.movie
,patch 開啟時會載入一個靜止影象 fuzz_circle.jpg。
單擊開關啟動 metro
。影象出現在 patch 右下角的 jit.pwindow
中:
fuzz_circle.jpg 包含一個白色圓圈與黑色背景,在最終矩陣裡尺寸被縮放為小的圓形。
Getting Drunk
patch 頂部將 jit.movie
中的影象寫入鏈條中的第一個 jit.matrix
。 bangbang
物件發出的 bang 用 drunk
物件隨機變化座標,來改變 jit.matrix
每一幀的 dstdimstart 和 dstdimend 屬性。請注意第一個 jit.matrix
的 usedstdim 屬性為 1,它將縮放輸入矩陣:
第一個 jit.matrix
只是用來縮放圓形影象以適應輸出矩陣的 80 x 60 區域。請注意,格式化縮放影象座標的訊息框,也會逐幀清除矩陣(用 clear
訊息),這樣就不會殘留之前的影象。 drunk
改變了圓圈的位置,讓它四處抖動。
單擊 patch 右下角 jit.pwindow
中的某個位置。圓圈將跳到單擊的位置,並從那裡開始移動。
在 jit.pwindow
中單擊滑鼠的結果將傳送到 r winclick
物件。 route
物件將 mouse
相關的資訊抽出來,用 unpack
物件提取前兩個元素(滑鼠單擊的 x 和 y 位置)。然後使用來設定 drunk
物件的新原點。
反饋網路
一旦圓圈影象已被縮放並由 jit.matrix
放置好,patch 流程就進入一對名為 blurry 的 jit.matrix
反饋鏈:
反饋迴圈
這一部分包含四個 jit.matrix
(不包括頂部的一個縮小圓形影象的物件)。其中兩個物件同名(blurry),僅用於儲存和檢索由 patch 的其餘部分之前生成的矩陣。最上面的 jit.matrix
將矩陣傳送到第一個 jit.op
的右入口。此外,它用 bangbang
傳送 bang 到第一個 jit.matrix blurry
讓它輸出矩陣。該矩陣最終到達 jit.op
的左入口,然後顯示(通過 jit.pwindow
)並乘以標量(第二個 jit.op
物件)。它最終會覆蓋先前的矩陣(進入下面的 jit.matrix blurry
)。先不管中間一些物件,可以看到 blurry 矩陣將保留圓形影象前一“幀”的某個版本:
第一個 jit.op @op max
組合新舊影象。@op max 比較兩個矩陣中每個單元並保留值較高的那個單元。第二個 jit.op @op *
物件乘以標量(由 patch 右側的數字框傳送到 s fb
)使影象變暗:
Line"/> 反饋量指定影象在儲存之前變暗的程度
在 patch 的藍色區域中用標記為 Feedback
的數字框來更改反饋量。單擊 jit.pwindow
移動圓圈時,注意圓圈後的軌跡如何增加或減少,這取決於所設定的反饋量。
增取樣和減取樣
影象處理演算法的最後一步,涉及這兩個物件之間的區域:傳送前一幀中保留的矩陣的第一個 jit.matrix blurry
,以及合成前後兩個矩陣的 jit.op
:
用
jit.matrix
重新取樣影象
教程 patch 中兩個綠色 jit.matrix
重新取樣上方的 jit.matrix
的模糊影象矩陣。兩個 jit.matrix
中的第一個將 dim 的屬性設定為 4 x 4。可以用藍色區域中標記為 Pixelation 的數字框來更改。這個數字被髮送到 jit.matrix
上方的 s dim
物件。
在教程 patch 的藍色區域中,更改標記為 Pixelation 的數字框。注意圓形軌跡如何變化。
對影象矩陣減取樣, jit.matrix
將 320 x 240 矩陣從其輸入複製到一個小得多的矩陣中,捨棄多餘的資料。得到畫素化的影象,可以用矩陣的 dim 控制。
第二個 jit.matrix
將矩陣增取樣回到 320 x 240 大小。當後續的物件處理矩陣時,它們有全解析度影象並將輸出全解析度矩陣。
jit.streak
物件通過隨機複製到相鄰單元得到好看的畫素化軌跡效果。 jit.streak
的 prob 屬性控制矩陣中任何給定單元格被複制到相鄰單元格的可能性。這裡的 prob 為 0.5,任何給定單元格都有 50% 的可能性。
技術細節:預設情況下 jit.streak
將單元格複製到左側。更改 direction 屬性將改變此行為。還有一個 scale 屬性可以指定被複制的單元格與其原始值的亮度比值。 jit.streak
的幫助文件有更具體的資訊。
小結
成對命名 jit.matrix
可以有效地儲存先前迭代。這些技術可以用合成物件(例如 jit.op
)組合先前矩陣與當前矩陣來生成視訊延遲效果。還可以使用 jit.matrix
重新取樣影象(使用 dim 屬性)以更有效地執行演算法(矩陣越小,影象處理得越快)並建立畫素化效果。 jit.streak
物件根據概率因子(prob 屬性)隨機複製單元格到相鄰單元格。
- Max/MSP/Jitter 教程 01 - 什麼是矩陣?
- Max/MSP/Jitter 教程 02 - Jitter 物件的屬性
- Max/MSP/Jitter 教程 03 - 播放 QuickTime 視訊
- Max/MSP/Jitter 教程 04 - 建立矩陣
- Max/MSP/Jitter 教程 05 - 矩陣的數學運算
- Max/MSP/Jitter 教程 06 - 控制視訊播放
- Max/MSP/Jitter 教程 07 - ARGB 顏色
- Max/MSP/Jitter 教程 08 - 調整顏色
- Max/MSP/Jitter 教程 09 - 調整影象顏色
- Max/MSP/Jitter 教程 10 - 簡單混合
友情提示:獨自折騰 Max 易患上癔症……不妨入群互助
:point_down::point_down::point_down: