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) | |