opencv边缘检测报错15: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S)

最新推荐文章于 2022-07-14 13:30:26 发布
最新推荐文章于 2022-07-14 13:30:26 发布
def preProcess(image):
    ratio = image.shape[0] / 500.0
    image = imutils.resize(image, height=500)
    grayImage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    gaussImage = cv2.GaussianBlur(grayImage, (5, 5), 0)
    edgedImage = cv2.Canny(gaussImage, 75, 200)
    cnts = cv2.findContours(edgedImage.copy(), cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
    cnts = cnts[0] if imutils.is_cv2() else cnts[1]
    cnts = sorted(cnts, key=cv2.contourArea, reverse=True)[:5]
    for c in cnts:
        peri = cv2.arcLength(c, True)  # Calculating contour circumference
        approx = cv2.approxPolyDP(c, 0.02 * peri, True)
        if len(approx) == 4:
            screenCnt = approx
            break
    return screenCnt, ratio

Traceback (most recent call last):
File "G:/Pythonproject/test1.py", line 110, in <module>
screenCnt, ratio = preProcess(image)
File "G:/Pythonproject/test1.py", line 95, in preProcess
cnts = sorted(cnts, key=cv2.contourArea, reverse=True)[:5]
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-h4wtvo23\opencv\modules\imgproc\src\shapedescr.cpp:315: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) in function 'cv::contourArea'
Process finished with exit code 1
解决方法:
这里的操作有误:
cnts = cnts[0] if imutils.is_cv2() else cnts[1]

如果你仍然想使用它, 你可以将它改为:
cnts = cnts[1] if imutils.is_cv3() else cnts[0]

转载于:https://www.cnblogs.com/wandaoyi/p/11544079.html

opencv边缘检测报错15: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) opencv边缘检测报错这个问题困扰我好几天了我一直以为是图片路径问题,搞得我一直在重装python,最后发现是OpenCV边缘检测报错,通过这个博客发现修改如下就没报错了,记录下,好气呀def preProcess(image): ratio = image.shape[0] / 500.0 image = imutils.resize(image, height=500) grayImage = cv2.cvtColor(image, cv2.COL..
人工智能学习离不开实践的验证,推荐大家可以多在FlyAI-AI竞赛服务平台多参加训练和竞赛,以此来提升自己的能力。FlyAI是为AI开发者提供数据竞赛并支持GPU离线训练的一站式服务平台。每周免费提供项目开源算法样例,支持算法能力变现以及快速的迭代算法模型。 如果需要处理的原图及代码,请移步小编的GitHub地址   传送门:请点击我   如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice   下面准备学习如何对文档...
Traceback (most recent call last): File "D:/ python Projects/Object_movement/object_movement.py", line 88, in <module> c = max( cnt s, key= cv 2.contourArea) cv 2. error : OpenCV (4.5.1) C:\Users\appveyor\AppData\
图片中文档提取与矫正,实现类似扫描仪功能第一个文档,scan.py第二个完档,transform .py第三个文档,imgEnhance.py效果图 这几天看见一个软件,可以手机拍照一个文档,自动提取出文档后把歪曲的图像矫正,就好像扫描出来的一样,很有意思。作为图像处理爱好者,手痒忍不住自己试试(^ o ^) 。废话不多说,直接上代码(我是代码搬运工…): 第一个文档,scan.py from t...
cv 2. error : OpenCV (4.7.0) D:\a\ opencv - python \ opencv - python \ opencv \modules\imgproc\src\shapedescr.cpp:3 15 : error : (- 215 : Assertion failed ) n points >= 0 && ( depth == CV _ 32F || depth == CV _ 32S ) in function ' cv ::contourArea'
pip 安装出现connection broken by ‘NewConnectionError.HTTPSConnection object at 0x0000016EFBF411F0> opencv边缘检测报错15: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) Fatal Python error: Py_Initialize: can‘t initialize sys standard streams LookupError: unknown encodi opencv边缘检测报错15: error: (-215:Assertion failed) npoints >= 0 && (depth == CV_32F || depth == CV_32S) Windows10下 3步将你的python(py文件)转成exe格式 FenoX: 我的pip可能没下好,下载什么总会有错的(哭) Windows10下 3步将你的python(py文件)转成exe格式 菜鸟小胖墩: 具体看什么报错。如果是镜像源问题就换个镜像源试试,如果是时间问题就timeout参数变成1000试试,还是不行可能是你的网络限制问题(一般学校网络会有限制,或者公司也可能)换个网络试试 表情包 Windows10下 3步将你的python(py文件)转成exe格式 FenoX: pip --default-timeout=100 install pyinstaller -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com也报错 表情包 Fatal Python error: Py_Initialize: can‘t initialize sys standard streams LookupError: unknown encodi dryrd: 确实没用,我是因为vscode终端terminal出现乱码,所以我直接把系统改成了utf-8,就在windows里区域设置,然后我使用conda prompt就会出现这样的错误, 一开始我以为set有用,但是后面还是报错,所以我直接把那个windows系统区域里面编码改回来了 然后就行了