【求助】彩色图片分批提取像素点,有关问题求解
IplImage *img = cvLoadImage(tchar,CV_LOAD_IMAGE_COLOR);//IplImage *img = cvLoadImage("D:\\Pictures\\Painter\\scene.jpg",1);
CvScalar s[16];
cvShowImage("加密前的图片",img);
int sum_point=img->height*img->width;
double x=img->height;
double y=img->width;
int mode=img->height*img->width%16;
srand((unsigned) time(0));
extend_key(key);
CvScalar note;
for(int i = 0;i < img->height*img->width/16;i++)
{
for(int k=0;k<=2;k++)
{
for(int j=i*16;j<i*16+16;j++)
{
//提取像素,每16个点一次;
note = cvGet2D(img,j/img->width,j%img->width); // get the (i,j) pixel value
text[j%16]=note.val[k];
}
这段代码是把彩色图像的三个通道的值放到note中 我感觉他写的有问题,
因为在那16个循环中一直都是把val[k]的值赋给test[j],那test里面不全是一样的val值吗?
但他是对的 那最后两行代码又是什么意思呢?