Imagemagick C Wand API : Farbtiefe eines Bildes setzen

10/12/2007 - 10:03 von Dominic Eschweiler | Report spam
Hallo Zusammen,

da Imagemagick ziemlich hàufig unter Unix / Linux eingesetzt wird, hoffe ich
mal das ich hier richtig bin. Nun zu meinem Problem:

Ich benutze IM für eine Bildanalyse, die eine Farbtiefe von 8 Bit SW vorraus
setzt. Nun habe ich das Bild am Anfang meines Programms mit dem
Befehlen ...

MagickQuantizeImage( finger_raw , 256, GRAYColorspace , 0, MagickFalse,
MagickFalse);
MagickSetImageColorspace( finger_raw , GRAYColorspace );

... nach SW konvertiert. Nun wollte ich im nàchsten Schritt die mit
Auswertung beginnen, bekahm aber immer sehr krumme Werte dabei heraus. Dann
noch weiter in der API-Dpku geschaut und mit letztlich mit ...

printf( "tiefe : %d ", pixel.depth );

... die Farbtiefe ausgeben lassen. Die liegt aber nun bei 16 Bit (so ein
Mist). Da aber die die Parameter in der API nicht so gut erklàrt sind
(nàmlich garnicht), jetzt mal ne Frage an euch :

Was muss ich machen, um eine Image-Wand in ein Bild mit 8 Bit Farbtiefe zu
konvertieren?

Vielen Dank für eure Hilfe, schon im Vorraus!

Gruß
Dominic
 

Lesen sie die antworten

#1 Ole Hinz
10/12/2007 - 21:00 | Warnen spam
Hallo,

Dominic Eschweiler wrote:
Was muss ich machen, um eine Image-Wand in ein Bild mit 8 Bit Farbtiefe zu
konvertieren?



Ich bin da nicht so der Experte, aber ein wenig googeln hat mir folgende
Funktion vorgeschlagen:
bool MagickSetImageDepth( MagickWand mgck_wnd, int depth [, int
channel_type]] )

Ist zwar aus dem PHP-API, aber vielleicht gibt es das auch in C.
Für depth kann man die Werte 8, 16 oder 32 wàhlen.

Quelle:
http://www.magickwand.org/MagickSetImageDepth.html


Gruß
Ole Hinz

Ähnliche fragen