图像读取函数cv::imread()的几种使用方式

string imgpath = "C:\Users\Y\Pictures\miao.jpg";

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

#include<opencv2\opencv.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

转载于:https://www.cnblogs.com/GaloisY/p/11037502.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值