#include <cv.h>
#include <highgui.h>
#include <cstdio>
#define H_DIV 10
#define W_DIV 20
int sum[H_DIV][W_DIV];
int main( int argc, char **argv)
{
IplImage *imgA = cvLoadImage( "test2.jpg", CV_LOAD_IMAGE_GRAYSCALE);//
if(imgA ==NULL)
{
printf("File not found\n");
exit(0);
}
for(int j = 0; j < H_DIV; j++)
{
for(int i = 0; i < W_DIV; i++)
{
for( int y = 0;( j == (H_DIV - 1) ? y < ( (imgA->height / H_DIV) + (imgA->height % H_DIV) ): y < (imgA->height / H_DIV) ); y++)
{
for(int x = 0; i == (W_DIV - 1) ? x <
*1 : x < (imgA->widthStep / W_DIV) ; x++)
{
sum[j][i] += int(imgA->imageData[ ( ( j*( imgA->height / H_DIV) ) + y ) * imgA->widthStep + i*(imgA->widthStep / W_DIV) + x]);
}
}
sum[j][i] = sum[j][i]/( (imgA->widthStep / W_DIV)*(imgA->height / H_DIV) );
for( int y = 0; (j == (H_DIV - 1) ? y <
*2 : y < (imgA->height / H_DIV) ); y++)
{
for(int x = 0; i == (W_DIV - 1) ? x <
*3 : x < (imgA->widthStep / W_DIV) ; x++)
{
imgA->imageData[
*4 + y)*imgA->widthStep + i*(imgA->widthStep / W_DIV) + x] = char(sum[j][i]);
}
}
}
}
cvNamedWindow("window",CV_WINDOW_AUTOSIZE);
cvShowImage("window",imgA);
cvWaitKey(0); // 0秒待つ => ずっと入力待ち
cvReleaseImage( & imgA);
cvDestroyWindow("window");
return 0;
}