cvLoadImage
Posted 体育.委员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cvLoadImage相关的知识,希望对你有一定的参考价值。
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
函数原型:IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR );
- 中文名
- cvLoadImage
- 类 别
- 编程语言
- 归 类
- 函数
- 用 处
- 图像处理
目录
filename :要被读入的文件的文件名(包括后缀);
flags :指定读入图像的颜色和深度:
指定的颜色可以将输入的图片转为3通道(CV_LOAD_IMAGE_COLOR), 单通道 (CV_LOAD_IMAGE_GRAYSCALE), 或者保持不变(CV_LOAD_IMAGE_ANYCOLOR)。
深度指定输入的图像是否转为每个颜色通道每象素8位,(OpenCV的早期版本一样),或者同输入的图像一样保持不变。
如果输入有冲突的标志,将采用较小的数字值。比如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( 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;
}
其函数原型与cvLoadImage一模一样,其调用方式也是一模一样;唯一不同的是其返回值是指向CvMat类型的指针,而非指向IplImage类型的指针。
以上是关于cvLoadImage的主要内容,如果未能解决你的问题,请参考以下文章