摘要:開發思路自動調整曝光根據圖片中最多的色彩值中的亮度判斷超過為過曝,不足為欠曝計算亮度的絕對值,計算曝光調整范圍并修正圖片欠曝補償范圍過曝降低范圍調整圖片曝光值一自定義圖片處理類自定義圖片處理類獲取圖像信息獲取個主要色調獲取
開發思路:自動調整曝光
1.根據圖片中最多的色彩HSL值中的亮度(l:0~1)判斷,超過0.6為過曝,不足0.4為欠曝
2.計算(亮度-0.5)的絕對值,計算曝光調整范圍并修正圖片
3.欠曝補償范圍0~100
4.過曝降低范圍0~5
5.調整圖片曝光值
一 自定義圖片處理類
image = new Imagick($file); } /** * 獲取圖像HSL信息 * @param type $num * @return type */ public function getImageHSL($num = 1) { $avater = clone $this->image; //獲取 $num個主要色調 $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; } /** * 自動調整曝光 * 根據圖片中最多的色彩HSL值中的亮度(l:0~1)判斷 * 超過$exposure_high為過曝,不足$exposure_low為欠曝 * 計算(亮度-0.5)的絕對值,計算曝光調整范圍并修正圖片 * 欠曝補償范圍0~100 * 過曝降低范圍0~5 * @author Martin.Ma 2016.9.2 */ public function autoExposure() { $exposure_low = 0.4;//這兩個值內為正常曝光范圍,可自己調整 $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"); //自動曝光算法 $image->autoExposure(); header("Content-type: image/jpeg"); echo $image->image;
三 結果實例(左側為處理結果)
備注:
1.首先,你要安裝Imagick這個庫,關于如何安裝,文后會附一個轉載鏈接。
http://www.open-open.com/lib/...
2.開發環境:windows7 WAMP3.0.4 64位 PHP7.0.4
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30400.html
摘要:本文經授權轉自社區說明是為定制的圖片處理工具它提供了一套易于表達的方式來創建編輯圖片。 本文經授權轉自 PHPHub 社區 說明 Intervention/image 是為 Laravel 定制的圖片處理工具, 它提供了一套易于表達的方式來創建、編輯圖片。 本文章由 The EST Group 成員 @monkey 撰寫, 首發地為 PHPHub 社區. Demo 代碼請見:https...
摘要:個人博客本文原地址最近的項目中,需要用到畫圖和圖片拼接效果,這里是一些開發過程里用到的一些點還有就是一些踩過的坑。通過生成圖片格式,為前端所使用。需要注意的是前端得到的額數據里包含有回車字符,需要特殊處理才可以正確顯示圖片。 個人博客 https://duanruilong.github.io/blog/本文原地址https://duanruilong.github.io/blog/2...
摘要:個人博客本文原地址最近的項目中,需要用到畫圖和圖片拼接效果,這里是一些開發過程里用到的一些點還有就是一些踩過的坑。通過生成圖片格式,為前端所使用。需要注意的是前端得到的額數據里包含有回車字符,需要特殊處理才可以正確顯示圖片。 個人博客 https://duanruilong.github.io/blog/本文原地址https://duanruilong.github.io/blog/2...
摘要:我們只能把鄧肯去掉第一個參數是圖片的寬度第二個是高度圖片裁剪的軸位置圖片裁剪軸位置然后我們再把生成一個圓角就生成了少了鄧肯現在馬刺,外加一個倫納德這里我重新寫了文字,變成了 之前寫了一個項目需要使用PHP的Imagick類進行圖像的操作;個人感覺目前關于Imagick的文檔雖然很多,但是比較亂。我會通過一個范例解釋Imagick的簡單的使用; (1).創建一個新圖片,寬500px,高...
摘要:它包含所有的圖片處理方法。由于,是基于和庫,所以使用方法會根據當前情況,自動選擇所需要的圖片處理庫。這里說明下,如果文字為中文,需要找一個支持中文的字體。默認字體不支持中文,所以你寫中文,就是都是小方框。 Grafika是一個PHP圖像處理庫,是基于Imagick和GD,可以用于改變圖片大小,剪裁,比較,添加水印等等功能。還有感知哈希,高級圖像過濾,繪制貝塞爾曲線等功能,可謂非常強大。...
閱讀 2096·2021-11-23 09:51
閱讀 2839·2021-11-22 15:35
閱讀 2937·2019-08-30 15:53
閱讀 1038·2019-08-30 14:04
閱讀 3276·2019-08-29 12:39
閱讀 1802·2019-08-28 17:57
閱讀 1086·2019-08-26 13:39
閱讀 551·2019-08-26 13:34