
- PHP ImageMagick 教程
- PHP ImageMagick - 首頁
- PHP ImageMagick - 簡介
- 背景顏色
- 影像倒影
- 影像裁剪
- 影像邊框
- 影像縮放
- 影像合成
- 對比度和亮度
- 增強和均衡
- 銳化和模糊
- 影像平鋪
- 影像閾值
- 修改顏色
- 不同的效果
- 保護影像
- 素描模擬
- 編輯外觀
- 旋轉和滾動
- 拼接和擴充套件
- 其他功能
- PHP ImageMagick 有用資源
- PHP ImageMagick - 快速指南
- PHP ImageMagick - 資源
- PHP ImageMagick - 討論
PHP ImageMagick - 銳化和模糊
影像銳化
為了使影像看起來更銳利,ImageMagick 提供了一個內建函式 ‘adaptiveSharpenImage()’,它可以自適應地銳化影像。它以影像作為輸入,並輸出銳化的影像。
此方法使用演算法來檢測影像中應該應用銳化的區域,並相應地調整銳化量。與均勻銳化技術相比,這允許獲得更自然的結果,而不會犧牲質量或在影像中引入偽影。
語法
public Imagick::adaptiveSharpenImage(float $radius, float $sigma, int $channel = Imagick::CHANNEL_DEFAULT): bool
此函式包含三個引數:半徑、sigma 和通道。
半徑是一個浮點值,它指定高斯的半徑(以畫素為單位),不包括中心畫素。
Sigma 是一個浮點值,它指定高斯的標準差(以畫素為單位)。
通道提供任何對你的通道模式有效的通道常量。
示例
為了清楚地瞭解如何實現此函式,請檢視下面的示例。此程式碼建立一個 Imagick 物件並輸入影像。然後,應用 ‘adaptiveSharpenImage()’ 函式以及所需引數 (radius=19, sigma=15)。輸出影像以 ‘adaptiveSharpenImage.png’ 的形式獲得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->adaptiveSharpenImage(19,15); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/adaptiveSharpenImage.png"); ?>
假設以下是程式中的輸入影像 (image.png) −

輸出

影像模糊
模糊影像使顏色過渡平滑。透過模糊,畫素強度的快速變化會被平均化。在本章中,你將學習使用 ImageMagick 提供的內建函式以不同的方式模糊影像。
PHP ImageMagick 庫提供了一系列強大的函式,我們可以使用這些函式執行各種操作,包括模糊、縮放、裁剪等等。使用 PHP ImageMagick,你可以僅用幾行程式碼輕鬆模糊影像。
你還可以調整模糊強度以及其他幾個設定以達到所需效果。無論你是在尋找照片的細微變化還是戲劇性的變化,PHP ImageMagick 都能滿足你建立令人驚歎效果的所有需求!
新增模糊濾鏡
要向影像新增模糊濾鏡,ImageMagick 提供了一個名為 ‘blurImage()’ 的方法。它以影像作為輸入並生成/返回模糊影像。
語法
public Imagick::blurImage(float $radius, float $sigma, int $channel = ?): bool
此函式有 3 個引數:半徑、sigma 和通道。
半徑 是一個浮點值,指定需要模糊的半徑。
Sigma 是一個浮點值,指定標準差。
通道 指定通道型別常量。未指定通道時,所有通道都會被模糊。
示例
在下面的示例中,建立了一個新的 Imagick 物件並以影像作為輸入。然後,應用 ‘blurImage()’ 函式來模糊影像。半徑和 sigma 是在函式內指定的引數 (radius=25, sigma=5)。模糊影像以 ‘blurImage.png’ 的形式作為輸出獲得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->blurImage(25, 5); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/blurImage.png"); ?>
假設以下是程式中的輸入影像 (image.png) −

輸出

按特定角度應用模糊
ImageMagick 的 'rotationalImageBlur()' 函式可用於影像處理,允許使用者以任意角度對影像應用模糊效果。它接受輸入影像並生成具有所需模糊程度的模糊版本。
語法
public Imagick::rotationalBlurImage(float $angle, int $channel =Imagick::CHANNEL_DEFAULT):bool
此函式包含兩個引數:角度和通道。
角度是一個浮點值,用於儲存角度。
通道是一個對你的通道模式有效的常量。
示例
在下面的 PHP 程式碼示例中,建立了一個新的 Imagick 物件並以影像作為輸入。然後,應用 ‘rotationalBlurImage()’ 函式以特定角度 (15) 模糊影像。模糊影像以 ‘rotationalBlurImage.png’ 的形式作為輸出獲得。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->rotationalBlurImage (15); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/rotationalBlurImage.png"); ?>
假設以下是程式中的輸入影像 (image.png) −

輸出

模擬運動模糊
在影像中移動物體中看到的模糊稱為“運動模糊”。為了模擬運動模糊,ImageMagick 提供了一個內建函式 ‘motionBlurImage()’。它以影像作為輸入,並輸出運動模糊的影像。
語法
public Imagick::motionBlurImage(float $radius, float $sigma, float $angle, int $channel =Imagick::CHANNEL_DEFAULT): bool
此函式包含 4 個引數:半徑、sigma、角度和通道。
半徑是一個浮點值,指定高斯的半徑(以畫素為單位),不包括中心畫素。
sigma 是一個浮點值,指定高斯的標準差(以畫素為單位)。
角度也是一個浮點值,它指定模糊運動的角度。
通道是一個對你的通道模式有效的常量。
示例
在下面的示例中,建立了一個新的 Imagick 物件並以影像作為輸入。然後應用 'motionBlurImage()' 函式以半徑 (20)、sigma (20) 和角度 (45) 作為引數來模糊影像。結果,可以以 'motionBlurImage.png' 的形式獲得原始影像的模糊版本。
<?php $image=new Imagick($_SERVER['DOCUMENT_ROOT']."/test/image.png"); $image->motionBlurImage(20, 20, 45); $image->writeImage($_SERVER['DOCUMENT_ROOT']."/test/motionBlurImage.png"); ?>
假設以下是程式中的輸入影像 (image.png) −

輸出
