PHP Imagick 去背景 (抠图专用)

最近接到一个项目需要用到电子签章。
需求:章、人员签名,盖在白纸或手写在白纸上通过拍照的方式上传到系统。
前期是公司小妹通过PS把图片扣出来,弄成透明的背景然后上传。
这样每次有新增都需要人工处理,不方便和智能,在需求方的强烈要求下开启了研究之路。
文采不好废话不多说了。
一,PHP扩展之 Imagick安装 
(安装部分转至 https://www.cnblogs.com/jinxiblog/p/8053008.html)

使用环境

安装步骤

根据环境下载合适的 imagick扩展 和 imagemagick程序

1.下载拓展

下载地址一: http://windows.php.net/downloads/pecl/releases/imagick/
下载地址二: https://pecl.php.net/package/imagick
要点: 注意对应php版本 ts还是nts x86还是x64
这里以phpinfo()为准

所以我应该下载imagick 3.4.3版本 PHP5.6  Non Thread Safe (NTS) x86 的拓展——php_imagick-3.4.3-5.6-nts-vc11-x86.zip

2. 安装拓展

  1. 解压上述文件后,将php_imagick.dll复制到php/ext目录,或者其他你的存放拓展的目录
  2. 修改php.ini 加上extension=php_imagick.dll,注意php可能有多个ini,以phpinfo为准
  3. 此时复制解压上述文件目录中其他dll到php目录,重启apache,此时phpinfo显示拓展安装成功,但是 ImageMagick number of supported formats为0,到这里成功安装了一半

3 下载imagemagick程序

下载地址:http://windows.php.net/downloads/pecl/deps/
imagemagick还有官网下载,此处不鼓励从imagemagick官方下载,他们的网站上我并没有找到历史版本下载,安装失败的几率很大
下载与phpinfo提示一致的版本,此时需要注意  1.软件版本对应     2.vc11还是vc14 3.x86还是x64 都要以phpinfo为准,我的

所以我下载 ImageMagick-6.9.3-7

4 安装imagemagick程序

  1. 下载的文件解压后,将程序整体复制到无空格 无中文字符的目录中 E:\Program Files (x86)\
  2. 配置环境变量,在“此电脑”右键“属性”,以此点击“高级” “环境变量” ,在 “系统变量”中找到键为path的数据,双击path,选择“新建”,将刚刚放程序的目录“E:\Program Files (x86)\ImageMagick\bin”填入即可
  3. 将“E:\Program Files (x86)\ImageMagick\bin”目录中的所有的以“.DLL‘为后缀的文件放入php的根目录,应该有145个

 

重启计算机

上php代码

$color=new ImagickPixel("#ffffff"); 
$alpha='0.0';//0到1之间 背景透明度
$fuzz='0.5';//0到1之间 和上面的颜色相似度
//imagick = new \Imagick(realpath("images/BlueScreen.jpg"));
$imagick = new Imagick(dirname(__FILE__).'/zyt.jpg');
$imagick->setimageformat('png');
$imagick->transparentPaintImage(
$color, $alpha, $fuzz * Imagick::getQuantum(), false
);
$imagick->despeckleimage();
//直接输出在浏览器
header("Content-Type: image/png");
echo $imagick->getImageBlob();
//保存图片
$imagick->writeImage(dirname(__FILE__).'/zyt.png');
$imagick->clear();
$imagick->destroy();

 

拍照图片

处理后效果(浏览器输出)

 

处理后效果(PNG透明)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38810.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发了一个抠图/去背景应用

jr们早上好 iPhone 的 iOS 16有个很酷的功能,长按照片就能把其中的拍摄主体提取出来,抠图过程比一般的抠图App方便,精细度也更高。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KIlpLyow-1680141413142)(https…

抠图应用程序设计(三)——QT用户界面的实现

简介 ​ 本设计的GUI其实是由一个用户界面demo开发而成,主要由弹窗以及主界面组成。弹窗主要用于提示用户操作,为用户提供选择;主界面用于交互功能的实现。 外观设计 ​ 外观设计部分大部分在Qt Designer上完成。将所需控件按照方案论证中…

【虚幻引擎UE】UE5 AR初体验之静态动态模型加载

UE5的AR初体验之静态动态两种模型加载 基于配置好AR环境(参考另一篇文章) 先## 标题简单了解一下它的项目结构 这里的brush就是我们的操作空间范围 官方模板可以实现平面识别,控制对象的旋转和缩放。 本文主要说明在AR项目中实现模型加载…

在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地

在虚幻引擎5中构建你的首款游戏 - 04 - 地形和草地 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: << Your First Game In Un…

虚幻引擎(UE5)-大世界分区WorldPartition教程(三)

文章目录 前言LevelInstance的使用1.ALevelInstance2.选择Actor创建关卡3.运行时加载LevelInstance 总结 上一篇&#xff1a;虚幻引擎(UE5)-大世界分区WorldPartition教程(二) 前言 在制作大关卡时&#xff0c;可能会遇到这样一种情况&#xff0c;就是关卡中的某些Actor会重复…

虚幻引擎5 学习笔记2

一、visual studio 2019添加工作负荷 选中工具-获取工具和功能 点击工作负载-勾选要添加的负载——“使用c的桌面开发”和“使用c的游戏开发” “” 二、创建项目 创建一个c的项目&#xff0c;初学者包也勾上。名字不要有中文。 报错&#xff1a; 提示缺少了net程序&…

在虚幻引擎5中构建你的首款游戏 - 05 - 岩石和植物

在虚幻引擎5中构建你的首款游戏 - 05 - 岩石和植物 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: << Your First Game In Un…

虚幻引擎(UE5)-大世界分区WorldPartition教程(四)

文章目录 前言一、Data Layers的使用1.添加Actor到Data Layers2.运行时处理 总结 上一篇&#xff1a;虚幻引擎(UE5)-大世界分区WorldPartition教程(三) 前言 Data Layers&#xff08;UE4中叫Layers&#xff09;用于将Actor划分到不同的Layer中&#xff0c;通过在编辑器和运行…

UE5使用MetaHuman构建超现实的角色

使用免费的MetaHuman创造者应用程序为虚幻构建超现实的角色。 流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;48.0 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小解压后:1.66 GB 含课程文件|时长:1h 49…

虚幻引擎5改变了游戏,并与Perforce原生集成

游戏发展|版本控制 作者&#xff1a;Ryan L Italien 虚幻引擎是当下流行的游戏引擎之一。虽然很多团队喜欢UE4&#xff0c;但虚幻引擎5 (UE5)的抢先版本包含了一些期待已久的改进(加上一些令人惊叹的新功能)。 这篇文章将分析我们为什么对虚幻引擎 5 感到如此兴奋。此外&…

UE5 最新动态虚幻引擎全新版本引爆互联网

自 1998 年上市以来&#xff0c;虚幻引擎一直是顶级游戏开发工具之一。一些史上最大型游戏 —《杀出重围》和《生化奇兵》系列、《火箭联盟》、《堡垒之夜》等等 — 均使用该引擎的不同迭代版本进行构建。 随着电影和电视行业日益认识到虚拟引擎的作用&#xff0c;甚至在游戏业…

UE4 回合游戏项目 22- 控制新角色

在上一节&#xff08;UE4 回合游戏项目 21- 添加多种类型的敌人&#xff09;基础上新添加一个玩家角色 效果&#xff1a; 步骤&#xff1a; 1.打开进阶游戏资源&#xff0c;解压“回合迁移_第七节&#xff08;只是新人物包&#xff09;” 2.解压后双击打开工程 3.选中“ziyuan…

腾讯发布 3D 虚拟场景自动生成解决方案,用 AIGC 助力游戏开发提效

3月28日记者获悉&#xff0c;腾讯 AI Lab在2023游戏开发者大会&#xff08;Game Developers Conference&#xff09;上发布了自研的3D游戏场景自动生成解决方案&#xff0c;通过AIGC技术&#xff0c;帮助开发者在极短的时间内打造出高拟真、多样化的虚拟城市场景&#xff0c;大…

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门

在虚幻引擎5中构建你的首款游戏 - 09 - 压力板和开关门 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: << Your First Game I…

如何使用UE5新功能 “打包型关卡Actor” 实现场景的性能优化

如何使用UE5新功能“打包型关卡蓝图”实现场景性能优化 内容分为&#xff1a; 简介实操优化结果展示 看不懂原理看看实操就大概就能明白 什么是“打包型关卡蓝图” “打包型关卡蓝图”是UE5新功能 世界分区&#xff08;World Partition&#xff09; 的一部分 但 不依赖于项目…

在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包

在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效&音效&镜头震动&打包 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: &…

UE5的项目建立及UE5(虚幻引擎5)个人视角移动按键操作及运行项目/day.2

1.UE5的项目建立 进入UE5的界面就是这样&#xff1a; 由于我们是刚下载的&#xff0c;“最近打开的项目”是没有项目打开的所以我们需要新建一个新的项目。 注意&#xff0c;项目位置最好是英文的&#xff0c;否则可能会出错。&#xff08;可能不会&#xff0c;毕竟很多人都说有…

在虚幻引擎5中构建你的首款游戏 - 01 - 介绍

在虚幻引擎5中构建你的首款游戏 - 01 - 介绍 1. 教程介绍 本系列是针对 Epic开发者社区 的教程 << Your First Game In Unreal Engine 5 | Epic Developer Community (epicgames.com) (您在虚幻引擎 5 中的第一款游戏) >> 的学习笔记. 在官网上的视频是没有中文字…

在虚幻引擎5中构建你的首款游戏 - 06 - 游戏模式相机运动按键

在虚幻引擎5中构建你的首款游戏 - 06 - 游戏模式&相机&运动&按键 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: <&…

在虚幻引擎5中构建你的首款游戏 - 07 - 角色模型和动画

在虚幻引擎5中构建你的首款游戏 - 07 - 角色模型和动画 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >> << https://www.bilibili.com/video/BV1M34y1x7tc >> 官网地址: << Your First Game I…