ComfyUI_essentials>๐Ÿ”ง Image Expand Batch
ComfyUI_essentials
ๆ—ถ้—ด๏ผš2025/09/12

๐Ÿ”ง Image Expand Batch

็”จไบŽๅฐ†่พ“ๅ…ฅ็š„ๅ›พๅƒๅบๅˆ—ๆ นๆฎๆŒ‡ๅฎš้€ป่พ‘่ฟ›่กŒๅคๅˆถๆ‰ฉๅฑ•๏ผŒไปŽ่€Œๅˆ›ๅปบไธ€ไธชๆ›ด้•ฟ็š„ๅ›พๅƒๅบๅˆ—ใ€‚
๐Ÿ”ง Image Expand Batch-่Š‚็‚นๅ‚ๆ•ฐ่ฏดๆ˜Ž
่พ“ๅ…ฅๅ‚ๆ•ฐ
imageๅฟ…้กปๅ‚ๆ•ฐ ่ฆ้‡ๅค็š„ๅ›พๅƒใ€‚
่พ“ๅ‡บๅ‚ๆ•ฐ
IMAGE่พ“ๅ‡บๆ‰ฉๅฑ•ๅŽ็š„ๅ›พๅƒbatch
ๆŽงไปถๅ‚ๆ•ฐ
sizeๆœ€็ปˆimage batch็š„ๅคงๅฐใ€‚
methodmethod ๅฏ้€‰ๅ€ผ expand๏ผšๆŒ‰ๆฏ”ไพ‹ๆ’ๅ€ผๆ–นๅผ้€‰ๆ‹ฉๅธง๏ผŒ้€‚ๅˆๆ—ถ้—ดๅบๅˆ—่กฅๅธง๏ผˆไฟ็•™้ฆ–ๅฐพ๏ผ‰๏ผŒๆปก่ถณ็›ฎๆ ‡ๆ•ฐ้‡้œ€ๆฑ‚ใ€‚ repeat all๏ผš ๅœจๅŽŸๅฐพๅธงๅŽๅพช็Žฏ้‡ๅคๆ‰€ๆœ‰ๅธง็›ดๅˆฐๆปก่ถณ็›ฎๆ ‡ๆ•ฐ้‡้œ€ๆฑ‚ใ€‚ repeat first๏ผšๅœจๅŽŸ้ฆ–ๅธงๅŽ้ข้‡ๅค่กฅๅ……้ฆ–ๅธง็›ดๅˆฐๆปก่ถณ็›ฎๆ ‡ๆ•ฐ้‡้œ€ๆฑ‚๏ผŒๅคๅˆถ็š„้ฆ–ๅธงๆ•ฐ้‡=็›ฎๆ ‡ๅธงๆ•ฐ-ๅŽŸๅง‹ๆ€ปๅธงๆ•ฐใ€‚ repeat last๏ผš ๅœจๅŽŸๅฐพๅธงๅŽ้ข้‡ๅค่กฅๅ……ๅฐพๅธง็›ดๅˆฐๆปก่ถณ็›ฎๆ ‡ๆ•ฐ้‡้œ€ๆฑ‚ใ€‚
ๆผ”็คบไบ†4็งไธๅŒๆ–นๆณ•็š„ๆ‰ฉๅฑ•้€ป่พ‘

้‡็‚น่ฏดๆ˜Žexpand็š„้€ป่พ‘๏ผŒๆบ็ ๅฆ‚ไธ‹๏ผš


if size < orig_size:  # ็ผฉๅ‡
    scale = (orig_size - 1) / (size - 1)
    for i in range(size):
        out[i] = image[min(round(i * scale), orig_size - 1)]

else:  # ๆ‰ฉๅฑ•
    scale = orig_size / size
    for i in range(size):
        out[i] = image[min(math.floor((i + 0.5) * scale), orig_size - 1)]

ไธพไพ‹๏ผšๆ‰ฉๅฑ•ๅŽŸๅง‹3ๅ›พ๏ผŒ็›ฎๆ ‡7ๅ›พ

orig_size = 3
size = 7
scale = orig_size / size = 3 / 7 โ‰ˆ 0.4286
i=0 โ†’ floor((0+0.5)*0.4286)=floor(0.214)=0
i=1 โ†’ floor((1+0.5)*0.4286)=floor(0.642)=0
i=2 โ†’ floor((2+0.5)*0.4286)=floor(1.071)=1
i=3 โ†’ floor((3+0.5)*0.4286)=floor(1.5)=1
i=4 โ†’ floor((4+0.5)*0.4286)=floor(1.928)=1
i=5 โ†’ floor((5+0.5)*0.4286)=floor(2.357)=2
i=6 โ†’ floor((6+0.5)*0.4286)=floor(2.785)=2


ๅนฟๅ‘Š

ๅฏๅŠ ๅ…ฅ็Ÿฅ่ฏ†ๆ˜Ÿ็ƒ่Žทๅ–ๆ‰€ๆœ‰็คบไพ‹ๅทฅไฝœๆต

ๅนฟๅ‘Š

ๅพฎไฟกๆ‰ซ็ ๅ…ฅ็พค๏ผŒๅŠ ๅ…ฅAIGCๅคงๅฎถๅบญ๏ผŒไธŽๅคงๅฎถไธ€่ตทไบคๆตๅญฆไน