unrecognized color error

Questions and postings pertaining to the usage of ImageMagick regardless of the interface. This includes the command-line utilities, as well as the C and C++ APIs. Usage questions are like "How do I use ImageMagick to create drop shadows?".
Post Reply
mikmach
Posts: 42
Joined: 2015-02-06T07:50:43-07:00
Authentication code: 6789
Contact:

unrecognized color error

Post by mikmach »

Hello,

ImageMagick: Version: ImageMagick 7.0.8-8 Q16 x64 2018-07-23 (for MS-Windows)
Windows 8.1
cygwin - zsh 5.5.1

I'd like to create most color pallette for image and following some examples I've got to:

Code: Select all

magick convert -size 100x100 $(magick convert IMG_20181112_055511.jpg -format %c -colorspace HSB -colors 10 histogram:info:- | sort -n -r | awk '{print $NF}' | sed -e 's/\r//g' | sed -e 's/srgb/xc:"rgb/' -e 's/)/)"/' | paste -sd' ') +append pallette0.png
Part in $() is for extraction colors from histogram, ordering it and getting rid of some cygwin/windows/newline stuff, when redirected to file it is in form:

Code: Select all

xc:"rgb(18,17,17)" xc:"rgb(163,164,169)" xc:"rgb(216,213,211)" xc:"rgb(180,186,197)" xc:"rgb(82,80,84)" xc:"rgb(188,195,206)" xc:"rgb(211,175,156)" xc:"rgb(147,129,124)" xc:"rgb(232,207,178)" xc:"rgb(192,191,193)"
When using first chunk I get:

Code: Select all

convert: unrecognized color `"rgb(18,17,17)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(163,164,169)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(216,213,211)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(180,186,197)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(82,80,84)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(188,195,206)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(211,175,156)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(147,129,124)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(232,207,178)"' @ warning/color.c/QueryColorCompliance/2394.
convert: unrecognized color `"rgb(192,191,193)"' @ warning/color.c/QueryColorCompliance/2394.
When pasting second chunk into command line everything works as intended, just when using it directly (or even `cat`ing it from temp file).

It also happens when extracting hex color values (like #93817C). If it was purely weird stuff on border of Windows ImageMagick version and cygwin it should fail with last color value (192,191,193) - not all of them separately

Any help please?
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK
Contact:

Re: unrecognized color error

Post by snibgo »

Why do you have double-quotes? Try removing them.
snibgo's IM pages: im.snibgo.com
mikmach
Posts: 42
Joined: 2015-02-06T07:50:43-07:00
Authentication code: 6789
Contact:

Re: unrecognized color error

Post by mikmach »

I've found alternative:

Code: Select all

magick convert IMG_20181112_055511.jpg +dither -colors 10 -unique-colors -filter box -resize 3000% pdither.png
But I'd like to solve original problem - going through histogram gives some more options for color choosing.

TIA
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK
Contact:

Re: unrecognized color error

Post by snibgo »

milkmach wrote:But I'd like to solve original problem ...
Don't add those quotes. They are not interpreted by the shell but passed to IM, which doesn't expect quotes.
snibgo's IM pages: im.snibgo.com
snibgo
Posts: 12159
Joined: 2010-01-23T23:01:33-07:00
Authentication code: 1151
Location: England, UK
Contact:

Re: unrecognized color error

Post by snibgo »

wrote:convert: unrecognized color `"rgb(18,17,17)"' @ warning/color.c/QueryColorCompliance/2394.
The warning tells us that IM is trying to interpret a colour that starts with double quotes. No colours start with double quotes.

We can see the problem with pure bash commands. Bash removes the quotes in:

Code: Select all

$ echo asd:"xyz"
asd:xyz
But if we use sed to create the quotes, they are not removed:

Code: Select all

$ echo asd:xyz | sed -e 's/xyz/"xyz"/'
asd:"xyz"
If we use that in a command expansion, they are not removed:

Code: Select all

$ echo $(echo asd:xyz | sed -e 's/xyz/"xyz"/' )
asd:"xyz"
I'm using Cygwin bash on Windows, but I expect the same behaviour on all versions of bash.
snibgo's IM pages: im.snibgo.com
mikmach
Posts: 42
Joined: 2015-02-06T07:50:43-07:00
Authentication code: 6789
Contact:

Re: unrecognized color error

Post by mikmach »

Thank you all so much. Just removing " solved case and when testing on series of images it confirmed my impression. Getting info from histogram gives better results (for me) than use of simple color reduction.
Post Reply

Who is online

Users browsing this forum: Amazon [Bot], Bing [Bot], Majestic-12 [Bot] and 40 guests