在这里给大家说一下OpenCV解决绝对路径导入图片的问题imread();
以上是我在用imread的时候读入图片的代码,总是报错解决不了,然后看了一下路径感觉也对。但是就是查不出什么错误。然后我就写了一个string类型的path来保存我的地址,然后在imread里面直接用path。通过打断点我发现了代码错误的问题。
在这里可以看到我的path里面的路径D:\test\timg.jpg前面有两个问号。这就导致了路径的错误。因为我是直接粘贴的地址所以导致路径错 误,所以我自己用手打了一遍路径,结果正确的显示。
imread()读入图片的时候,路径要用“\”斜杠,或者是“/”斜杠
原因如下:
在C里面,输出字符串时,如果想输出一个换行,那就要加上’\n’这个标志,类似的,输出一个TAB,就加上’\t’,也就是说,反斜杠("")这个符号会把跟在它后面的字符结合起来转义成其它字符。根据这个原理,如果想输出双引号(’"’),就需要输入’"’,这样才会将包含了双引号的字符串正确的写入内存中。那么如果想输入一个反斜杠呢?很简单,只要敲’\'就可以了。如果"C:\Windows\System"这个路径字符串交给C编译器编译,实际写入内存的字符串并没有包含反斜杠"",甚至紧跟在反斜杠后面的字母也一起被转义成了其它的字符,再次调用的话势必会出问题。
然后就是要注意粘贴的时候要注意路径是否正确。因为复制粘贴地址的时候会有些隐藏的字符在里面,导致路径错误,所以有时候不要为了省时间导致这些小错误的出现。
敲代码的时候也要有时候一个小小的细节就会导致整个代码的错误。所以细节决定成败!敲代码一定要认真!
OpenCV解决绝对路径导入错误的方法及一些注意事项
最新推荐文章于 2023-03-01 23:43:16 发布