站酷设计网站官,旅游网站400电话彩铃,免费云空间,苏州网站建设制作服务商经常看到有人在网上询问关于imread()函数读取图片失败的问题。今天心血来潮#xff0c;经过实验#xff0c;总结出imread()调用的四种正确姿势。通常我要获取一张图片的绝对路径是这样做的#xff1a;在图片上右键——属性——安全——对象名称。然后复制对象名称就得到了图…经常看到有人在网上询问关于imread()函数读取图片失败的问题。今天心血来潮经过实验总结出imread()调用的四种正确姿势。通常我要获取一张图片的绝对路径是这样做的在图片上右键——属性——安全——对象名称。然后复制对象名称就得到了图片的绝对路径。如图然而这样得到的路径直接复制粘贴到vs里面会直接报错如下可以看出我们获取的绝对路径的表示方法是单右斜线形式的。显然opencv的imread()不支持这种方式。但是经过实验发现imread()除了不支持单右斜线形式其他斜线形式都支持比如双右斜线形式、双左斜线形式、单左斜线形式、前述三种斜线混合型式都是支持的我想知道为什么看图下面的六种方式任何一种都是支持的都可以成功读取并显示图片。我个人经常用的方法是第5种相对路径法。只需要把图像文件放在工程文件夹下和.cpp文件放在一起就行了读取的时候就可以直接用名字读取如imread(miao.jpg);最后一种命令行参数法是源码中比较常见的。设置方法是工程——属性——配置属性——调试——命令行参数然后设置就行了。如图设置之后miao.jpg就是argv[1]2.jpg就是argv[2]。这次的完整代码如下(路径因人而异的)#includeusing namespace cv;int main(int argc,char* argv[]){Mat img;//-- 1 --双右斜线法//string imgpath C:\\Users\\bingbuyu\\Pictures\\photo\\miao1.jpg;//-- 2 --双左斜线法//string imgpath C://Users//bingbuyu//Pictures//photo//miao1.jpg;//-- 3 --单左斜线法//string imgpath C:/Users/bingbuyu/Pictures/photo/miao1.jpg;//-- 4 --以上三种混合法//string imgpath C:/Users//bingbuyu\\Pictures//photo//miao1.jpg;//-- 5 --相对路径法//string imgpath miao.jpg;//-- 6 --命令行参数法string imgpath argv[1];img imread(imgpath, 1);imshow(img, img);waitKey(0);return 0;}以上六种的运行结果,还是这只喵到此这篇关于OpenCV 使用imread()函数读取图片的六种正确姿势的文章就介绍到这了,更多相关OpenCV imread()读取图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家