Juartaurus's picture
Upload folder using huggingface_hub
1865436
from signboard_detect import inference_signboard
import os
import numpy as np
import argparse
import tqdm
import cv2
def get_parser():
parser = argparse.ArgumentParser(description="Signboard Detection")
parser.add_argument("--input",
type=str,
default="./images",
help="A list of space separated input images")
parser.add_argument("--output",
type=str,
default="./output/output_signboard",
help="A list of array of segmentation")
parser.add_argument("--checkpoint",
type=str,
default="./checkpoints/ss/ss.ckpt",
help="File path to best model checkpoint")
args = parser.parse_args()
return args
def handle(args):
if args.input:
if os.path.isdir(args.input):
args.input = [os.path.join(args.input, fname)
for fname in os.listdir(args.input)]
for path in tqdm.tqdm(args.input):
print(path)
img = cv2.imread(path)
dimensions = img.shape
hei, wid = dimensions[0], dimensions[1]
print(hei, wid)
segment_array = inference_signboard(path, args.checkpoint).astype(int)
h, w = segment_array.shape
print(h, w)
if hei == h and wid == w:
segment_array = segment_array
else:
segment_array = cv2.rotate(
segment_array, cv2.ROTATE_90_CLOCKWISE)
txt_name = str(path.split("/")[-1].split(".")[0]) + '.txt'
if args.output:
output_path = os.path.join(args.output, txt_name)
np.savetxt(output_path, segment_array)
def main():
args = get_parser()
handle(args)
if __name__ == "__main__":
main()