Page 1 of 2
Fred's ImageMagick Scripts
Posted: 2015-09-23T13:27:44-07:00
by ozdevs
Hi Fred,
First of all, thanks a lot for sharing all helpful scripts for ImageMagic! I will have a question about 'embroidery effect'.
I uploaded the embroidery file into my server and ran the following bash and similar variations but always failed. It creates the effect but only gray color background but other colors on the CNBC logo. My IM version is 6.7 and tested some of other scripts you shared and worked.
COMMAND I USE:
bash /var/www/html/dashboard/embroidery -n 8 -p 1 -t 2 -i 0 -C 0 /var/www/html/uploads/cnbc.jpg /var/www/html/cnbc3.jpg
INPUT FILE: The input file I used here is the same you are using:
http://www.fmwconcepts.com/imagemagick/ ... s/cnbc.jpg
OUTPUT FILE:
http://52.25.162.129/cnbc3.jpg
Could you please tell me if I am missing something? Your help highly appreciated!
Re: Fred's ImageMagick Scripts
Posted: 2015-09-24T16:18:06-07:00
by fmw42
There was a typo in my argument trapping. It worked fine with the defaults and no arguments specified, but failed when -p was specified. I have fixed that and uploaded a new script. Download that and let me know if that still fails. If so what is your exact version of IM from
convert -version
Re: Fred's ImageMagick Scripts
Posted: 2015-12-07T08:20:03-07:00
by makwana.ajay
I am also facing the problem with the embroidery image conversion. When I am trying to apply the embroidery effect, only background is converting into the embroidery and rest of the image part became the black. I am using the same cnbc image.
http://www.fmwconcepts.com/imagemagick/ ... s/cnbc.jpg.
Please provide me the solution of this issue.
Re: Fred's ImageMagick Scripts
Posted: 2015-12-07T11:16:37-07:00
by fmw42
What is your exact command line? What error messages? What is your version of IM and platform? On what web site is this being used? Did you upgrade the script after I fixed the -p argument as mentioned above?
Re: Fred's ImageMagick Scripts
Posted: 2015-12-07T23:34:59-07:00
by makwana.ajay
I am using the below logic with the php.
<?php
$path_to_script= dirname(__FILE__)."/embroidery.sh";
exec("$path_to_script -n 8 -p 1 -t 2 -i 0 -C 0 cnbc.jpg cnbc_1.jpg");
exit;
?>
Platform : Linux
Imagemagick version : ImageMagick 6.9.0-3 Q16 x86_64 2015-01-09
I am using the latest embroidery script.
There is no any error message.
Only background converted into embroidery other than that all parts converted into black color.
Re: Fred's ImageMagick Scripts
Posted: 2015-12-07T23:56:11-07:00
by makwana.ajay
I got below error with junk data. So I have posted error message here.
"sort: write failed: standard output: Broken pipe sort: write error"
Re: Fred's ImageMagick Scripts
Posted: 2015-12-08T02:22:25-07:00
by fmw42
I do not understand your PHP syntax. Try this
<?php
exec("/fullpath2/embroidery -n 8 -p 1 -t 2 /fullpath2/cnbc.jpg /fullpath2/result.jpg 2>&1",$out,$returnval);
foreach($out as $text)
{echo "$text<br>";}
?>
Do you get any error messages?
Re: Fred's ImageMagick Scripts
Posted: 2015-12-08T03:24:43-07:00
by makwana.ajay
Yes, We got the same error. Below is the error which we have found with your provided script.
Error:-
sort: write failed: standard output: Broken pipe
sort: write error
Below is the final output after applying the embroidery effect.
Re: Fred's ImageMagick Scripts
Posted: 2015-12-08T11:08:29-07:00
by fmw42
Do you have the unix command sort available?
What do you get from
Code: Select all
convert cnbc.jpg -format "%c" histogram:info: |\
sort -k 1 -nr | head -n 8 | sed -n "s/^.*\(#.*\) .*$/\1/p"
or
Code: Select all
convert cnbc.jpg -format "%c" histogram:info: | sort -k 1 -nr | head -n 8 | sed -n "s/^.*\(#.*\) .*$/\1/p"
I get
Code: Select all
#FFFFFF
#0A0B0D
#00A13A
#5C4F94
#0070B6
#F5AD00
#BA2342
#E36612
What web site is this for?
Re: Fred's ImageMagick Scripts
Posted: 2015-12-08T23:41:03-07:00
by makwana.ajay
We found the same colors from the provided the script.
Re: Fred's ImageMagick Scripts
Posted: 2015-12-09T00:23:05-07:00
by fmw42
makwana.ajay wrote:We found the same colors from the provided the script.
Are you saying that the sort worked fine? If so, then I am at a loss to know why the script fails for you, esp, if you have modifed the PATH to include the path to convert.
exec("$path_to_script -n 8 -p 1 -t 2 -i 0 -C 0 cnbc.jpg cnbc_1.jpg");
Are you running the script where the images reside? If not, then you need the path to the images.
try
Code: Select all
exec("bash $path_to_script -n 8 -p 1 -t 2 -i 0 -C 0 cnbc.jpg cnbc_1.jpg");
Does that help?
try editing the sort line in the script at 419/420 to be
Code: Select all
colorArr=(`convert $dir/tmpI.mpc -format "%c" histogram:info:- | sort -k 1 -nr | head -n $numcolors | sed -n "s/^.*\(#.*\) .*$/\1/p"`
Does that make a difference?
Can you test in a terminal window (even on another computer) to see if that works? That will tell us if it is your PHP environment.
Re: Fred's ImageMagick Scripts
Posted: 2015-12-09T00:57:00-07:00
by makwana.ajay
Hello,
Thank you for your prompt reply and solution. Now the solution works fine with the command prompt but still there is some issue when try to execute the script from the PHP.
Below are the some server configuration.
System :- Linux dnb.com 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64
Apache Version :- Apache/2.2.15 (CentOS)
PHP Version :- 5.3.3
Please look into that and help us to work it with php script.
Thanks a lot.
Re: Fred's ImageMagick Scripts
Posted: 2015-12-09T02:13:25-07:00
by fmw42
Sorry, but I do not know how to configure PHP.
Try
<?php
exec(""bash $path_to_script -n 8 -p 1 -t 2 -i 0 -C 0 cnbc.jpg cnbc_1.jpg 2>&1",$out,$returnval);
foreach($out as $text)
{echo "$text<br>";}
?>
Do you get any messages?
Re: Fred's ImageMagick Scripts
Posted: 2015-12-09T02:34:49-07:00
by makwana.ajay
Yes, we are getting message given below.
sort: write failed: standard output: Broken pipe
sort: write error
Re: Fred's ImageMagick Scripts
Posted: 2015-12-09T10:51:11-07:00
by fmw42
Does this work?
<?php
exec("convert cnbc.jpg -format '%c' histogram:info:- | sort -k 1 -nr | head -n 8 | sed -n 's/^.*\(#.*\) .*$/\1/p' 2>&1",$out,$returnval);
foreach($out as $text)
{echo "$text<br>";}
?>
or
<?php
exec("convert cnbc.jpg -format '%c' histogram:info:- | sort -k 1 | head -n 8 | sed -n 's/^.*\(#.*\) .*$/\1/p' 2>&1",$out,$returnval);
foreach($out as $text)
{echo "$text<br>";}
?>