肌色の画像だけを表示してそれ以外のとこは黒色で表示することを実現したい。
c
1 2#include <opencv/cv.h> 3#include <opencv/highgui.h> 4#include <opencv/excore.h> 5#include <stdio.h> 6 7//画素の書き込み 8void Pset(IplImage *in, int x, int y, unsigned char r, unsigned char g, unsigned char b) 9{ 10 char *p; 11 p = in->imageData + y * in->widthStep + x * in->nChannels; 12 *p++ = b; 13 *p++ = g; 14 *p = r; 15} 16 17//画素値の取得 18void Pget(IplImage *in, int x, int y, unsigned char r, unsigned char g, unsigned char b) 19{ 20 char *p; 21 p = in->imageData + y * in->widthStep + x * in->nChannels; 22 *b = *p++; 23 *g = *p++; 24 *r = *p; 25} 26 27void invert(IplImage *image) 28{ 29 int x, y; 30 unsigned char r, g, b; 31 32 for (y = 0; y < image->height; y++) { 33 for (x = 0; x < image->width; x++ ) { 34 Pget(image, x , y, &r, &g, &b); 35 Pset(image, x, y, 255 - r, 255 - g, 255 - b); 36 } 37 } 38}
invertのところを変更して、どのようにしたら良いか教えて頂きたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。