преобразовать изображение в десятичное значение [Python] - PullRequest
0 голосов
/ 10 мая 2018

Я использую opencv с python и хочу преобразовать изображение в десятичное значение, чтобы сохранить его в текстовом документе.

Я пытался использовать b64encode, но он возвращает строковое или строковое значение,но я хочу десятичное значение.

Заранее благодарю за помощь:)

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Я до сих пор не понимаю, зачем хотеть конвертировать изображения в десятичные значения.Тем не менее, существует наивный подход.

Как указано в коде, предоставленном вами, сначала получите imcode:

import cv2 
import base64 
image = cv2.imread(path + 'date.jpg') 
(tmp,buffer) = cv2.imencode('.jpg', image) 
imcode = base64.b64encode(buffer) 

Затем вы можете получить значение ASCII каждого символа в imcode используя:

ascii_value = [ord(c) for c in imcode]

Теперь ascii_value - это список целых чисел, которые вы можете преобразовать в десятичные значения.

Я бы посоветовал вам посмотретьна ЭТО ССЫЛКА , а также

0 голосов
/ 10 мая 2018

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

Во-первых, двоичное изображение 50x50 уже имеет 2500 бит.RGB-изображение займет 60000 бит.Стандартное представление с плавающей точкой (32 или 64 бита) не подлежит сомнению, и вам понадобится некоторое представление BigNum.

Но, что еще хуже, если целью является сравнение изображений, пиксели получат широко различающиеся веса ичисленная разница даст вам очень плохую оценку несоответствий.

Вам лучше взглянуть на так называемые оценки сходства.

...