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

unn*_*nni 8 php jquery image image-processing codeigniter-2

我在客户端的浏览器上呈现了以下html代码:

<div id="Div">
  <img src="myImage.jpg" id="myImage"/>
</div>
Run Code Online (Sandbox Code Playgroud)

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

Bab*_*aba 3

消除红眼有很多事情要做

A. 眼睛检测

B. 红眼区域映射

C. 填充颜色

D·法兹

E、不透明

我的建议

如果不是 Jquery 甚至 PHP 的 JOB 都无法有效消除红眼

可能的解决方案

  1. 获取一个 Jquery 区域选择脚本,用户可以在其中自行选择红眼(通过此脚本,您将能够获取区域(X1、Y1、X2、Y2、高度、宽度)示例http://odyniec.net/projects/图像区域选择/

  2. 有一个简单的颜色选择器,他们可以在其中选择替换颜色???默认可以是黑色

  3. 发送请求以在 PHP 中imagemagick使用exec以消除红眼

  4. 您无法输出图像...

编辑1

我能够帮助您为这项工作准备好命令行工具

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,255,1)" +opaque "rgba(0,0,0,0)" \
-fill "rgba(0,0,0,1)" -opaque "rgba(0,0,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,0,100 \) $tmpA4 \
-compose over -composite $outfile
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助

谢谢

:)