opencv|最近opencv又报了啥错(一)

前言 别骂了别骂了,太久没打python,手贼生,最近在搞opencv和一些ocr,报了一堆错,有些是python的原生错误,有的是opencv的,有的是我nt,就全部记录一下吧
(1)bad argument type for built-in operation (2)cv2.waitKey(0)在其他操作之前 会使整个操作一直维持在waitKey
(3)

cv2.error: OpenCV(3.4.3) C:\projects\opencv-python\opencv\modules\imgproc\src\morph.cpp:787: error: (-215:Assertion failed) _kernel.type() == CV_8U in function 'cv::MorphFilter,struct cv::MorphIVec >::MorphFilter'

opencv|最近opencv又报了啥错(一)
文章图片

下面这两个错都是我提取数字上出的问题,第一层是一个列表第二层是字典
列表是按照排列顺序进行查找,字典是按照key(val)找val(key)
(4)AttributeError: ‘int’ object has no attribute ‘text’ (5)TypeError: ‘int’ object is not subscriptable 【opencv|最近opencv又报了啥错(一)】(4)和(5)我出错都是因为数据类型出问题
(6)字典类型不能去除空格 使用的代码
for i in range(0, len(result)): result[i]['text'].replace(" ","") print(result[i]['text'])

输出结果:
因为没有将结果传出来因此实际上调用的还是原先字典里面的,没能实现字典的val类型的去除空格
opencv|最近opencv又报了啥错(一)
文章图片

改成这样就ok了
a=result[i]['text'].replace(" ","") print(a)

下面这两种方法好像也不行!!!
# result[i]['text'].strip() # a=result[i].get("text").strip()

(7)local variable ‘devicecode’ referenced before assignment
当有多个输出时,一定要保证每个输出都有值
#多个输出 return [devicecode, boxcode, checkcode, sizecode]

我最后的解决办法挺c语言的就是说:
if flag1==0: print("can't find devicecode") devicecode=None if flag2 == 0: print("can't find boxcode") boxcode=None if flag3 ==0: print("can't find checkcode") checkcode=None if flag4 == 0: print("can't find sizecode") sizecode = None return [devicecode, boxcode, checkcode, sizecode]

could not find a writer for the specified extension in function ‘cv::imwrite_’
没写扩展名!!!

    推荐阅读