J'ai donc accéder avec succès des données de pixels dans un cadre à l'aide du C++ emballage d'accès cadre sur la page Web de OpenCVValeurs OpenCV RVB en hexadécimal?
template<class Frame>
class Frame_Data {
IplImage *imgp;
public:
Frame_Data (IplImage *img=0) {imgp = img;}
~Frame_Data() {imgp = 0;}
void operator=(IplImage *img) {imgp=img;}
inline Frame* operator[] (int rowIndex) {
return ((Frame*)(imgp->imageData + rowIndex*imgp->widthStep));
}
};
typedef struct {
unsigned char b,g,r;
} RgbPixel;
typedef struct {
float b,g,r;
} RgbPixelFloat;
typedef Frame_Data<RgbPixel> RgbImage;
Im puis en utilisant 2 pour les boucles de passer par la matrice de pixels d'image tels que:
for (int i = ymin; i < ymax; i++)
{
for (int j = xmin; j < xmax; j++)
{
int r = image[i][j].r;
int g = image[i][j].g;
int b = image[i][j].b;
Alors disons que je veux lancer une instruction IF pour vérifier les couleurs des données de pixel. Je l'ai vu quelques sites comme liste les choses comme
image[i][j].r=0xFF;
or if g < 0x20
Je ne suis pas utilisé pour les valeurs à la recherche hexagonale, j'ai essayé de les chercher, mais ne trouve pas refernece, im utilisé pour cvscalars, alors qu'est-ce que ces signifier? Comme quoi symbolise 0x20? ou qu'en est-il de 0xFF?
grâce
Je pensais que ce serait facile :) merci buddddy –