OpenCV实现任意图像像素矩阵获取
admin 于 2014年04月24日 发表在 计算机视觉

1. Debian下opencv的编译安装,参考文章:《Ubuntu12.04中编译安装OpenCV2.4.5》

程序(点击下载附件)

int main(int argc, char *argv[])
{
  
  FILE *fp;
  IplImage* img = 0; 
  int height,width,step,channels;
  uchar *data;
  int i,j;
 
  if(argcheight;
  width     = img->width;
  step      = img->widthStep;
  channels  = img->nChannels;
  data      = (uchar *)img->imageData;
  printf("Processing a %dx%d image with %d channels\n",height,width,channels); 
 
  fp=fopen("cal.txt","w");
  // invert the image
  // 相当于 cvNot(img);
  for(i=0;i<height;i++) 
   { 
      fprintf(fp,"\n第%d行Data:",i+1);
      for(j=0;j<width;j++)
       {
          fprintf(fp,"%d ",data[i*step+j]);
      }
  }
 
  return 0;
}

2. 获取文件信息:

3. 创建储存文件cal.txt,利用行列扫描的方式,实现数据的输出:

4. 实验图像:

5. 命令编译,以及程序输出控制:

6. 通过查看文件中生成的cal.txt文件,便可以得到像素值:

注意:本站所有文章除特别说明外,均为原创,转载请务必以超链接方式并注明作者出处。 标签:处理算法,opencv