Question : obtenant et plaçant des données de Pixel pour une violation de 3 des canaux RVB d'image acces de bibliothèque ?

Bonjour, j'ai une bibliothèque d'image qui a la gamme de gris et l'image de RVB. le

I ont fait le code pour lire et écrire sur l'image de gamme de gris et l'appel pour cette fonction fonctionne bien mais malheureusement j'ai une issue pour le setpixel de fonction sur l'image de RVB.  le

I pensent que le problème vient d'une conversion de double en long
because que j'emploie un LUT (llok vers le haut de table) qui renvoie un double au lieu de longtemps et me lui passer alors dans la fonction de setpixel peut-être doit employer une fonction de ltoa () avant de la passer au setpixel de l'image de RVB ainsi comment faire cela ?

Here au-dessous des prototypes des deux fonctions :

class CImageY_Int
{
public : le
// y va à partir du dessus au get_pixel non signé virtuel de char du botom
(international X, international y)=0 ;

//set le Pixel RVB avec le set_pixel vide virtuel du value
de char (international X, international y, char non signé pxl_char) =0 ;

class CImageRGB_Int
{
public du
} du

… : le
// x va de gauche à droite le
// que y va à partir du dessus get_pixel non signé virtuel du botom
au long (international X, international y)=0 ;

//set le pixle RVB avec le long set_pixel vide virtuel du value
(international X, international y, long pxl_lng non signé) =0 ; you


du

Thank du
du

…} class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
36 :
37 :
38 :
39 :
40 :
41 :
42 :
43 :
44 :
45 :
46 :
47 :
48 :
49 :
50 :
51 :
52 :
53 :
54 :
55 :
56 :
57 :
58 :
59 :
60 :
61 :
62 :
63 :
64 :
65 :
66 :
67 :
68 :
69 :
70 :
71 :
72 :
73 :
74 :
75 :
76 :
77 :
78 :
79 :
80 :
81 :
82 :
83 :
84 :
85 :
86 :
87 :
88 :
89 :
90 :
91 :
92 :
fonction " de " codeSnippet821729 d'id= " de
//the de class= :

pre_process_y vide (CImageY_Int* CImgY, lut_transform de double*, param d'international, CImageY_Int* CImgY_InOut)
{
	w=CImgY->get_img_width d'international () ;
	h=CImgY->get_img_height d'international () ;
	international i =0 ;
	international j =0 ;
	gris non signé de char ;

	// créent un amortisseur de cimage
	*cimageDataPointer non signé de char ;
	cimageDataPointer = CImgY->get_img_data () ;

	// créent un amortisseur de cimage
	*cimageDataPointer_inout non signé de char ;
	cimageDataPointer_inout = CImgY_InOut->get_img_data () ;

	//copying de CImages
	pour (international non signé p=0 ; pget_img_height () ; p++)
	{
		copie de mémoire de // 
		memcpy (cimageDataPointer_inout, cimageDataPointer, CImgY->get_img_width () *1) ; 
		saut de cimageDataPointer de // à la prochaine ligne 
		cimageDataPointer = cimageDataPointer + CImgY->get_img_width () *1 ; 
		saut de cvImageDataPointer de // à la prochaine ligne
		cimageDataPointer_inout = cimageDataPointer_inout+ (CImgY_InOut->get_img_width () *1) ;
	}

  pour (j=0 ; jget_pixel (I, j) ;
		CImgY_InOut->set_pixel (I, j, lut_transform [gris]) ;

	  }
	}

}



fonction de //the RVB :

pre_process_rgb (CImageRGB_Int* CImgRGB, lut_transform de double*, param d'international, CImageRGB_Int* CImgRGB_InOut)
{
	nb_channel =3 d'international ;
	w=CImgRGB->get_img_width d'international () ;
	h=CImgRGB->get_img_height d'international () ;
	international i =0 ;
	international j =0 ;
	international k =0 ;
	longue couleur non signée ;

	// créent un amortisseur de cimage
	*cimageDataPointer non signé de char ;
	cimageDataPointer = CImgRGB->get_img_data () ;

	// créent un amortisseur de cimage
	*cimageDataPointer_inout non signé de char ;
	cimageDataPointer_inout = CImgRGB_InOut->get_img_data () ;

	//copying de CImage à l'image de cv
	pour (international non signé p=0 ; pget_img_height () ; p++)
	{
		copie de mémoire de // 
		memcpy (cimageDataPointer_inout, cimageDataPointer, *nb_channel de CImgRGB->get_img_width ()) ; 
		saut de cimageDataPointer de // à la prochaine ligne 
		cimageDataPointer = cimageDataPointer + *nb_channel de CImgRGB->get_img_width () ; 
		saut de cvImageDataPointer de // à la prochaine ligne
		cimageDataPointer_inout = cimageDataPointer_inout+ *nb_channel (de CImgRGB_InOut->get_img_width ()) ; //+nb_channel ?
	}

  pour (j=0 ; jget_pixel (I, j) ;

			>set_pixel de //pCImgRGB- (0, 0, 0x080706) ;
		 	CImgRGB_InOut->set_pixel (I, j, lut_transform [couleur]) ; VIOLATION D'ACCÈS DE //ERROR 

	  }
	}


}
class= de

Réponse : obtenant et plaçant des données de Pixel pour une violation de 3 des canaux RVB d'image acces de bibliothèque ?

Ok. Je commence à comprendre où vous voulez aller.

Est ce ce qui vous eu à l'esprit ?
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
  pour (j=0 ; jget_pixel (I, j) ;

			color_r = couleur et 0x000000FF non signés de char ;
			color_g non signé de char = (couleur et 0x0000FF00) >> 8 ;
			color_b non signé de char = (couleur et 0x00FF0000) >> 16 ;
			color_a non signé de char = (couleur et 0xFF000000) >> 24 ;

			long non signé color2 = (set_pixel <>de color_a (0, 0, 0x080706) ;
		 	CImgRGB_InOut->set_pixel (I, j, color2) ;

	  }
	}
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us