Как убрать лишние пиксели с изображения? - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь создать решатель капчи для сайта, использующего python, но я не могу удалить лишние пиксели (те, у которых нет других пикселей вокруг него)

мне удалось получить действительнозакрыть, удаляя почти каждый лишний пиксель, но мой код работает только один раз, и затем он перестает оказывать какое-либо влияние на изображение.

try:
    from PIL import Image
except ImportError:
    import Image
import pytesseract
from operator import itemgetter
import PIL.ImageOps


for x in range(im2.size[1]):
  for y in range(im2.size[0]):
    pix = im2.getpixel((y,x))
    im2.putpixel((0,21), (0,0,0))
    if pix < 180:
        try:
            left = im2.getpixel((y-1,x))
        except IndexError:
            left = 255
            pass
        try:
            right = im2.getpixel((y+1,x))
        except IndexError:
            right = 255
            pass
        try:
            up = im2.getpixel((y,x-1))
        except IndexError:
            up = 255
            pass
        try:
            down = im2.getpixel((y,x+1))
        except IndexError:
            down = 255
            pass
        if (left == 255 and right == 255) or (up == 255 and down == 255):
            im2.putpixel((y,x),(255,255,255))

Я хотел бы удалить любые пиксели без других пикселей либо на сторонеили вверх и вниз.

это изображение, которое я использую для проверки

это до того, как я один раз запустил код

...