• cvLoadImage函数解析 cvLoadImageM()函数


    1、函数原型: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;
    便携式图像格式- PBM,PGM,PPM;
    Sun rasters - SR,RAS;
    TIFF文件 - TIFF,TIF;
    OpenEXR HDR 图片 - EXR;
    JPEG 2000 图片- jp2。
     
     
    2、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;
    }
     
     
     
    3、cvLoadImageM()函数其函数原型与cvLoadImage一模一样,其调用方式也是一模一样;唯一不同的是其返回值是指向CvMat类型的指针,而非指向IplImage类型的指针。
     
     
     
  • 相关阅读:
    入侵特斯拉——智能汽车安全性分析
    D-Link系列路由器漏洞挖掘入门
    工控安全入门之 Ethernet/IP
    浅谈JS数据类型存储问题
    【备忘】12306购票必杀技
    制作炫酷的专题页面
    杂记(下)
    杂记(上)
    跨域请求解决方案
    好用的表单验证插件
  • 原文地址:https://www.cnblogs.com/xuepei/p/4029660.html
Copyright © 2020-2023  润新知