자이 썬에서 그림을 흐리게하려고합니다. 내가 가지고있는 것은 실행되지만 흐린 그림은 반환하지 않습니다. 나는 그것과 함께 무엇이 잘못 되었는가를 놓치고있다.그림 흐리게하기 (파이썬, 자이 썬, 그림 편집)
최종 (working) 아래에서 수정 된 코드입니다. 도움을 주신 분께 감사드립니다!
pic= makePicture(pickAFile())
show(pic)
blurAmount=10
makeBlurredPicture(pic,blurAmount)
show(makeBlurredPicture(pic,blurAmount))
DEF makeBlurredPicture (PIC, blurAmount) :
DEF() 메인
w=getWidth(pic)
h=getHeight(pic)
blurPic= makeEmptyPicture(w-blurAmount, h)
for px in getPixels(blurPic):
x=getX(px)
y=getY(px)
if (x+blurAmount<w):
rTotal=0
gTotal=0
bTotal=0
for i in range(0,blurAmount):
origpx=getPixel(pic,x+i,y)
rTotal=rTotal+getRed(origpx)
gTotal=gTotal+getGreen(origpx)
bTotal=bTotal+getBlue(origpx)
rAverage=(rTotal/blurAmount)
gAverage=(gTotal/blurAmount)
bAverage=(bTotal/blurAmount)
setRed(px,rAverage)
setGreen(px,gAverage)
setBlue(px,bAverage)
return blurPic
의사 코드 등이었다
: GET 폭 makeBlurredPicture (그림 blur_amount) 및 그림의 높이와 빈 그림을 (w-blur_amount, h)이 blurPic이라고 부름
라이브러리 참조 이미지에 대한 완전한 설명import ImageFilter
def filterBlur(im):
im1 = im.filter(ImageFilter.BLUR)
im1.save("BLUR" + ext)
filterBlur(im1)
: 여기
의 마지막 줄을 변경 표시하기 위해
:
그래서 단지로 내부 루프를 교체() 원래 사진에 아니라 흐린 하나? –
나는 반환이 그것을 나타낼 것이라고 생각했다. :/어떻게 제대로 표시합니까? main() 함수의 끝 부분에 show (blurPic)를 넣으려고했으나 작동하지 않습니다. – roger34
짐작할 수 있습니다. 나는 당신의 부서를 의심합니다 :'rTotal/blurAmount'. rTotal 및 blurAmount 정수가 모두 있습니까? 그렇다면, 실수 나누기, 부동 소수점 결과가 필요할 때 잘린 구분 (정수 결과)을 수행하고있는 것입니다. 편집 : 아니, 스크랩. 정수 부분은 여기 괜찮아 보입니다. –