opencv之cvLoadImage的使用

本文系转载,原文地址如下:

opencv之cvLoadImage的使用_翌日的阳光_新浪博客

http://blog.sina.com.cn/s/blog_a5b3ed560100yj74.html



cvLoadImage  
函数原型:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
  filename :要被读入的文件的文件名(包括后缀);
  flags :指定读入图像的颜色和深度:
  指定的颜色可以将输入的图片转为3信道(CV_LOAD_IMAGE_COLOR), 单信道(CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。
  深度指定输入的图像是否转为每个颜色信道每象素8位,(OpenCV的早期版本一样),或者同输入的图像一样保持不变。
  选中CV_LOAD_IMAGE_ANYDEPTH,则输入图像格式可以为8位无符号,16位无符号,32位有符号或者32位浮点型。
  如果输入有冲突的标志,将采用较小的数字值。比如CV_LOAD_IMAGE_COLOR | CV_LOAD_IMAGE_ANYCOLOR 将载入3信道图。CV_LOAD_IMAGE_ANYCOLOR和CV_LOAD_IMAGE_UNCHANGED是等值的。但是,CV_LOAD_IMAGE_ANYCOLOR有着可以和CV_LOAD_IMAGE_ANYDEPTH同时使用的优点,所以CV_LOAD_IMAGE_UNCHANGED不再使用了。
  如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。
  函数cvLoadImage从指定文件读入图像,返回读入图像的指针。目前支持如下文件格式:
  Windows位图文件- BMP, DIB;
  JPEG文件- JPEG, JPG, JPE;
  便携式网络图片- PNG;
  便携式图像格式- PBM,PGM,PPM;
  Sun rasters - SR,RAS;
  TIFF文件- TIFF,TIF;
  OpenEXR HDR 图片 - EXR;
  JPEG 2000 图片- jp2。
  cvSaveImage
  保存图像到文件
  int cvSaveImage( const char* filename, const CvArr* image );
  filename
  文件名。
  image
  要保存的图像。
  函数cvSaveImage保存图像到指定文件。图像格式的的选择依赖于filename的扩展名,请参考cvLoadImage。只有8位单通道或者3通道(通道顺序为'BGR' )可以使用这个函数保存。如果格式,深度或者通道不符合要求,请先用cvCvtScale 和cvCvtColor转换;或者使用通用的cvSave保存图像为XML或者YAML格式。
  特别提醒!由于TIFF文件格式比较混乱,难以统一,此函数读取TIFF图片可能会失败。
cvLoadImage函数使用方法
  cvLoadImage( filename, -1 ); 默认读取图像的原通道数
  cvLoadImage( filename, 0 ); 强制转化读取图像为灰度图
  cvLoadImage( filename, 1 ); 读取彩色图
  例:将读入图像强制转换为灰度图像显示
  #include
  #include
  int main(int argc, char **argv)
  {
  if (argc != 2)
  return -1;
  
  IplImage *img = cvLoadImage(argv[1], 0);
  cvNamedWindow("example");
  cvShowImage("example", img);
  cvWaitKey(0);
  cvReleaseImage(&img);
  cvDestroyWindow("example");
  return 0;
  }

你可能感兴趣的:(OpenCV学习)