Page 1 of 2

[Resolved] convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-02T17:00:16-07:00
by svengineer99
After installation of http://www.imagemagick.org/download/bin ... 64-dll.exe I can't find convert.exe in the ImageMagick-7.0.1-Q16 folder; everything else seems to be there - compare, composite, conjure, .. - just not convert.exe. Same issue on 2 different Win8.1 systems also with Q8, -static and x86 versions. Same procedure with 6.9.3-9-Q16-x64-dll.exe works fine with convert.exe there as expected.

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-02T17:02:29-07:00
by fmw42
Imagemagick 7 uses the "magick" command in place of "convert". I do not know Windows, but I thought a binary install was supposed to make a symbolic link from convert to magick. But as I do not know Windows, I do not know how it handles the .exe.

Perhaps convert.exe is linked to magick.exe.

see http://imagemagick.org/script/porting.php#cli for the changes between IM 6 and IM 7

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-02T17:21:10-07:00
by snibgo
The IM 7 for Windows instllation process has a series of windows, including a load of checkboxes. About half way down one of these is wording something like "Install legacy components (convert.exe etc)". Tick this box.

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-02T20:15:49-07:00
by GeeMack
On Windows 7 64 Pro, I installed "ImageMagick-7.0.1-0-Q16-HDRI-x64-static.exe", dated 2016-05-01, and downloaded from "ftp://ftp.imagemagick.org/pub/ImageMagick/binaries/". I checked the box to install legacy programs, and it didn't install convert, mogrify, montage, etc. I downloaded another with the same name, just a few minutes ago, which had the same date stamp but a newer time stamp, and was a few kilobytes larger. It also didn't install the legacy utilities.

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-02T20:54:10-07:00
by snibgo
Perhaps there was a bug in those builds. I downloaded and installed ImageMagick-7.0.1-0-Q16-x64-dll.exe, ticking the box for legacy programs. It installed magick.exe, convert.exe, mogrify.exe, montage.exe, etc. "convert -version" shows:

Code: Select all

ImageMagick 7.0.1-0 Q16 x64 2016-04-30

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T13:08:44-07:00
by svengineer99
Install legacy components check box works for me (my bad for missing it before) but now 7.0.1-Q16 convert gives radically different result than 6.9.3-9-Q16 convert and replacing convert with magick is different again from both. Should legacy convert behave the same as before or do I need to re-write all my scripts (admittedly maybe not best practice format but working in 6.9.3-9)?

