成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

PHP使用Imagick庫(kù)自動(dòng)調(diào)整圖片曝光

el09xccxy / 3540人閱讀

摘要:開(kāi)發(fā)思路自動(dòng)調(diào)整曝光根據(jù)圖片中最多的色彩值中的亮度判斷超過(guò)為過(guò)曝,不足為欠曝計(jì)算亮度的絕對(duì)值,計(jì)算曝光調(diào)整范圍并修正圖片欠曝補(bǔ)償范圍過(guò)曝降低范圍調(diào)整圖片曝光值一自定義圖片處理類(lèi)自定義圖片處理類(lèi)獲取圖像信息獲取個(gè)主要色調(diào)獲取

開(kāi)發(fā)思路:自動(dòng)調(diào)整曝光
1.根據(jù)圖片中最多的色彩HSL值中的亮度(l:0~1)判斷,超過(guò)0.6為過(guò)曝,不足0.4為欠曝
2.計(jì)算(亮度-0.5)的絕對(duì)值,計(jì)算曝光調(diào)整范圍并修正圖片
3.欠曝補(bǔ)償范圍0~100
4.過(guò)曝降低范圍0~5
5.調(diào)整圖片曝光值

一 自定義圖片處理類(lèi)

image = new Imagick($file);
    }
    /**
     * 獲取圖像HSL信息
     * @param type $num
     * @return type
     */
    public function getImageHSL($num = 1) {
        $avater = clone $this->image;
        //獲取 $num個(gè)主要色調(diào)
        $avater->quantizeImage($num, Imagick::COLORSPACE_RGB, 0, false, false); 
        $avater->uniqueImageColors();
        $hslarr = array();
        $it = $avater->getPixelIterator();
        $it->resetIterator();
        while ($row = $it->getNextIteratorRow()) {
            foreach ($row as $pixel) {
                $hslarr[] = $pixel->getHSL(); //獲取hsl  
            }
        }
        return $hslarr;
    }
    /**
     * 自動(dòng)調(diào)整曝光
     * 根據(jù)圖片中最多的色彩HSL值中的亮度(l:0~1)判斷
     * 超過(guò)$exposure_high為過(guò)曝,不足$exposure_low為欠曝
     * 計(jì)算(亮度-0.5)的絕對(duì)值,計(jì)算曝光調(diào)整范圍并修正圖片
     * 欠曝補(bǔ)償范圍0~100
     * 過(guò)曝降低范圍0~5
     * @author Martin.Ma 2016.9.2
     */
    public function autoExposure() {
        $exposure_low = 0.4;//這兩個(gè)值內(nèi)為正常曝光范圍,可自己調(diào)整
        $exposure_high = 0.6;
        $hsl = $this->getImageHSL();
        $l = $hsl[0]["luminosity"]; //亮度
        if ($l > $exposure_high) {
            $constant = abs($l - 0.5) / 0.5 * 5;
            return $this->image->evaluateImage(Imagick::EVALUATE_POW, $constant);
        }
        if ($l < $exposure_low) {
            $constant = abs($l - 0.5) / 0.5 * 100;
            return $this->image->evaluateImage(Imagick::EVALUATE_LOG, $constant);
        }
        return true;
    }

}

二 使用方法

$image = new MyImagick("h1.jpg");
//自動(dòng)曝光算法
$image->autoExposure();
header("Content-type: image/jpeg");
echo $image->image;

三 結(jié)果實(shí)例(左側(cè)為處理結(jié)果)

備注:
1.首先,你要安裝Imagick這個(gè)庫(kù),關(guān)于如何安裝,文后會(huì)附一個(gè)轉(zhuǎn)載鏈接。
http://www.open-open.com/lib/...
2.開(kāi)發(fā)環(huán)境:windows7 WAMP3.0.4 64位 PHP7.0.4

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30400.html

