Sorl-thumbnail: ๋˜‘๋˜‘ํ•œ ์ž‘๋ฌผ์—์„œ 0์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ

์— ๋งŒ๋“  2015๋…„ 01์›” 16์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: jazzband/sorl-thumbnail

์—ฌ๊ธฐ์—์„œ float division by zero ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

sorl/thumbnail/engines/pil_engine.py in _get_image_entropy, line 239

๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

{% thumbnail comment.user.profile.avatar_image "30x30" crop="smart" as im %}

์ด๊ฒƒ์€ ์ผ๋ถ€ ์ด๋ฏธ์ง€์—์„œ ๋ฐœ์ƒํ•˜๊ณ  ๋‹ค๋ฅธ ์ด๋ฏธ์ง€์—์„œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜์—๊ฒŒ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์ด๋ฏธ์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

https://www.dropbox.com/s/m5e79cvk53ujs7b/Chelsea_physic_garden.jpg?dl=0

๊ฐ„๋‹จํžˆ ์‚ดํŽด๋ณด๋ฉด ์ฝ”๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

def _get_image_entropy(self, image):
    """calculate the entropy of an image"""
    hist = image.histogram()
    hist_size = sum(hist)
    print hist_size
    hist = [float(h) / hist_size for h in hist]
    return -sum([p * math.log(p, 2) for p in hist if p != 0])

print hist_size ๋Š” ์ฝ˜์†”์—์„œ 0์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์‚ฐ์—๋Š” ์ผ์ข…์˜ try / except ํ•„์š”ํ•˜์ง€๋งŒ except ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค!

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

pillow == 3.1.0์œผ๋กœ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. # 429๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

๋‚ด๊ฐ€ sorl-thumbnail==11.12.1b ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๋ง ํ–ˆ์–ด์•ผ ํ–ˆ์–ด

๋˜ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋” ํฌ๊ฒŒ ์„ค์ •ํ•˜๋ฉด์ด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๋ฒ”์œ„๋ฅผ ์ข ํžˆ๋ฉด ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

{% thumbnail comment.user.profile.avatar_image "37x37" crop="smart" as im %}

...ํ•˜์ง€๋งŒ ํ•œ ํ”ฝ์…€ ๋” ํฌ๋ฉด ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

{% thumbnail comment.user.profile.avatar_image "38x38" crop="smart" as im %}

์•„๋งˆ๋„ ๊ทธ๊ฒƒ์€ ์ด๋ฏธ์ง€๊ฐ€ ๋งค์šฐ ์ž‘์„ ๋•Œ ์—”ํŠธ๋กœํ”ผ ๊ตฌ๋ณ„์ด 0์„ ํ–ฅํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ์ถ•์†Œ ๋œ ์ด๋ฏธ์ง€์—์„œ ์—”ํŠธ๋กœํ”ผ ๊ณ„์‚ฐ์ด ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ™•์‹คํžˆ ์—”ํŠธ๋กœํ”ผ ํฌ๋กญ ํผ๋Š” "smartest"์˜์—ญ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด ํฌ๊ธฐ ์ด๋ฏธ์ง€์—์„œ ์‹คํ–‰๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฒ„๊ทธ๊ฐ€

crop = 'center'๋ฅผ ์‚ฌ์šฉํ•ด๋„ sorl.thumbnail ์—์„œ get_thumbnail ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋™์ผํ•œ ๋ฒ„๊ทธ๊ฐ€ ์žฌํ˜„๋ฉ๋‹ˆ๋‹ค.

pillow == 3.1.0์œผ๋กœ ์‹œ๋„ํ•˜์‹ญ์‹œ์˜ค. # 429๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

@lampslave ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