加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用Jquery从客户端的Image中删除红眼

发布时间:2020-12-13 13:25:00 所属栏目:PHP教程 来源:网络整理
导读:我在客户端的浏览器上呈现了以下html代码: div id="Div" img src="myImage.jpg" id="myImage"//div 该特定图像由用户上载,然后在此处显示. 我需要允许我的用户从此图像中删除任何红眼.我想这样做没有任何回发(我在后面使用CodeIgniter).在JQuery(或普通的Ja
我在客户端的浏览器上呈现了以下html代码:
<div id="Div">
  <img src="myImage.jpg" id="myImage"/>
</div>

该特定图像由用户上载,然后在此处显示.
我需要允许我的用户从此图像中删除任何红眼.我想这样做没有任何回发(我在后面使用CodeIgniter).在JQuery(或普通的Javascript)中是否有可用的库?如果不是什么可能是一个好方法?

红眼消除有很多事情要发生

A.眼睛检测

B.红眼区域绘图

C.填充颜色

D. Fuzz

E. Opaque

我的建议

如果不是Jquery的JOB,甚至PHP都不会有效地消除红眼

可能的解决方案

>获取一个Jquery区域选择脚本,用户可以自己选择红眼(使用此功能,您可以获得区域(X1,Y1,X2,Y2,高度,宽度)示例http://odyniec.net/projects/imgareaselect/
>有一个简单的颜色选择器,他们可以选择替换颜色???默认可以是黑色
>使用PHP中的exec向imagemagick发送请求以删除红眼
>您无法输出图像…

编辑1

我能够帮助您为此JOB获得一个现成的命令行工具

http://www.fmwconcepts.com/imagemagick/index.php
http://www.fmwconcepts.com/imagemagick/redeye/index.php

基本概念

A.创建输入图像的去饱和副本

B.执行模糊填充以创建遮罩图像

C.使用蒙版图像将原稿与去饱和图像合成

D.应用形态学闭合操作来填充面罩中的镜面孔
然后创建一个差异操作来创建一个只有孔的新掩码

E.应用新蒙版以完全轻盈地合成先前的结果,
原始图像的零饱和度版本

样品处理

convert -quiet -regard-warnings "$infile" +repage "$tmpA1"
convert $tmpA1 -modulate $light,$sat,100 $tmpA2
proc=""
for ((i=0; i<np; i++)); do
proc="$proc matte ${pairArray[i]} floodfill"
done
convert $tmpA5 -fuzz $fuzz% -fill none -draw "$proc" 
-fill "rgba(255,255,1)" +opaque "rgba(0,0)" 
-fill "rgba(0,1)" -opaque "rgba(0,0)" 
-alpha off -negate $tmpA3
if [ "$dilate" = 0 ]; then
dilation=""
else
dilation="-morphology dilate disk:$dilate"
fi
convert $tmpA1 $tmpA2 $tmpA3 -compose over -composite $tmpA2
convert $tmpA3 ( +clone -morphology close disk:$rad $dilation ) 
-compose difference -composite -auto-level 
-negate -threshold 0 -negate $tmpA4
convert $tmpA2 ( $tmpA1 -modulate 100,100 ) $tmpA4 
-compose over -composite $outfile

我希望这有帮助

谢谢

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读