相關(guān)文章

  • Intervention/image 圖片處理擴(kuò)展包的安裝和使用

    摘要:本文經(jīng)授權(quán)轉(zhuǎn)自社區(qū)說(shuō)明是為定制的圖片處理工具它提供了一套易于表達(dá)的方式來(lái)創(chuàng)建編輯圖片。 本文經(jīng)授權(quán)轉(zhuǎn)自 PHPHub 社區(qū) 說(shuō)明 Intervention/image 是為 Laravel 定制的圖片處理工具, 它提供了一套易于表達(dá)的方式來(lái)創(chuàng)建、編輯圖片。 本文章由 The EST Group 成員 @monkey 撰寫(xiě), 首發(fā)地為 PHPHub 社區(qū). Demo 代碼請(qǐng)見(jiàn):https...

    princekin 評(píng)論0 收藏0
  • PHP使用ImageMagick生成base64圖片

    摘要:個(gè)人博客本文原地址最近的項(xiàng)目中,需要用到畫(huà)圖和圖片拼接效果,這里是一些開(kāi)發(fā)過(guò)程里用到的一些點(diǎn)還有就是一些踩過(guò)的坑。通過(guò)生成圖片格式,為前端所使用。需要注意的是前端得到的額數(shù)據(jù)里包含有回車(chē)字符,需要特殊處理才可以正確顯示圖片。 個(gè)人博客 https://duanruilong.github.io/blog/本文原地址https://duanruilong.github.io/blog/2...

    avwu 評(píng)論0 收藏0
  • PHP使用ImageMagick生成base64圖片

    摘要:個(gè)人博客本文原地址最近的項(xiàng)目中,需要用到畫(huà)圖和圖片拼接效果,這里是一些開(kāi)發(fā)過(guò)程里用到的一些點(diǎn)還有就是一些踩過(guò)的坑。通過(guò)生成圖片格式,為前端所使用。需要注意的是前端得到的額數(shù)據(jù)里包含有回車(chē)字符,需要特殊處理才可以正確顯示圖片。 個(gè)人博客 https://duanruilong.github.io/blog/本文原地址https://duanruilong.github.io/blog/2...

    supernavy 評(píng)論0 收藏0
  • PHP的ImageMagick使用;

    摘要:我們只能把鄧肯去掉第一個(gè)參數(shù)是圖片的寬度第二個(gè)是高度圖片裁剪的軸位置圖片裁剪軸位置然后我們?cè)侔焉梢粋€(gè)圓角就生成了少了鄧肯現(xiàn)在馬刺,外加一個(gè)倫納德這里我重新寫(xiě)了文字,變成了 之前寫(xiě)了一個(gè)項(xiàng)目需要使用PHP的Imagick類(lèi)進(jìn)行圖像的操作;個(gè)人感覺(jué)目前關(guān)于Imagick的文檔雖然很多,但是比較亂。我會(huì)通過(guò)一個(gè)范例解釋Imagick的簡(jiǎn)單的使用; (1).創(chuàng)建一個(gè)新圖片,寬500px,高...

    余學(xué)文 評(píng)論0 收藏0
  • PHP極其強(qiáng)大的圖片處理庫(kù)Grafika詳細(xì)教程(1):圖像基本處理

    摘要:它包含所有的圖片處理方法。由于,是基于和庫(kù),所以使用方法會(huì)根據(jù)當(dāng)前情況,自動(dòng)選擇所需要的圖片處理庫(kù)。這里說(shuō)明下,如果文字為中文,需要找一個(gè)支持中文的字體。默認(rèn)字體不支持中文,所以你寫(xiě)中文,就是都是小方框。 Grafika是一個(gè)PHP圖像處理庫(kù),是基于Imagick和GD,可以用于改變圖片大小,剪裁,比較,添加水印等等功能。還有感知哈希,高級(jí)圖像過(guò)濾,繪制貝塞爾曲線等功能,可謂非常強(qiáng)大。...

    fai1017 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<