Spaces:
Runtime error
Runtime error
| import os | |
| import sys | |
| import numpy as np | |
| from PIL import Image | |
| import requests | |
| from io import BytesIO | |
| root = os.path.dirname(os.path.abspath(__file__)) | |
| sys.path.append(root) | |
| os.chdir(root) | |
| import modules.config | |
| import modules.html | |
| import modules.flags as flags | |
| import modules.meta_parser | |
| def download_image(url): | |
| response = requests.get(url) | |
| img = Image.open(BytesIO(response.content)).convert("RGB") | |
| return img | |
| def trigger_describe(mode, img_path): | |
| print("Running") | |
| print("Press Ctrl+C for Stop ") | |
| if mode == flags.desc_type_photo: | |
| from extras.interrogate import default_interrogator as default_interrogator_photo | |
| if img_path.startswith('http'): | |
| img = download_image(img_path) | |
| else: | |
| img = Image.open(img_path).convert("RGB") | |
| return default_interrogator_photo(img), ["Fooocus V2", "Fooocus Enhance", "Fooocus Sharp"] | |
| elif mode == flags.desc_type_anime: | |
| from extras.wd14tagger import default_interrogator as default_interrogator_anime | |
| if img_path.startswith('http'): | |
| img = download_image(img_path) | |
| elif isinstance(img_path, str): | |
| # Load the image if the input is a path | |
| img = Image.open(img_path).convert("RGB") | |
| elif isinstance(img_path, np.ndarray): | |
| # Use the provided NumPy array directly | |
| img = Image.fromarray(img_path).convert("RGB") | |
| else: | |
| raise ValueError("Invalid image format. Please provide a valid path or NumPy array.") | |
| # Convert the image to a NumPy array | |
| img_array = np.array(img) | |
| return default_interrogator_anime(img_array), ["Fooocus V2", "Fooocus Masterpiece"] | |
| return mode, ["Fooocus V2"] | |
| style_selections = modules.config.default_styles | |
| def run_describe(image_path, content_type): | |
| desc_input_image = image_path | |
| desc_method = content_type | |
| result, style_selections = None, None | |
| if desc_method in ["Photograph", "1", ""]: | |
| desc_method = "Photograph (1)" | |
| result, style_selections = trigger_describe(flags.desc_type_photo, desc_input_image) | |
| elif desc_method in ["Art/Anime", "2"]: | |
| desc_method = "Art/Anime (2)" | |
| result, style_selections = trigger_describe(flags.desc_type_anime, desc_input_image) | |
| else: | |
| print("ERROR!") | |
| if result or style_selections != "": | |
| style_selections = "" | |
| print("Result:", result) | |
| # print("Style Selections:", style_selections) | |
| quit() | |
| if __name__ == "__main__": | |
| desc_input_image = input("Path to Image (local path or URL): ") | |
| if desc_input_image == "": | |
| desc_input_image = "./imgs/Gambar1.jpg" | |
| print(f"You use: {desc_input_image}") | |
| desc_method = input( | |
| """ | |
| Select Content Type: | |
| Photograph (1) | |
| Art/Anime (2) | |
| """ | |
| ) | |
| run_describe(desc_input_image, desc_method) | |