使用 opencv 读取图片时可能遇到报错信息如下:
cv2.error: OpenCV(4.5.4-dev) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:1
这种问题大概率是文件路径出问题了。
PS:报错原因尚未查阅过官网,以下分析仅由试验得出。
这个只需要检查一下路径并更改就行了。
建议文件,文件夹的命名规范和 python 的命名规范一直。
文件名错误
filename的文件包括文件扩展名,应该是类似于flower.jpg、flower.png 的形式,而非单纯的flower。
IDE的配置:
假如你的代码是迁移过来的,很可能因为你使用的和本来代码的IDE 不同而出现这样的问题。
Jupyter notebook
如果使用的是 Jupyter notebook。Jupyter notebook 的文件读取路径是默认从代码所在的文件夹作为根目录的。
简言之,就是代码和图片在同一个目录,你可以使用cv.imread(‘flower.jpg’) 。
假如代码和「img」文件夹在同一目录,即这种形式:
├─opencv_learn.py
├─img
│ ├─flower.jpg
你需要这样写:cv.imread("img/flower.jpg") 。
VScode
VScode 的文件读取路径一般是从当前的工作区(资源管理器的一级文件夹)开始作为根目录。也就是你创建(打开)的文件夹。
比如下图:
此时打开的是序号为「1」的文件夹,代码是序号「3」中的文件,cv2.imread("test.jpg",1) 读取的路径是单纯的图片名,那应该从序号「1」的文件夹中进行寻找,而一级文件夹下是找不到 test.jpg 该文件的,因此会报错。
如果你打开的文件夹(也就是一级文件夹)更换为序号「3」所在的文件夹 ——「code_001」,那么你运行代码大概率是没有问题的。VScode会从此时打开的文件夹(也就是code_001)中进行寻找。
在VScode 中,如果你迁移过来的代码读取方式都是单纯的图片名cv.imread("flower.jpg") 这种形式的,或者我们喜欢使用这样的读取方式,但更想将代码分类存放成多级目录。我们可以进行简单的设置:

.vscode 文件夹中新增出 launch.json 的文件,我们可以添加一个cwd参数配置,如下复制粘贴即可:"cwd": "${fileDirname}"

注意上一行末尾,加上逗号
,。
这样的配置意味着,你需要像在 Jupyter notebook 中那样写代码,即:你的代码中的要读取的文件是和你当前代码在同一文件夹下的。
你的代码几乎将不能写成 cv2.imread(./python/code_001/test.jpg",1) ,因为此时你已经配置你的代码所在文件夹作为根目录了。
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在使用这个:4.times{|i|assert_not_equal("content#{i+2}".constantize,object.first_content)}我之前声明过局部变量content1content2content3content4content5我得到的错误NameError:wrongconstantnamecontent2这个错误是什么意思?我很确定我想要content2=\ 最佳答案 你必须用一个大字母来调用ruby常量:Content2而不是content2。Aconstantnamestart
我克隆了一个rails仓库,我现在正尝试捆绑安装背景:OSXElCapitanruby2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]rails-v在您的Gemfile中列出的或native可用的任何gem源中找不到gem'pg(>=0)ruby'。运行bundleinstall以安装缺少的gem。bundleinstallFetchinggemmetadatafromhttps://rubygems.org/............Fetchingversionmetadatafromhttps://rubygems.org/...Fe
我正在学习如何在我的Ruby代码中使用Module.prepend而不是alias_method_chain,我注意到有些人使用send调用它(example):ActionView::TemplateRenderer.send(:prepend,ActionViewTemplateRendererWithCurrentTemplate)而其他人直接调用它(example):ActionView::TemplateRenderer.prepend(ActionViewTemplateRendererWithCurrentTemplate)而且,虽然我还没有看到任何人使用这种风格,但我从
我在新的Debian6VirtualBoxVM上安装RVM时遇到问题。我已经安装了所有需要的包并使用下载了安装脚本(curl-shttps://rvm.beginrescueend.com/install/rvm)>rvm,但以单个用户身份运行时bashrvm我收到以下错误消息:ERROR:Unabletocheckoutbranch.安装在这里停止,并且(据我所知)没有安装RVM的任何文件。如果我以root身份运行脚本(对于多用户安装),我会收到另一条消息:Successfullycheckedoutbranch''安装程序继续并指示成功,但未添加.rvm目录,甚至在修改我的.bas
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。
什么是ruby的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
之前在培训新生的时候,windows环境下配置opencv环境一直教的都是网上主流的vsstudio配置属性表,但是这个似乎对新生来说难度略高(虽然个人觉得完全是他们自己的问题),加之暑假之后对cmake实在是爱不释手,且这样配置确实十分简单(其实都不需要配置),故斗胆妄言vscode下配置CV之法。其实极为简单,图比较多所以很长。如果你看此文还配不好,你应该思考一下是不是自己的问题。闲话少说,直接开始。0.CMkae简介有的人到大二了都不知道cmake是什么,我不说是谁。CMake是一个开源免费并且跨平台的构建工具,可以用简单的语句来描述所有平台的编译过程。它能够根据当前所在平台输出对应的m