• 大小: 1.23MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-18
  • 语言: Python
  • 标签:

资源简介

自然场景文本检测PSENet的一个tensorflow重现

资源截图

代码片段和文件信息

# -*- coding:utf-8 -*-
import cv2
import time
import os
import numpy as np
import tensorflow as tf
from tensorflow.python.client import timeline
from utils.utils_tool import logger cfg
import matplotlib.pyplot as plt

tf.app.flags.DEFINE_string(‘test_data_path‘ None ‘‘)
tf.app.flags.DEFINE_string(‘gpu_list‘ ‘0‘ ‘‘)
tf.app.flags.DEFINE_string(‘checkpoint_path‘ ‘./‘ ‘‘)
tf.app.flags.DEFINE_string(‘output_dir‘ ‘./results/‘ ‘‘)
tf.app.flags.DEFINE_bool(‘no_write_images‘ False ‘do not write images‘)

from nets import model
from pse import pse

FLAGS = tf.app.flags.FLAGS

logger.setLevel(cfg.debug)

def get_images():
    ‘‘‘
    find image files in test data path
    :return: list of files found
    ‘‘‘
    files = []
    exts = [‘jpg‘ ‘png‘ ‘jpeg‘ ‘JPG‘]
    for parent dirnames filenames in os.walk(FLAGS.test_data_path):
        for filename in filenames:
            for ext in exts:
                if filename.endswith(ext):
                    files.append(os.path.join(parent filename))
                    break
    logger.info(‘Find {} images‘.format(len(files)))
    return files


def resize_image(im max_side_len=1200):
    ‘‘‘
    resize image to a size multiple of 32 which is required by the network
    :param im: the resized image
    :param max_side_len: limit of max image size to avoid out of memory in gpu
    :return: the resized image and the resize ratio
    ‘‘‘
    h w _ = im.shape

    resize_w = w
    resize_h = h

    # limit the max side
    if max(resize_h resize_w) > max_side_len:
        ratio = float(max_side_len) / resize_h if resize_h > resize_w else float(max_side_len) / resize_w
    else:
        ratio = 1.

    #ratio = float(max_side_len) / resize_h if resize_h > resize_w else float(max_side_len) / resize_w


    resize_h = int(resize_h * ratio)
    resize_w = int(resize_w * ratio)

    resize_h = resize_h if resize_h % 32 == 0 else (resize_h // 32 + 1) * 32
    resize_w = resize_w if resize_w % 32 == 0 else (resize_w // 32 + 1) * 32
    logger.info(‘resize_w:{} resize_h:{}‘.format(resize_w resize_h))
    im = cv2.resize(im (int(resize_w) int(resize_h)))

    ratio_h = resize_h / float(h)
    ratio_w = resize_w / float(w)

    return im (ratio_h ratio_w)


def detect(seg_maps timer image_w image_h min_area_thresh=10 seg_map_thresh=0.9 ratio = 1):
    ‘‘‘
    restore text boxes from score map and geo map
    :param seg_maps:
    :param timer:
    :param min_area_thresh:
    :param seg_map_thresh: threshhold for seg map
    :param ratio: compute each seg map thresh
    :return:
    ‘‘‘
    if len(seg_maps.shape) == 4:
        seg_maps = seg_maps[0 : : ]
    #get kernals sequence: 0->n max -> min
    kernals = []
    one = np.ones_like(seg_maps[... 0] dtype=np.uint8)
    zero = np.zeros_like(seg_maps[... 0] dtype=np.uint8)
    thresh = seg_map_thresh
    for i in range(seg_maps.shape[-1]-1 -1 -1):
        kernal = np.where(seg_maps[... i]>thresh one zero)
        kernals.append(ker

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\
     文件          17  2019-07-30 02:25  tensorflow_PSENet-master\.gitignore
     文件        1068  2019-07-30 02:25  tensorflow_PSENet-master\LICENSE
     文件        8438  2019-07-30 02:25  tensorflow_PSENet-master\eval.py
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\figure\
     文件      339120  2019-07-30 02:25  tensorflow_PSENet-master\figure\result0.jpg
     文件      163217  2019-07-30 02:25  tensorflow_PSENet-master\figure\result1.jpg
     文件      135965  2019-07-30 02:25  tensorflow_PSENet-master\figure\result2.jpg
     文件      209316  2019-07-30 02:25  tensorflow_PSENet-master\figure\result3.jpg
     文件      128506  2019-07-30 02:25  tensorflow_PSENet-master\figure\result4.jpg
     文件      173064  2019-07-30 02:25  tensorflow_PSENet-master\figure\result5.jpg
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\nets\
     文件           0  2019-07-30 02:25  tensorflow_PSENet-master\nets\__init__.py
     文件        5548  2019-07-30 02:25  tensorflow_PSENet-master\nets\model.py
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\nets\resnet\
     文件           0  2019-07-30 02:25  tensorflow_PSENet-master\nets\resnet\__init__.py
     文件       11148  2019-07-30 02:25  tensorflow_PSENet-master\nets\resnet\resnet_utils.py
     文件       15686  2019-07-30 02:25  tensorflow_PSENet-master\nets\resnet\resnet_v1.py
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\pse\
     文件         319  2019-07-30 02:25  tensorflow_PSENet-master\pse\Makefile
     文件         890  2019-07-30 02:25  tensorflow_PSENet-master\pse\__init__.py
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\
     目录           0  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\
     文件       19031  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\attr.h
     文件        4326  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\buffer_info.h
     文件       89483  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\cast.h
     文件        6616  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\chrono.h
     文件       24013  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\class_support.h
     文件         120  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\common.h
     文件        2001  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\complex.h
     文件        7693  2019-07-30 02:25  tensorflow_PSENet-master\pse\include\pybind11\descr.h
............此处省略30个文件信息

评论

共有 条评论