当前位置: 首页 > 面试题库 >

OpenCV错误:(-215:断言失败)函数'CvtHelper'中的VScn :: contains(scn)&& VDcn :: contains(dcn)&& VDepth :: contains(depth)

凌啸
2023-03-14
问题内容
Traceback (most recent call last):
File "demo.py", line 132, in 
     `result = find_strawberry(image)`
File "demo.py", line 63, in find_strawberry
`image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)`
cv2.error: OpenCV(3.4.2) /Users/travis/build/skvark/opencv-python/opencv/modules/imgproc/src/color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function 'CvtHelper'

我个人在这个问题上花了很多时间,因此认为与将其发布到Stackoverflow有关。

问题取自:llSourcell /
Object_Detection_demo_LIVE


问题答案:

甚至我也遇到了同样的问题,解决方案非常简单。请记住一件事,如果图像的RGB值在0-255的范围内,请确保这些值不是数据类型“
float”。由于OpenCV仅在值范围为0-1时才考虑浮动。如果发现浮点值大于1,则会截断该值,并认为浮点仅存在于0-1之间。因此产生了这样的错误。因此,如果值介于0-255之间,则将数据类型转换为uint8。

image = image.astype('uint8')

检查此Kaggle内核以了解更多信息



 类似资料:
  • 我是Python和OpenCV的初学者。我正在尝试一段代码,它从网络摄像头获取输入图像。下面是一段代码。 我同时使用Python2.7和Python3.4来执行此操作。在这两方面,我都面临一个奇怪的问题。代码给出了如下断言错误 OpenCV错误:cv::cvtColor,文件中的断言失败(scn==3 | | scn==4)。。。。。。。。\opencv\modules\imgproc\src\c

  • 查看地图是否包含必需的密钥。 语法 (Syntax) 以下是语法。 (contains hmap key) Parameters - 'hmap'是散列键和值的映射。 'key'是需要在地图中搜索的键。 Return Value - 如果键存在则返回true值,否则返回false。 例子 (Example) 以下是包含的示例? 在Clojure。 (ns clojure.examples.exa

  • 找出该集合是否包含某个元素。 语法 (Syntax) 以下是语法。 (contains? setofelements searchelement) Parameters - 'setofelements'是元素集。 “Searchelement”是需要在列表中搜索的元素。 Return Value - 如果元素存在于集合中,则返回true;如果元素不存在,则返回false。 例子 (Exampl

  • 如果此List包含指定的值,则返回true。 语法 (Syntax) boolean contains(Object value) 参数 (Parameters) Value - 要在列表中查找的值。 返回值 (Return Value) 是真还是假,具体取决于列表中是否存在该值。 例子 (Example) 以下是此方法的使用示例 - class Example { static voi

  • 检查范围是否包含特定值。 语法 (Syntax) boolean contains(Object obj) 参数 (Parameters) Obj - 要在范围列表中检查的值。 返回值 (Return Value) 如果此Range包含指定的元素,则返回true。 例子 (Example) 以下是此方法的使用示例 - class Example { static void main(St

  • A version of Sequence#contains which returns an AsyncHandle. Signature AsyncSequence.contains = function(value) { /*...*/ } AsyncSequence.contains = function contains(value) { var found = false;