[Edit - I should note that the source images contain alpha so maybe the IM7 behavioral changes involving alpha channel (that I don't completely understand) are the issue? Any tips what to modify to replicate the original 6.9.3.9 result in 7.0.1 would be greatly appreciated. Thanks in advance..]

zip source and outputs (scripts run in TestIM6.9.3-9convert-vs-7.0.1convertandmagick folder, outputs in Textures sub-folder):
https://www.dropbox.com/s/63ix33f79wkj1 ... ck.7z?dl=0

Code: Select all

convert Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove miff:- | composite -compose dst_out Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds miff:- -alpha set miff:- | convert Textures\SkyDiversity\Tx_Skd_4xCloudy.dds miff:- -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds  
.jpg converted output (6.9.3-9-Q16): https://www.dropbox.com/s/6wbdpoe5nyorg ... 9.jpg?dl=0
.jpg converted output (7.0.1-Q16): https://www.dropbox.com/s/05ixzogbvbbg5 ... 9.jpg?dl=0

Code: Select all

magick Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -background rgb(6,8,10) -alpha remove miff:- | composite -compose dst_out Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds miff:- -alpha set miff:- | magick Textures\SkyDiversity\Tx_Skd_4xCloudy.dds miff:- -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds 
.jpg converted output (7.0.1-Q16): https://www.dropbox.com/s/t5f9u4jiwa0t8 ... 9.jpg?dl=0

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T14:25:16-07:00
by fmw42
Why are you piping to the deprecated composite, when you could do it all in one command line using convert ... -composite?

See http://www.imagemagick.org/Usage/compose/#compose

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T14:34:13-07:00
by fmw42
Seems to me that there was some recent activity regarding DDS format at viewtopic.php?f=3&t=27169&p=132698&hilit=DDS#p120361. Perhaps a fix was made to one or the other releases but not both?

Sorry, but I do not know much about DDS format and have not used it before.

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T14:40:44-07:00
by svengineer99
I copied from examples from maybe too old or not best practice posts, and it worked so I didn't pay too much attention to the syntax. I didn't see anything about composite being deprecated in the 7.0 release though so I'm still at a loss why it totally barfs on the same usage that worked fine with 6.9.3-9.

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T15:08:39-07:00
by fmw42
I do not know why, but think it might have to do with DDS format changes. composite has been sort of deprecated for a long time in favor of the more flexible convert ... -composite. It is a legacy command. Composite still works as far as I know. But you would do well to start using convert ... -composite, so your command could avoid the pipes and run in one single command line. Ultimately, composite will go away, but I do not know when.

Someone who uses DDS format and Windows should check this for you. Perhaps they know more or something was not fixed in Windows (or even unix) between release. What is puzzling is that it is different using IM 7 convert and magick. In unix, convert is just a copy or symbolic link to magick. I do not know about the use of Windows legacy mode to get to convert in IM 7.

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T15:26:26-07:00
by fmw42
convert Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove miff:- | composite -compose dst_out Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds miff:- -alpha set miff:- | convert Textures\SkyDiversity\Tx_Skd_4xCloudy.dds miff:- -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds
I do not see how this command works, since you are missing the -compose method in your composite line. You are also writing over your input image. If you do that and then test with another version of IM, you are sure to get differences.

I ran these commands and get the same results on IM 6.9.3.9 Q16 Mac OSX and IM 7.0.1.0 Q16 HDRI Mac OSX.

Note: I replace your standard-in miff:- with just -. I also added -compose over, since you had no method associated with your -compose.

Code: Select all

convert Tx_Sky_Overcast.dds -resize 4096x4096 -background "rgb(6,8,10)" -alpha remove miff:- |\
composite -compose over Tx_Skd_CloudBreak_Mask.dds - -alpha set miff:- |\
convert Tx_Skd_4xCloudy.dds - -composite \
-define dds:compression=dxt5 -define dds:cluster-fit=false Tx_Sky_Overcast_6939.dds 

im7 magick Tx_Sky_Overcast.dds -resize 4096x4096 -background "rgb(6,8,10)" -alpha remove miff:- |\
composite -compose over Tx_Skd_CloudBreak_Mask.dds - -alpha set miff:- |\
convert Tx_Skd_4xCloudy.dds - -composite \
-define dds:compression=dxt5 -define dds:cluster-fit=false Tx_Sky_Overcast_7010magick.dds 

compare -metric rmse Tx_Sky_Overcast_6939.dds Tx_Sky_Overcast_7010magick.dds null: 
7.35433 (0.00011222)

Re: convert.exe missing from 7.0.1-Q16?

Posted: 2016-05-04T16:31:28-07:00
by svengineer99
Thanks. With your helpful input I was able to get a simpler command working equally well using both 7.0.1 convert and magick:

magick ( Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove ) Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds -alpha set -compose dst_out -composite Textures\SkyDiversity\Tx_Skd_4xCloudy.dds -compose multiply -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds

convert ( Textures\SkyDiversity_Orig_Skies\Tx_Sky_Overcast.dds -resize 4096x4096 -background rgb(6,8,10) -alpha remove ) Textures\SkyDiversity\Tx_Skd_CloudBreak_Mask.dds -alpha set -compose dst_out -composite Textures\SkyDiversity\Tx_Skd_4xCloudy.dds -compose multiply -composite -define dds:compression=dxt5 -define dds:cluster-fit=false Textures\Tx_Sky_Overcast.dds

Thank you again. Hopefully my case is unique and it's not recurring issue for others upgrading to IM7.

convert still missing ?

Posted: 2016-06-06T08:02:12-07:00
by Charlie
Hello,
I'm having the same issue, with convert still missing from ImageMagick-7.0.1-9-Q16-x64-static, although I've ticked the "install legacy component" option.

PS: @Fred, like you said, I thought "magick" was the substitution tool for "convert", with just a symbolic link missing.
However, one of your transition scripts (http://www.fmwconcepts.com/imagemagick/ ... /index.php)
is not working with "magick". It generates an empty mp4. It still runs fine with "convert" though, so at the moment I'm keeping a previous IM installation.

Re: convert still missing ?

Posted: 2016-06-06T09:30:05-07:00
by fmw42
Charlie wrote: PS: @Fred, like you said, I thought "magick" was the substitution tool for "convert", with just a symbolic link missing.
However, one of your transition scripts (http://www.fmwconcepts.com/imagemagick/ ... /index.php)
is not working with "magick". It generates an empty mp4. It still runs fine with "convert" though, so at the moment I'm keeping a previous IM installation.
The transitions script works fine for me under IM 6.9.4.7 and 7.0.1.9. I am not sure I understand what you mean by it does not run with magick. The script is not called with either magick or convert. Internally it uses convert, not magick. So you must have the symbolic link working so that it will find convert.

What was your command? What changes did you make when you say you used "magick"? Please clarify.

Re: [Resolved] convert.exe missing from 7.0.1-Q16?

Posted: 2016-06-06T13:06:08-07:00
by snibgo
PS: @Fred, like you said, I thought "magick" was the substitution tool for "convert", with just a symbolic link missing.
This is not true for Windows pre-built v7 binaries. (At least, for v7.0.1-4.)

If we have a v6 convert command, for example:

Code: Select all

convert xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
... then we have three alternative ways of writing this in v7:

Code: Select all

convert xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
magick xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
magick convert xc:rg(10%,20%,30%,0.8) -evaluate divide 2 txt:
EDIT: Typo. Those functions should be "rgba(...)" not "rg(...)".

The v6 result is:

Code: Select all

0,0: (3277,6554,9831,52428)  #0CCD199A2667CCCC
The v7 result is:

Code: Select all

0,0: (3277,6554,9831,26214)  #0CCD199A26676666
The difference is because v6 has a default "-channel" of "RGB,Sync" where v7's default is "RGBA,Sync". If we want the same result, we need to explicitly set "-channel".