我想知道如何使用Wand库将ImageMagick的这个工作命令行序列转换为Python脚本:
convert me.jpg -fill none -fuzz 1% -draw 'matte 0,0 floodfill' -flop -draw 'matte 0,0 floodfill' -flop me.png
它基本上允许我从具有一定容差(即模糊)的前景图像中减去已知的背景图像。我想用平面颜色填充结果区域。
我想在内存和我的Python脚本中完成所有这些操作,以避免将解码后的RAW图像数据重新压缩为jpeg两次。通过命令行执行此操作会强制执行额外的压缩步骤,在脚本中执行此操作只需要一次jpeg保存。
对此的一些帮助将非常感激。
编辑:更正,与我尝试过的其他事情混淆了。上述命令不会从已知图像中减去。这实际上是左上角像素和洪水填充,有1%模糊。当你看到只有一个输入图像时,显然很明显。仍然知道如何将上述内容转换为Python仍然有用。
答案 0 :(得分:1)
你可以尝试这样的事情。
<?php
include("_includes/PHPMailer/class.phpmailer.php");
if(file_exists('/tmp/resume.pdf')){
unlink('/tmp/resume.pdf');
}
if(isset($_POST['passed'])){
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$comment = $_POST['comment'];
#validate File
$File = $_FILES['resume']['tmp_name'];
move_uploaded_file($File, "/tmp/resume.pdf");
$to_name = "Spartan X Customer Support";
$subject = "Website User, " . $name . ", Submitted a Resume";
$message = "Name: " . $name . "\n E-mail: " . $email . "\n Phone Number: ". $phone . "\n Comment: " . $comment;
$from = "Spartan X Website User";
$to = "cfez@dm.marketing";
$mail = new PHPMailer();
$mail->FromName = $from;
$mail->From = "user@spartanx.com";
$mail->AddAttachment("/tmp/resume.pdf");
$mail->AddAddress($to, "Spartan X");
$mail->Subject = $subject;
$mail->Body = $message;
if(!$mail->Send()) {
$error = "Mailer Error: " . $mail->ErrorInfo;
}else{ $success = "Message sent!";
}
}else{header( 'Location: /index.html' ) ;}
?>
对于from wand.color import Color
from wand.drawing import Drawing
from wand.image import Image
with Image(filename='me.jpg') as img:
with Drawing() as ctx:
# -fill none
ctx.fill_color = Color('transparent')
# -draw 'matte 0,0 floodfill'
ctx.matte(x=0, y=0, paint_method='floodfill')
ctx(img)
# -flop
img.flop()
ctx(img)
img.flop()
img.save(filename='me.png')
,您需要做一些额外的工作来计算量子值。
-fuzz 1%