2011-08-21 3 views
1

J'essaie de convertir l'image capturée par la caméra en image 8 bits. Et cela devrait être l'image en niveaux de gris.Comment convertir bitmap capturé en image 8 bits en échelle de gris?

J'ai cherché dans les forums, mais pourrait trouver le moyen de convertir en image 8 bits.

Toute aide ou suggestion sera utile pour moi.

Merci ....

+1

Dans quel langage de programmation travaillez-vous? –

+0

Programatically, ou en utilisant un programme d'édition d'image? – karx11erx

Répondre

0

Vous avez donné trop peu d'informations. Tout d'abord, quel est le format d'image fourni par votre appareil photo? Est-ce un format RAW, jpeg, ou quoi d'autre?

Faire programmatiquement (en C pour l'exemple):

La meilleure façon d'aller était d'utiliser une bibliothèque de chargement d'images (par exemple SDL_image), et charger l'image en mémoire, RVB non compressé étant le format cible. Une fois que vous avez un format non compressé image RVB, vous pouvez faire quelque chose comme

// bufPtr points to the start of the memory containing the bitmap 
typedef unsigned char byte; 
struct rgb { byte red, green blue; } * colorPtr = bufPtr; 
for (int i = 0; i < bufSize; i++, bufPtr++) { 
    byte gray = (unsigned char) (((float) bufPtr->red * 0.3f + 
           (float) bufPtr->green * 0.59f + 
           (float) bufPtr->blue * 0.11f))/3.0f * 255.0f + 0.5f); 
    bufPtr->red = bufPtr->green = bufPtr->blue = gray; 
    } 

Si vous ne voulez pas de code, vous pourriez par exemple utilisez GIMP, chargez votre image et appliquez des désaturés dans le menu des couleurs. Vous pouvez installer le plugin ufraw pour GIMP pour charger des images au format RAW. Si vous voulez stocker l'ensemble des informations de couleur en 8 bits (et n'utilisez pas 8 bits par canal de couleur), il y a une autre option dans GIMP pour diminuer la profondeur de couleur.

+0

merci karx, en fait j'essaie de convertir les images jpg capturés à partir de la caméra. et tout ce que je dois faire est de convertir sans utiliser d'autres outils. – Sivalingaraja

+0

Est-ce que je vous comprends bien: Vous voulez convertir les images sans écrire votre propre programme, ni utiliser aucun outil (programme d'édition d'image)? Ce n'est pas possible. La seule autre option que je peux penser est la caméra ayant une option pour créer des images à l'échelle de gris juste au moment de prendre une photo. Mais si vous avez déjà les images jpeg, vous devez utiliser un outil quelconque pour les convertir. – karx11erx

Questions connexes