cvLoadImage

来源:互联网 发布:json数组去重 编辑:程序博客网 时间:2024/05/22 17:10
详细介绍  函数原型: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 <highgui.h>
  #include <cv.h>
  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;
  }
原创粉丝点击