gradio_imageslider
องค์ประกอบ Gradio สำหรับการเปรียบเทียบภาพสองภาพ
ส่วนประกอบนี้สามารถใช้ได้หลายวิธี:
pip install gradio_imageslider
import gradio as gr
from gradio_imageslider import ImageSlider
from PIL import ImageFilter
def fn ( im ):
if not im or not im [ 0 ]:
return im
return ( im [ 0 ], im [ 0 ]. filter ( filter = ImageFilter . GaussianBlur ( radius = 10 )))
with gr . Blocks () as demo :
with gr . Group ():
img1 = ImageSlider ( label = "Blur image" , type = "pil" , slider_color = "pink" )
img1 . upload ( fn , inputs = img1 , outputs = img1 )
if __name__ == "__main__" :
demo . launch ()
ImageSlider
ชื่อ | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|---|
value | tuple [ str , str ]
| tuple [ PIL . Image . Image , PIL . Image . Image ]
| tuple [ numpy . ndarray , numpy . ndarray ]
| None | None | รูปภาพ PIL, อาร์เรย์ตัวเลข, เส้นทางหรือ URL สำหรับค่าเริ่มต้นที่คอมโพเนนต์รูปภาพจะใช้ หากเรียกใช้ได้ ฟังก์ชันจะถูกเรียกใช้ทุกครั้งที่โหลดแอปเพื่อตั้งค่าเริ่มต้นของส่วนประกอบ |
position | int | 0.5 | ตำแหน่งของแถบเลื่อนระหว่าง 0 ถึง 1 |
upload_count | int | 1 | จำนวนรูปภาพที่สามารถอัปโหลดไปยังคอมโพเนนต์ได้ 1 หรือ 2 |
height | int | None | None | ความสูงของภาพที่แสดงเป็นพิกเซล |
width | int | None | None | ความกว้างของภาพที่แสดงเป็นพิกเซล |
type | "numpy" | "pil" | "filepath" | "numpy" | รูปแบบที่รูปภาพจะถูกแปลงก่อนที่จะส่งผ่านไปยังฟังก์ชันการทำนาย "numpy" แปลงรูปภาพเป็นอาร์เรย์ numpy ที่มีรูปร่าง (ความสูง, ความกว้าง, 3) และค่าตั้งแต่ 0 ถึง 255, "pil" แปลงรูปภาพเป็นวัตถุรูปภาพ PIL, "filepath" ส่งผ่านเส้นทาง str ไปยังไฟล์ชั่วคราวที่มี รูปภาพ |
label | str | None | None | ชื่อส่วนประกอบในอินเทอร์เฟซ |
every | float | None | None | หาก `value` สามารถเรียกได้ ให้เรียกใช้ฟังก์ชัน 'ทุกๆ' จำนวนวินาทีในขณะที่การเชื่อมต่อไคลเอ็นต์เปิดอยู่ ไม่มีผลกระทบอย่างอื่น ต้องเปิดใช้งานคิว คุณสามารถเข้าถึงเหตุการณ์ได้ (เช่น เพื่อยกเลิก) ผ่านทางแอตทริบิวต์ .load_event ของคอมโพเนนต์นี้ |
show_label | bool | None | None | หากเป็น True จะแสดงป้ายกำกับ |
show_download_button | bool | True | หากเป็น True จะแสดงปุ่มดาวน์โหลดภาพ |
container | bool | True | หากเป็น True จะวางส่วนประกอบไว้ในคอนเทนเนอร์ โดยจะมีช่องว่างเพิ่มเติมรอบๆ เส้นขอบ |
scale | int | None | None | ความกว้างสัมพัทธ์เมื่อเปรียบเทียบกับส่วนประกอบที่อยู่ติดกันในแถว ตัวอย่างเช่น หากส่วนประกอบ A มีมาตราส่วน = 2 และส่วนประกอบ B มีมาตราส่วน = 1 A จะมีความกว้างเป็นสองเท่าของ B โดยควรเป็นจำนวนเต็ม |
min_width | int | 160 | ความกว้างพิกเซลขั้นต่ำ จะตัดคำหากพื้นที่หน้าจอไม่เพียงพอต่อค่านี้ หากค่าสเกลบางอย่างส่งผลให้คอมโพเนนต์นี้แคบกว่า min_width พารามิเตอร์ min_width จะถูกยึดไว้ก่อน |
interactive | bool | None | None | หากเป็น True จะอนุญาตให้ผู้ใช้อัปโหลดและแก้ไขรูปภาพ หากเป็นเท็จ สามารถใช้เพื่อแสดงรูปภาพเท่านั้น หากไม่ได้ระบุไว้ ระบบจะอนุมานโดยขึ้นอยู่กับว่าส่วนประกอบนั้นถูกใช้เป็นอินพุตหรือเอาต์พุต |
visible | bool | True | หากเป็นเท็จ ส่วนประกอบจะถูกซ่อนไว้ |
elem_id | str | None | None | สตริงทางเลือกที่กำหนดเป็นรหัสของส่วนประกอบนี้ใน HTML DOM สามารถใช้สำหรับการกำหนดเป้าหมายสไตล์ CSS |
elem_classes | list [ str ] | str | None | None | รายการทางเลือกของสตริงที่กำหนดเป็นคลาสของส่วนประกอบนี้ใน HTML DOM สามารถใช้สำหรับการกำหนดเป้าหมายสไตล์ CSS |
show_share_button | bool | None | None | หากเป็นจริง จะแสดงไอคอนแชร์ที่มุมขององค์ประกอบที่อนุญาตให้ผู้ใช้แชร์เอาต์พุตไปยังการสนทนา Hugging Face Spaces หากเป็นเท็จ ไอคอนจะไม่ปรากฏขึ้น หากตั้งค่าเป็นไม่มี (พฤติกรรมเริ่มต้น) ไอคอนจะปรากฏขึ้นหากแอป Gradio นี้เปิดตัวบน Spaces แต่ไม่ใช่อย่างอื่น |
slider_color | str | None | None | สีของตัวคั่นแถบเลื่อน |
ชื่อ | คำอธิบาย |
---|---|
change | ทริกเกอร์เมื่อค่าของ ImageSlider เปลี่ยนแปลงเนื่องจากการป้อนข้อมูลของผู้ใช้ (เช่น ผู้ใช้พิมพ์ในกล่องข้อความ) หรือเนื่องจากการอัพเดตฟังก์ชัน (เช่น รูปภาพได้รับค่าจากเอาต์พุตของทริกเกอร์เหตุการณ์) ดู .input() สำหรับผู้ฟังที่ถูกทริกเกอร์โดยอินพุตของผู้ใช้เท่านั้น |
upload | Listener นี้จะถูกทริกเกอร์เมื่อผู้ใช้อัปโหลดไฟล์ลงใน ImageSlider |
ผลกระทบต่อฟังก์ชันทำนายของผู้ใช้จะแตกต่างกันไปขึ้นอยู่กับว่าส่วนประกอบนั้นถูกใช้เป็นอินพุตหรือเอาต์พุตสำหรับเหตุการณ์ (หรือทั้งสองอย่าง)
ข้อมูลโค้ดด้านล่างนี้ถูกต้องในกรณีที่มีการใช้ส่วนประกอบเป็นทั้งอินพุตและเอาต์พุต
def predict (
value : tuple [ str , str ]
| tuple [ PIL . Image . Image , PIL . Image . Image ]
| tuple [ numpy . ndarray , numpy . ndarray ]
| None
) -> tuple [ str , str ]
| tuple [ PIL . Image . Image , PIL . Image . Image ]
| tuple [ numpy . ndarray , numpy . ndarray ]
| None :
return value