본문 바로가기
파이썬

파이썬 PIL Best Way To Replace Color?

by º기록 2021. 1. 20.
반응형


누구든지 Python에서 PIL을 사용하여 색상과 주변을 대체하는 더 좋은 방법을 알고 있습니까? 이것은 아마도 물체를 완전히 제거 할 수있는 유일한 화재 방법 일 것입니다. 그러나 이것을 수행하는 방법은 생각할 수 없습니다.

그림에는 흰색 배경과 검은 색 텍스트가 있습니다. 아티팩트를 남기지 않고 이미지에서 텍스트를 완전히 제거하고 싶다고 가정 해 보겠습니다.

누군가의 도움을 정말 감사하겠습니다! 감사

 

해결 방법

 

이미지를 2 차원 배열로 표현해야합니다. 이것은 픽셀 목록을 만들거나 영리한 수학을 사용하여 1 차원 배열을 2D 배열로 보는 것을 의미합니다. 그런 다음 타겟팅 된 각 픽셀에 대해 주변 픽셀을 모두 찾아야합니다. 따라서 파이썬 생성기로이를 수행 할 수 있습니다.

def targets(x,y):
    yield (x,y) # Center
    yield (x+1,y) # Left
    yield (x-1,y) # Right
    yield (x,y+1) # Above
    yield (x,y-1) # Below
    yield (x+1,y+1) # Above and to the right
    yield (x+1,y-1) # Below and to the right
    yield (x-1,y+1) # Above and to the left
    yield (x-1,y-1) # Below and to the left

따라서 다음과 같이 사용합니다.

for x in range(width):
    for y in range(height):
        px = pixels[x][y]
        if px[0] == 255 and px[1] == 255 and px[2] == 255:
            for i,j in targets(x,y):
                newpixels[i][j] = replacementColor

 

참조 페이지 https://stackoverflow.com/questions/1616767

 

 

반응형

댓글