def init(filepath, type='special', pars=dict(textline_method='textboxes')): ''' mage = cv2.imread(filepath,0) str_info, position = recog_qrcode(image, roi=None) #二维码无法识别 if str_info == None: ''' timer = Timer() timer.tic() if not views.local_start: res = scanQRc(filepath) timer.toc(content="二维码识别") if res[0] != '': # 显示二维码 plt_rects = [] plt_rects.append([ res[1][1][0], res[1][1][1], res[1][3][0] - res[1][0][0], res[1][0][1] - res[1][1][1] ]) # 显示 vis_textline0 = fp.util.visualize.rects(cv2.imread(filepath, 0), plt_rects) # 运行代码需要如下部分 pl.imshow(vis_textline0) # 保存到line目录 pltpath = filepath.replace("upload", "line") try: pl.savefig(pltpath) except Exception as e: print("绘制行提取图片不支持bmp格式:{}".format(e)) resArray = getArrayFromStr(res[0]) # print(resArray) js = InterfaceType.JsonInterface.invoice() js.setVATInvoiceFromArray(resArray, type) jsoni = js.dic print(jsoni) return json.dumps(jsoni).encode().decode("unicode-escape"), timer else: return newMubanDetect(filepath, type, pars, timer) else: # print('newMubanD') return newMubanDetect(filepath, type, pars, timer) '''
def init(filepath): ''' mage = cv2.imread(filepath,0) str_info, position = recog_qrcode(image, roi=None) #二维码无法识别 if str_info == None: ''' timer = Timer() timer.tic() #recog = fp.TextBoxes.recog_invoice_type.InvoiTypeRecog() recog = views.global_recog ## load image with OpenCV im = cv2.imread(filepath) im = cv2.resize(im, (448, 448)) # im = caffe.io.load_image(filepath) typeP = recog(im) # 01 *增值税专用发票 # 02 货运运输业增值税专用发票 # 03 机动车销售统一发票 # 04 *增值税普通发票 # 10 *增值税普通发票(电子) # 11 *增值税普通发票(卷式) # 91 出租车票 # 92 *火车票 # 93 *飞机票 # 94 汽车票 # 95 *定额发票 # 96 长途汽车票 # 97 通用机打发票 # 98 政府非税收收入一般缴款书 # 00 其他类型 # 注:增值税票目前不能区分具体种类,可统一返回01 # 201907706 返回:['quota', 'airticket', 'special', 'trainticket'] print("发票类型识别:", typeP) if typeP == '01': res = scanQRc(filepath) timer.toc(content="二维码识别") print("二维码识别调用结束") if res[0] != '': # 显示二维码 # plt_rects = [] # plt_rects.append( # [res[1][1][0], # res[1][1][1], # res[1][3][0] - res[1][0][0], # res[1][0][1] - res[1][1][1]]) # # 显示 # vis_textline0 = fp.util.visualize.rects(cv2.imread(filepath, 0), plt_rects) # # 运行代码需要如下部分 # pl.imshow(vis_textline0) # # 保存到line目录 # pltpath = filepath.replace("upload", "line") # try: # pl.savefig(pltpath) # except Exception as e: # print("绘制行提取图片不支持bmp格式:{}".format(e)) #关闭绘制二维码 wt 2019.10.19 pltpath = filepath.replace("upload", "line") im = cv2.imread(filepath, 0) cv2.imwrite(pltpath, im) resArray = getArrayFromStr(res[0]) print("Loading json", resArray) js = InterfaceType.JsonInterface.invoice() js.setVATInvoiceFromArray(resArray, typeP) jsoni = js.dic print(jsoni) return json.dumps(jsoni).encode().decode( "unicode-escape"), timer, typeP else: return newMubanDetect(filepath, 'normal', timer) #return newMubanDetect(filepath, 'normal', timer) elif typeP == '92': print("train tk ocr begin") return Ocr.init(filepath, 'blue')[0], timer, typeP else: return "", timer, typeP