def text_detect(img, prob=0.05):
    im = Image.fromarray(img)
    scale = IMGSIZE[0]
    w, h = im.size
    w_, h_ = resize_im(w, h, scale=scale,
                       max_scale=2048)  ##短边固定为608,长边max_scale<4000
    #boxed_image,f = letterbox_image(im, (w_,h_))
    boxed_image = im.resize((w_, h_), Image.BICUBIC)
    image_data = np.array(boxed_image, dtype='float32')
    image_data /= 255.
    image_data = np.expand_dims(image_data, 0)  # Add batch dimension.
    imgShape = np.array([[h, w]])
    inputShape = np.array([[h_, w_]])

    global graph
    with graph.as_default():
        ##定义 graph变量 解决web.py 相关报错问题
        """
         pred = textModel.predict_on_batch([image_data,imgShape,inputShape])
         box,scores = pred[:,:4],pred[:,-1]
         
         """
        box, scores = sess.run(
            [box_score],
            feed_dict={
                textModel.input: image_data,
                input_shape: [h_, w_],
                image_shape: [h, w],
                K.learning_phase(): 0
            })[0]

    keep = np.where(scores > prob)

    box[:, 0:4][box[:, 0:4] < 0] = 0
    box[:, 0][box[:, 0] >= w] = w - 1
    box[:, 1][box[:, 1] >= h] = h - 1
    box[:, 2][box[:, 2] >= w] = w - 1
    box[:, 3][box[:, 3] >= h] = h - 1
    box = box[keep[0]]

    scores = scores[keep[0]]
    return box, scores
Beispiel #2
0
from helper.image import resize_im,letterbox_image
from PIL import Image
import numpy as np
import tensorflow as tf
graph = tf.get_default_graph()##解决web.py 相关报错问题

anchors = [float(x) for x in keras_anchors.split(',')]
anchors = np.array(anchors).reshape(-1, 2)
num_anchors = len(anchors)

num_classes = len(class_names)
textModel = yolo_text(num_classes,anchors)
textModel.load_weights(kerasTextModel)


sess = K.get_session()
image_shape = K.placeholder(shape=(2, ))##图像原尺寸:h,w
input_shape = K.placeholder(shape=(2, ))##图像resize尺寸:h,w
box_score = box_layer([*textModel.output,image_shape,input_shape],anchors, num_classes)



def text_detect(img,prob = 0.05):
    im    = Image.fromarray(img)
    scale = IMGSIZE[0]
    w,h   = im.size
    w_,h_ = resize_im(w,h, scale=scale, max_scale=2048)##短边固定为608,长边max_scale<4000
    #boxed_image,f = letterbox_image(im, (w_,h_))
    boxed_image = im.resize((w_,h_), Image.BICUBIC)
    image_data = np.array(boxed_image, dtype='float32')
    image_data /= 255.
Beispiel #3
0
"""
from config import kerasTextModel, keras_anchors, class_names
from text.keras_yolo3 import yolo_text, box_layer, K
from apphelper.image import resize_im
from PIL import Image
import numpy as np
import tensorflow as tf

graph = tf.get_default_graph()  ##解决web.py 相关报错问题
anchors = [float(x) for x in keras_anchors.split(',')]
anchors = np.array(anchors).reshape(-1, 2)
num_anchors = len(anchors)
num_classes = len(class_names)
textModel = yolo_text(num_classes, anchors)
textModel.load_weights(kerasTextModel)
sess = K.get_session()
image_shape = tf.placeholder(tf.float32, shape=(2, ))  ##图像原尺寸:h,w
input_shape = tf.placeholder(tf.float32, shape=(2, ))  ##图像resize尺寸:h,w
box_score = box_layer([*textModel.output, image_shape, input_shape], anchors,
                      num_classes)


def text_detect(img, scale, maxScale, prob=0.05):
    im = Image.fromarray(img)
    w, h = im.size
    w_, h_ = resize_im(w, h, scale=scale,
                       max_scale=2048)  ##短边固定为608,长边max_scale<4000
    #boxed_image,f = letterbox_image(im, (w_,h_))
    boxed_image = im.resize((w_, h_), Image.BICUBIC)
    image_data = np.array(boxed_image, dtype='float32')
    image_data /= 255.
from apphelper.image import resize_im, letterbox_image
from PIL import Image
import numpy as np
import tensorflow as tf
graph = tf.get_default_graph()  ##解决web.py 相关报错问题

anchors = [float(x) for x in keras_anchors.split(',')]
anchors = np.array(anchors).reshape(-1, 2)
num_anchors = len(anchors)

num_classes = len(class_names)
textModel = yolo_text(num_classes, anchors)
textModel.load_weights(kerasTextModel)

sess = K.get_session()
image_shape = K.placeholder(shape=(2, ))  ##图像原尺寸:h,w
input_shape = K.placeholder(
    shape=(2, ))  ##图像resize尺寸:h,w# 下面吧模型都归结到一起,成为box_layer
box_score = box_layer([*textModel.output, image_shape, input_shape], anchors,
                      num_classes)


def text_detect(img, prob=0.05):
    im = Image.fromarray(img)
    scale = IMGSIZE[0]
    w, h = im.size
    w_, h_ = resize_im(w, h, scale=scale,
                       max_scale=2048)  ##短边固定为608,长边max_scale<4000
    #boxed_image,f = letterbox_image(im, (w_,h_))
    boxed_image = im.resize((w_, h_), Image.BICUBIC)