25
февраль
2022
HEIC в JPEG, JPEG в HEIC: преобразование изображений формата HEIF
14:10

HEIC в JPEG, JPEG в HEIC: преобразование изображений формата HEIF

25 февраль 2022 14:10

На электронную почту пришло письмо с вложениями изображениями с расширением .HEIC. Чем просматривать и как конвертировать файлы HEIC?

HEIF - формат для сжатия изображений с очень сильным сжатием (High Efficiency Image Format). Если в JPEG файл занимает 1.5 Мбайт, то в HEIC - 70 кбайт с тем же разрешением, без, "квадратов", "ступенек" и шума. Недостаток - очень высокие требования к вычислительным ресурсам при сжатии. Формат HEIC использует фирма Apple.

Вывод изображения из файла HEIF формата на экран

(программа просмотра HEIC-файлов)

В Linux удобно просматривать HEIC-файлы при помощи программы EOG (Eye of Gnome).

sudo apt-get install eog

В меню программ "Графика" она называется либо "Image Viewer" (фиолетовая иконка), либо "Просмотр изображений".

Открывать файл .HEIC нажатием правой кнопки мыши - Графика - "Просмотр изображений".

Преобразование из HEIС формата в JPEG

Нужно установить пакет "libheif-examples":

sudo apt-get install libheif-examples

Из командной строки перевести HEIC в JPEG можно по одному файлу с помощью утилиты heif-convert :

heif-convert input.heic output.jpg

Либо можно с помощью цикла FOR преобразовать все файлы из HEIC в JPG.

for file in .\*.heic; do heif-convert -q 60 "$file" "${file%.heic}.jpg"; done;

Удобно использовать следующий shell-скрипт:

#!/bin/bash
for file in *.heic; do heif-convert -q 60 "$file" "${file%.heic}.jpg"; done;

где 60 - качество jpeg.

Преобразование из JPEG в HEIC

Формат HEIF может пригодится для передачи изображений через каналы связи с ограниченной пропускной способностью. Хотя я не использовал, но знаю, что есть программы для компьютера для передачи файлов по радио, Например, FLARQ из пакета FLDIGI.

Преобразования из HEIC в JPG производится командой

heif-enc -q 30 -o output.heic input.jpg -v

где 30 - параметр качества HEIF-алгоритма.

Подробное описание опций можно вывести при помощи команды "man heif-enc".

Чтобы преобразовать несколько файлов JPG в .HEIC, нужно использовать цикл For:

for file in *.jpg; do heif-enc -q 30 -o "${file%.jpg}.heic" "$file"; done;

или оформить команду в Shell-скрипт

#!/bin/bash
for file in *.jpg; do heif-enc -q 30 -o "${file%.jpg}.heic" "$file"; done;


Примеры:

Исходный JPEG файл - степень сжатия Q=60, размер 50 кБайт (фрагмент)
jpg

Файл в HEIF степень сжатия = 30, размер 12 кБайт (фрагмент)
heic-12kb

Файл в HEIF степень сжатия = 20, размер 6 кБайт (фрагмент)
heic-6kb

Исходные HEIC-файлов с различной степенью сжатия:
heic.zip

Кодирование нескольких изображений в один контейнер HEIF

Файл .HEIC представляет собой контейнер, в котором могут храниться несколько изображений.

Для кодирования серии изображений в один файл используется команда

heif-enc -q 30 -o result.heic in1.png in2.png in3.png

К сожалению, на просмотре программа eog показывает только первый файл, под номером 1.

Графический редактор GIMP открывает все файлы в контейнере HEIC. При открытии можно выбрать любую картинку из контейнера:
выбор

Пример файла с контейнером, в котором находятся 2 изображения:
container.res.heic.zip



Похожие публикации