2014年3月3日月曜日

IplImageの画素値へのアクセス

for (int y = 0; y < dstImage->height; y++) {
        for (int x = 0; x < dstImage->width; x++) {
            dstImage->imageData[dstImage->widthStep * y + x * 4 + 3] = grayscaleImage->imageData[grayscaleImage->widthStep * y + x];

        }

    }

IplImage *base =  cvLoadImage ("IMG_2128.JPG", CV_LOAD_IMAGE_ANYCOLOR);
IplImage *src_img = cvLoadImage ("IMG_2129.JPG", CV_LOAD_IMAGE_ANYCOLOR);
uchar p,p2;
for (int y = 0; y < base->height; y++) {
        for (int x = 0; x < base->width; x++) {
for (int i=0;i<3;i++){
p = base->imageData[base->widthStep * y + x * base->nChannels + i];
p2 = src_img->imageData[src_img->widthStep * y + x * src_img->nChannels + i];
if((255-p)*0.8>0.0){
if ((255-p)*0.8 > 255-p2){
src_img->imageData[src_img->widthStep * y + x * src_img->nChannels + i] = 255;
}else{
src_img->imageData[src_img->widthStep * y + x * src_img->nChannels + i] +=
(255-p)*0.8;
}
}
}

        }

    }

0 件のコメント:

コメントを投稿