Как написать изображение для строки в Юлии? - PullRequest
2 голосов
/ 10 мая 2019

Я хочу закодировать изображение в моем каталоге "x.png" в String или Array{UInt8, 1}.

Я пишу код в Julia для сериализации изображения с использованием protobufs. Требуется, чтобы изображение было закодировано Формат строки.

В Python это делается следующим образом. Я ищу похожую функциональность в Юлии.

from PIL import Image
img = Image.load('x.png')
import io
output = io.BytesIO()
img.save(output, 'PNG')
img_string_data = output.getvalue()
output.close()

Выход может быть String объектом или Array{UInt8, 1}

1 Ответ

2 голосов
/ 10 мая 2019

В Юлии вы можете добиться, написав:

img_string_data = read("x.png")

img_string_data теперь равно Vector{UInt8}.Вы также можете написать read("x.png", String), чтобы получить String (что не очень полезно, хотя, скорее всего, оно будет содержать недопустимые символы).

Существует одно различие между решением Julia и вашим решением Python.Подход Julia будет хранить в img_string_data содержимое, идентичное тому, что "x.png" хранит на двоичном уровне, в то время как ваше решение Python будет хранить идентичное изображение, но, возможно, на двоичном уровне будет отличаться (то есть PIL может изменить некоторые байты в вашем файле).

...