zoukankan      html  css  js  c++  java
  • 图像读取函数cv::imread()的几种使用方式

    string imgpath = "C:UsersYPicturesmiao.jpg";

    OpenCV的imread()函数不支持单右斜线形式的路径,即不支持上述形式的路径。但是imread()支持双右斜线、双左斜线、单左斜线、前述三种斜线混合形式。

    #include<opencv2opencv.hpp>
     
    using namespace cv;
     
    int main(int argc,char* argv[])
    {
        Mat img;
     
        //-- 1 --双右斜线法
        //string imgpath = "C:\Users\Y\Pictures\miao.jpg";
        //-- 2 --双左斜线法
        //string imgpath = "C://Users//Y//Pictures//miao.jpg";
        //-- 3 --单左斜线法
        //string imgpath = "C:/Users/Y/Pictures/miao.jpg";
        //-- 4 --以上三种混合法
        //string imgpath = "C:/Users//Y\Pictures//miao.jpg";
        //-- 5 --相对路径法
        //string imgpath = "miao.jpg";
        //-- 6 --命令行参数法
        string imgpath = argv[1];
     
        img = imread(imgpath, 1);
        imshow("img", img);
     
        waitKey(0);
        return 0;
    }

     相对路径法,只需要把图像文件放在工程文件夹下和.cpp文件放在一起就行了,读取的时候就可以直接用名字读取,如imread("miao.jpg");

    最后一种命令行参数法是源码中比较常见的。设置方法是:工程——属性——配置属性——调试——命令行参数,然后设置就行了。如图:

    设置之后miao.jpg就是argv[1],2.jpg就是argv[2]。

    以上六种的运行结果:

    函数原型

    Mat imread(const string& FileName, int flags = 1)

    FileName:图片路径名

    flags:载入标识,指定一个加载图像的颜色类型,默认值为1,表示载入三通道的彩色图像;

                                                                         -1,imread按解码得到的方式读入图像;

                                                                          0,imread按单通道的方式读入图像,即灰白图像。

    参考文章:https://blog.csdn.net/qq_36969386/article/details/79195890

  • 相关阅读:
    分享Kali Linux 2016.2第41周镜像虚拟机
    Visual Studio工具栏中无法选择调试设备
    Xamarin.iOS编译出错
    Xamarin基础命名空间Microsoft.SqlServer.Server
    编译包含Google Play服务App的SDK版本问题
    解决Fiddler无法抓到手机的会话包
    Xamarin.Android编译CPU类型选择方式
    Delphi iOS
    Delphi Android
    CRC16-循环冗余校验
  • 原文地址:https://www.cnblogs.com/GaloisY/p/11037502.html
Copyright © 2011-2022 走看看