zoukankan      html  css  js  c++  java
  • 利用高斯算法实现图片模糊处理

    <?php
    class image_blur{
    
         function gaussian_blur($srcImg,$savepath=null,$savename=null,$blurFactor=3){
            $gdImageResource=$this->image_create_from_ext($srcImg);
            $srcImgObj=$this->blur($gdImageResource,$blurFactor);
            $temp = pathinfo($srcImg);
            $name = $temp['basename'];
            $path = $temp['dirname'];
            $exte = $temp['extension'];
            $savename = $savename ? $savename : $name;
            $savepath = $savepath ? $savepath : $path;
            $savefile = $savepath .'/'. $savename;
            $srcinfo = @getimagesize($srcImg);
            switch ($srcinfo[2]) {
                case 1: imagegif($srcImgObj, $savefile); break;
                case 2: imagejpeg($srcImgObj, $savefile); break;
                case 3: imagepng($srcImgObj, $savefile); break;
                default: return '保存失败'; //保存失败
            }
    
            return $savefile;
            imagedestroy($srcImgObj);
        }
    
    }
    $image_blur = new image_blur();
    //blurFactor的值代表模糊程度,savepath为空时候直接覆盖,savename为空直接用原名
    $image_blur->gaussian_blur($srcImg="./5.jpg",$savepath=null,$savename=null,$blurFactor=5);
    ?>

    这个方法百度到的,有个面试我的让我做,百度了一堆资料才实现。

    //blurFactor的值代表模糊程度
    效果展示:
    原图


    模糊程度2


    模糊程度3


    模糊程度4


    模糊程度5


    模糊程度6


    模糊程度7

    
    
  • 相关阅读:
    ubuntu下如何更改mysql数据存放路径
    collection_select
    发现星期六日的电视比较好看
    rails
    系统抢救10.04
    劫后重生,痛定思痛,ubuntu 10.04=>10.10
    随机查询N条记录
    which linux your like
    kindeditor的使用
    array
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/6034551.html
Copyright © 2011-2022 走看看