Path: blob/master/benchmark/benchmark_blur.py
641 views
import io12import numpy as np3from PIL import Image, ImageFilter45from plate_recognition import parse_arguments, recognition_api678def main():9args = parse_arguments()10scores = []11for path in args.files:12blur_amount = 013init_value = ""14while True:15# Blur image16image = Image.open(path)17if image.height > 1080:18image = image.resize((int(image.width * 1080 / image.height), 1080))19elif image.width > 1980:20image = image.resize((1980, int(image.height * 1980 / image.width)))21if blur_amount > 0:22image = image.filter(ImageFilter.GaussianBlur(radius=blur_amount))23buffer = io.BytesIO()24image.save(buffer, "jpeg")25buffer.seek(0)2627# Do prediction28api_res = recognition_api(29buffer,30args.regions,31args.api_key,32args.sdk_url,33camera_id=args.camera_id,34)35if not init_value:36init_value = api_res["results"][0]["plate"]37elif not api_res["results"] or init_value != api_res["results"][0]["plate"]:38break39blur_amount += 0.540scores.append(blur_amount)41print(path, blur_amount)42print("Blur score", np.mean(scores))434445if __name__ == "__main__":46main()474849