파이썬 이미징 라이브러리의 Image 클래스에 새로운 메소드를 추가하려고합니다. DilateImage라는 새로운 클래스를 만들고 싶습니다.이 클래스는 원본 Image 클래스와 똑같은 역할을하지만, 클래스 인스턴스가 실행될 때 클래스 인스턴스를 수정하는 dilate() 함수도 포함됩니다.파이썬에서 (네이티브) 클래스 확장하기
import Image
def DilateImage(Image):
def dilate(self):
imnew = self.copy()
sourcepix = imnew.load()
destpix = self.load()
for y in range(self.size[1]):
for x in range(self.size[0]):
brightest = 255
for dy in range(-1,2):
for dx in range(-1,2):
try:
brightest = min(sourcepix[x+dx,y+dy], brightest)
except IndexError:
pass
destpix[x, y] = brightest
내가 기본 클래스 '를 사용하는 인스턴스를 만들려면이 새로운 클래스 유형을 사용하려고 "열기"기능이 실패 :
>>> test = DilateImage.open("test.jpg")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'function' object has no attribute 'open'
여기 내 예제 코드 (즉, 작동하지 않는)입니다
응답 해 주셔서 감사합니다. 경. – runeks