摘要:開(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
摘要:本文經(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...
摘要:個(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...
摘要:個(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...
摘要:我們只能把鄧肯去掉第一個(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,高...
摘要:它包含所有的圖片處理方法。由于,是基于和庫(kù),所以使用方法會(huì)根據(jù)當(dāng)前情況,自動(dòng)選擇所需要的圖片處理庫(kù)。這里說(shuō)明下,如果文字為中文,需要找一個(gè)支持中文的字體。默認(rèn)字體不支持中文,所以你寫(xiě)中文,就是都是小方框。 Grafika是一個(gè)PHP圖像處理庫(kù),是基于Imagick和GD,可以用于改變圖片大小,剪裁,比較,添加水印等等功能。還有感知哈希,高級(jí)圖像過(guò)濾,繪制貝塞爾曲線等功能,可謂非常強(qiáng)大。...
閱讀 2113·2021-11-23 09:51
閱讀 2854·2021-11-22 15:35
閱讀 2950·2019-08-30 15:53
閱讀 1051·2019-08-30 14:04
閱讀 3288·2019-08-29 12:39
閱讀 1819·2019-08-28 17:57
閱讀 1112·2019-08-26 13:39
閱讀 562·2019-08-26 13:34