【阿里云天池】实战:街景符号识别(单张图片读取和JSON数据读取)

一、包
采用OpenCv读取图片信息。

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

二、对于读取到的JSON数据信息的处理

将输入的JSON信息用np读出top,height,left,width,label这几个信息。返回一个拥有所有信息的arr。
def parse_json(d):
    arr = np.array([
        d['top'], d['height'], d['left'],  d['width'], d['label']
    ])
    arr = arr.astype(int)
    return arr

三、执行过程
读取JSON数据,用OpenCv读取图片,将获得图片的JSON信息保存在arr里。

train_json = json.load(open('mchar_train.json'))

img = cv2.imread('mchar_train/mchar_train/000001.png')

arr = parse_json(train_json['000001.png'])

在这里插入图片描述
接下来进行可视化处理

plt.figure(figsize=(10, 10))
plt.subplot(1, arr.shape[1]+1, 1)
plt.imshow(img)
plt.xticks([]); plt.yticks([])
for idx in range(arr.shape[1]):
    plt.subplot(1, arr.shape[1]+1, idx+2)
    plt.imshow(img[arr[0, idx]:arr[0, idx]+arr[1, idx],arr[2, idx]:arr[2, idx]+arr[3, idx]])
    plt.title(arr[4, idx])
    plt.xticks([]); plt.yticks([])
plt.show()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值