0

김프에서 색조와 채도를 쉽게 옮길 수 있습니다. 예를 들어 원래의 그림과 색조를 -90으로 설정하고 채도를 100으로 설정 한 후 최종 결과를 볼 수 있습니다.python PIL : 색조와 채도 이동

파이썬 PIL에서 동일한 결과를 얻으려면 어떻게해야합니까?

원본 사진

original picture

최종 사진이

final picture

+0

유사한 질문 : http://stackoverflow.com/questions/7274221/changing-image-hue-with-python-pil –

+0

서로 다릅니다. 내가 원한 것은 색조를 회전시키는 것입니다. – dridk

답변

3

당신은 colorsys 모듈과 PIL의 조합으로 그것을 할 수 있지만, 가지 느리다. colorsys을 사용하면 색상 공간을 HSV로 변경하여 색조 및 채도 변경을 수행하는 것이 간단합니다. 귀하의 예를 대략 0.65의 제곱으로 채 웁니다. 중간 값을 증가시키면서 colorsys에 필요한 0.0-1.0의 범위를 유지합니다.

import colorsys 
from PIL import Image 
im = Image.open(filename) 
ld = im.load() 
width, height = im.size 
for y in range(height): 
    for x in range(width): 
     r,g,b = ld[x,y] 
     h,s,v = colorsys.rgb_to_hsv(r/255., g/255., b/255.) 
     h = (h + -90.0/360.0) % 1.0 
     s = s**0.65 
     r,g,b = colorsys.hsv_to_rgb(h, s, v) 
     ld[x,y] = (int(r * 255.9999), int(g * 255.9999), int(b * 255.9999)) 

enter image description here

+0

완벽하게 보입니다! 감사! 나는 그것을 시도 할 것이고, 나의 갈색 탐지를 계속할 것이다! – dridk

+0

그것은 작동합니다! 하지만 네, 조금 느립니다. 어떻게 더 빨리 할 수 ​​있을지 궁금해. – dridk