【OpenCV】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;

  } 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值