import os import sys import time import json import requests from io import BytesIO from PIL import Image import base64 def get_img(img_url): response = requests.get(img_url) image = Image.open(BytesIO(response.content)) return image def get_debug_imgs(content): url = "http://172.16.18.32:24311/api/mask_debugger/loc_debug_box" headers = { 'Content-Type': "application/json", } response = requests.request("POST", url, data=json.dumps(content), headers=headers).json() # print(content) return response def get_img(stream): url= "http://180.76.166.204:8087/anno/rgl_imgs/" path = "D:\\rgl_imgs" files = os.listdir(path) for file in files: file_arr = file.split("_") file_ip = file_arr[0] if "101" in stream: if file_ip in stream and file_arr[-2]=="1": #print(file) return url+file elif "201" in stream: if file_ip in stream and file_arr[-2]=="2": #print(file) return url+file def get_data(): w = open("anno.csv","w",encoding="utf-8") rg_file = "red_green_light.json" file_json = open(rg_file) data_json = json.load(file_json) test_time = "2021-08-24 09:30:00" for data in data_json: print(data) if data["lots"]: img_url = get_img(data["stream"]) content = { "site_id":"ZGCYH_beijing_parking", "lot_name": "zgcyh", "cam_id": data["channel_no"], "image_url": img_url } cam_view_url = "" map_view_url = "" debug_response = get_debug_imgs(content) print(debug_response) if debug_response["error_no"] == 200: cam_view_o = get_img(debug_response["debug_info"]["cam_view"]["url"]) cam_view_name = "rgl_imgs/%s" %(debug_response["debug_info"]["cam_view"]["url"].split("/")[-1]) #time.sleep(5) #print(cam_view_name) cam_view_o.save(cam_view_name) cam_view_url = "http://180.76.166.204:8087/anno/rgl_imgs/%s" % (debug_response["debug_info"]["cam_view"]["url"].split("/")[-1]) map_view = get_img(debug_response["debug_info"]["map_view"]["url"]) map_view_name = "rgl_imgs/%s" % (debug_response["debug_info"]["map_view"]["url"].split("/")[-1]) map_view.save(map_view_name) map_view_url = "http://180.76.166.204:8087/anno/rgl_imgs/%s" % (debug_response["debug_info"]["map_view"]["url"].split("/")[-1]) # except: # print("1111") # cam_view_url = img_url # map_view_url = "" for lot in data["lots"]: w_str = "%s,%s,%s,%s,%s,%s\n"%(test_time,lot,"",data["channel_no"],cam_view_url,map_view_url) w.write(w_str) if __name__=="__main__": get_data()