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内核以了解更多信息