ocr中json、txt文件在图片上显示出来

json_photo.py

import json
import numpy as np
import json
import cv2
import matplotlib.pyplot as plt
import json

path = 'img/3.json' #json文件路径
with open(path,'r') as f: 
    data = json.load(f)

#print(data)
# print(data['bbox'])
# print(data['bbox'][0][0])
#data中每个元素都是嵌套的字典
img = cv2.imread('img/3.jpg') #读入图像
copyimg=img.copy()#拷贝一份,不拷贝容易出错
res = []
res = res + data['bbox']
for i in range(len(res)): 
    pts = np.array([[res[i][0],res[i][1]],[res[i][2],res[i][3]],[res[i][4],res[i][5]],[res[i][6],res[i][7]]], np.int32)
    pts = pts.reshape((-1,1,2))
    cv2.polylines(copyimg,[pts],True,(0,0,255))
# 图片保存
#参数1是路径,要包括保存的名字和格式,参数2是来源图片
cv2.imwrite('img/q.jpg',copyimg)

ocr中json、txt文件在图片上显示出来_第1张图片
ocr中json、txt文件在图片上显示出来_第2张图片

txt_photo.py

# coding=utf-8
import re
import numpy as np
import cv2
import matplotlib.pyplot as plt

path = 'img/gt_img_1.txt'
res = []
with open(path,'r', encoding="utf-8-sig") as file:
        # 定义一个用于切割字符串的正则
        seq = re.compile(",")
        # 逐行读取
        for line in file:
            lst = seq.split(line.strip())
            res.append(lst)
# print(res)

img = cv2.imread('img/img_1.jpg') #读入图像
copyimg=img.copy()#拷贝一份,不拷贝容易出错

for i in range(len(res)): 
    pts = np.array([[res[i][0],res[i][1]],[res[i][2],res[i][3]],[res[i][4],res[i][5]],[res[i][6],res[i][7]]], np.int32)
    pts = pts.reshape((-1,1,2))
    cv2.polylines(copyimg,[pts],True,(0,0,255))
# 图片保存
#参数1是路径,要包括保存的名字和格式,参数2是来源图片
cv2.imwrite('img/q.jpg',copyimg)

ocr中json、txt文件在图片上显示出来_第3张图片
ocr中json、txt文件在图片上显示出来_第4张图片

你可能感兴趣的:(mmocr,json,opencv,python)