преобразовать изображение в двоичные данные - PullRequest
0 голосов
/ 29 октября 2018

Я хотел бы преобразовать изображение в градациях серого в строку двоичных данных. Мне это удалось, но результат определяется как none вместо string, что означает, что я не могу проверить длину. какие-либо предложения, чтобы исправить это, или другой код для этой идеи? спасибо.

Это код, который я написал:

def pass_image(image_url):

    str = base64.b64encode(requests.get(image_url).content)

    print(str)
    print "".join(format(ord(x), "b") for x in decodestring(str))

1 Ответ

0 голосов
/ 29 октября 2018

Я думаю, что проблема возникает, потому что вы называете свою переменную str. Это имя, используемое в классе python для строк, поэтому по существу вы перезаписываете определение класса строки своей переменной, то есть вы больше не можете использовать его и его функции (такие как len)

Мне удалось запустить этот код со следующими изменениями, попробуйте. Я не совсем понимаю вашу цель, но, надеюсь, это поможет. Также убедитесь, что вы возвращаете созданный вами объект, если хотите использовать его в другой функции

import base64
import requests

my_url = '...' # your url here

def pass_image(image_url):
    output = base64.b64encode(requests.get(image_url).content)
    bin = "".join(format(ord(x), "b") for x in base64.decodestring(output))
    return bin # or you could print it

len(pass_image(my_url)) # for the url I used, I got length of 387244

Надеюсь, это поможет! Удачи.

...