前言 别骂了别骂了,太久没打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'
文章图片
下面这两个错都是我提取数字上出的问题,第一层是一个列表第二层是字典
列表是按照排列顺序进行查找,字典是按照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类型的去除空格
文章图片
改成这样就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_’
没写扩展名!!!
推荐阅读
- yolov5|跑yolov5又出啥问题了(1)p,r,map全部为0
- opencv|基于opencv的实时睡意检测系统
- opencv|基于opencv的实时停车地点查找
- 大数据|滴滴开源了哪些有意思的项目()
- 数据库|滴滴技术牛逼吗(看它开源了哪些有意思的项目)
- 分布式|阿里云周晶(我是如何选择技术方向的())
- opencv|OpenCV---阈值与平滑处理 图像阈值
- python|6.3 阈值处理-- Otsu 处理
- OpenCV与阈值与平滑处理