File size: 1,110 Bytes
f88f3d8
7771401
d5a9271
e88475e
7771401
e88475e
7771401
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e88475e
7771401
 
e88475e
7771401
f88f3d8
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import gradio as gr
from PIL import Image
from controlnet_aux.open_pose import OpenposeDetector   # NEW
from controlnet_aux.depth_anything import DepthAnythingDetector

# Load models
openpose = OpenposeDetector.from_pretrained("lllyasviel/ControlNet")
depth = DepthAnythingDetector.from_pretrained("depth-anything/Depth-Anything-V2")

def process(image: Image.Image):
    image = image.convert("RGB")
    result_openpose = openpose(image)
    result_depth = depth(image)

    if not isinstance(result_openpose, Image.Image):
        result_openpose = Image.fromarray(result_openpose)
    if not isinstance(result_depth, Image.Image):
        result_depth = Image.fromarray(result_depth)

    return result_openpose, result_depth

demo = gr.Interface(
    fn=process,
    inputs=gr.Image(type="pil", label="Upload an image"),
    outputs=[
        gr.Image(type="pil", label="OpenPose Result"),
        gr.Image(type="pil", label="Depth Result"),
    ],
    title="ControlNet Aux Demo",
    description="Upload an image and run both OpenPose and Depth Anything."
)

if __name__ == "__main__":
    demo.launch()