Некоторые методы предварительного просмотра изображений JPEG-2000, которые работают на Nautilus, Nemo и Caja.
Способ 1: Использование opj_decompress
Установить libopenjp2-инструменты
sudo apt установить libopenjp2-tools
Этот пакет поставляется с инструментами и кодеками, необходимыми для преобразования изображений JP2 и J2K в эскизы PNG, а именно opj_decompress
, opj_dump
, и libopenjp2-7
.
Примечания:
Получить mime-типы изображений JP2 и J2K
- Щелкните правой кнопкой мыши образ JP2 или J2K, выберите Характеристики.
- На Базовый вкладку, обратите внимание на то, что указано в скобках для Тип поле. В моем случае (Ubuntu 20.04) это
изображение/jp2
для изображений JP2 и изображение/x-jp2-кодовый поток
для образов J2K и J2C.
В качестве альтернативы вы можете использовать xdg-мим
чтобы получить эти mime-типы. Например, если у вас есть пример.jp2
и пример.j2k
в ~/Картинки
, выполните следующие команды:
Тип файла запроса xdg-mime ~/Pictures/example.jp2
Тип файла запроса xdg-mime ~/Pictures/example.j2k
Создать сценарий эскиза для образов JP2 и J2K
- Создайте файл с именем
jp2-thumbnailer-bin
в /USR/местные/бен
:
sudo nano /usr/local/bin/jp2-thumbnailer-bin
- Скопируйте следующий скрипт (на основе метода из это) в файл (используйте Ctrl+С копировать и Ctrl+Сдвиг+В вставить в
нано
окно):
#!/бин/баш
sInFile="$1"
нТумбСизе="$2"
sOutFile="$3"
# Получить размеры входного изображения
sInfo="$(opj_dump -i "$sInFile")"
sSize="$(echo "$sInfo" | grep x1 | sed -r 's|.*x1=(.*), y1=(.*)|\1\t\2|')"
nWidth="$(echo "$sSize" | cut --fields=1)"
nHeight="$(echo "$sSize" | cut --fields=2)"
# Получить большой размер входного изображения
если((nШирина>nВысота)); тогда
nLargeSize="$nШирина"
еще
nLargeSize="$nВысота"
фи
# Создать миниатюру вывода;
# Изображения больше, чем размер эскиза по умолчанию (256x256 или
# 128x128 пикселей) уменьшены, поэтому их размер больше
# не более 256 или 128 пикселей. Это значительно снижает
# время создания эскиза.
если((nLargeSize<=nThumbSize)); тогда
/usr/bin/opj_decompress -i "$sInFile" -o "$sOutFile".png
еще
nResolutions="$(echo "$sInfo" | grep numresolutions | cut --delimiter='=' --fields=2 | sort --general-numeric-sort | sed 1q)"
nReduce="$(echo "f=l($nLargeSize/$nThumbSize)/l(2);scale=0;f/1" | bc -l)"
если((nReduce<nResolutions)); тогда
nReduceFactor="$nReduce"
еще
nReduceFactor="$((nResolutions-1))"
фи
/usr/bin/opj_decompress -i "$sInFile" -r "$nReduceFactor" -o "$sOutFile".png
фи
если [[ -e /usr/bin/gdk-pixbuf-thumbnailer ]]; тогда
/usr/bin/gdk-pixbuf-thumbnailer -s "$nThumbSize" "$sOutFile".png "$sOutFile"
rm "$sOutFile".png
еще
mv "$sOutFile".png "$sOutFile"
фи
- Нажимать Ctrl+О и Войти сохранить файл и Ctrl+Икс выходить
нано
и вернуться к терминалу.
- Затем сделайте файл исполняемым с помощью:
sudo chmod +x /usr/local/bin/jp2-thumbnailer-bin
Примечание: Если вы используете Nemo или Caja, вы можете поместить скрипт куда-нибудь в свой домашний каталог (например, ~/.локальные/бен
) и запускайте команды, подобные приведенным выше, без судо
. Однако, если вы используете Nautilus, вы можете сделать это, только если libgnome-рабочий стол
используется Nautilus старше, чем 3.28.2. Чтобы получить номер версии libgnome-рабочий стол
, введите эту команду:
список подходящих --установлен | grep libgnome-рабочий стол | вырезать -d '' -f 2 | вырезать -d '-' -f 1
Создать запись эскиза для образов JP2 и J2K
- Сначала создайте папку с именем
миниатюрщики
в ~/.local/поделиться
.
mkdir -p ~/.local/share/thumbnailers
- Создайте файл с именем
jp2.thumbnailer
в этой папке.
nano ~/.local/share/thumbnailers/jp2.thumbnailer
- Скопируйте эти строки в файл (используйте Ctrl+С копировать, Ctrl+Сдвиг+В вставить в
нано
окно):
[Эскиз записи]
Exec=/usr/local/bin/jp2-thumbnailer-bin %i %s %o
MimeType=image/jp2;image/x-jp2-codestream;
- Нажимать Ctrl+О и Войти сохранить файл и Ctrl+Икс выходить
нано
.
Примечания:
Включить миниатюры для изображений JP2
Диспетчер файлов может отключить создание эскизов для изображений JP2. Чтобы проверить, так ли это, введите одну из следующих команд для Nautilus, Nemo и Caja соответственно:
gsettings отключить org.gnome.desktop.thumbnailers
gsettings отключить org.cinnamon.desktop.thumbnailers
gsettings отключить org.mate.thumbnailers
Если результат []
или же ['']
, то файловый менеджер не отключает миниатюры ни для каких типов файлов (и можно сразу переходить к шагу 6). Однако, если результат ['изображение/jp2']
, то миниатюры для изображений JP2 отключены. Чтобы снова включить его, введите одну из следующих команд (для Nautilus, Nemo и Caja соответственно):
gsettings установить org.gnome.desktop.thumbnailers отключить "[]"
gsettings установить org.cinnamon.desktop.thumbnailers отключить "[]"
gsettings установить org.mate.thumbnailers отключить "[]"
В качестве альтернативы вы можете использовать Редактор dconf:
Очистите старые кешированные миниатюры и перезапустите файловый менеджер.
Способ 2: Использование конвертировать
конвертировать
можно использовать для создания эскизов изображений JP2 и J2K в Ubuntu 14.04 или Ubuntu 20.10 и более поздних версиях.
Установить имиджмагик
который обеспечивает конвертировать
инструмент
sudo apt установить imagemagick
Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)
Создать запись эскиза для образов JP2 и J2K (см. Используйте opj_decompress, шаг 4 для подробностей)
Содержание ~/.local/share/thumbnailers/jp2.thumbnailer
с конвертировать
как программа миниатюр:
[Эскиз записи]
Exec=/usr/bin/convert %i -thumbnail %sx%s png:%o
MimeType=image/jp2;image/x-jp2-codestream;
Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)
Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)
Способ 3: Использование гм
гм
поддерживает изображения JPEG-2000 в Ubuntu 14.04 и 16.04.
Установить графикамагия
который обеспечивает гм
инструмент
sudo apt установить GraphicsMagick
Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)
Создать запись эскиза для образов JP2 и J2K (см. Используйте opj_decompress, шаг 4 для подробностей)
Содержание ~/.local/share/thumbnailers/jp2.thumbnailer
с гм
как программа миниатюр:
[Эскиз записи]
Exec=/usr/bin/gm convert %i -thumbnail %sx%s png:%o
MimeType=image/jp2;image/x-jp2-codestream;
Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)
Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)
Способ 4: использовать Тотем-видео-миниатюрист
Тотем-видео-миниатюрист
может создавать эскизы изображений JP2 и J2K в Ubuntu 18.04 и более поздних версиях.
Установить тотем
и gstreamer1.0-плагины-плохие
sudo apt установить тотем gstreamer1.0-plugins-bad
тотем
обеспечивает Тотем-видео-миниатюрист
, пока gstreamer1.0-плагины-плохие
поставляется с кодеками, необходимыми Тотем-видео-миниатюрист
для обработки изображений JP2 и J2K.
Примечание: тотем
является видеопроигрывателем по умолчанию на рабочих столах GNOME, поэтому он предустановлен в Ubuntu. gstreamer1.0-плагины-плохие
является нет предварительно установлен, однако, вероятно, потому, что это всего лишь предложенный пакет для тотем
.
Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)
Создать запись эскиза для образов JP2 и J2K (см. Используйте opj_decompress, шаг 4 для подробностей)
Содержание ~/.local/share/thumbnailers/jp2.thumbnailer
с Тотем-видео-миниатюрист
как программа миниатюр:
[Эскиз записи]
Exec=/usr/bin/totem-video-thumbnailer -s %s %u %o
MimeType=image/jp2;image/x-jp2-codestream;
Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)
Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)
Способ 5: Использование ffmpeg
ffmpeg
поддерживает образы JP2 и J2K в Ubuntu 16.04 и более поздних версиях.
Установить ffmpeg
sudo apt установить ffmpeg
Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)
Создать запись эскиза для образов JP2 и J2K (см. Используйте opj_decompress, шаг 4 для подробностей)
Содержание ~/.local/share/thumbnailers/jp2.thumbnailer
с ffmpeg
как программа миниатюр:
[Эскиз записи]
Exec=/usr/bin/ffmpeg -y -i %i -filter scale=%s:%s:force_original_aspect_ratio=1 -f apng %o
MimeType=image/jp2;image/x-jp2-codestream;
Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)
Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)
Резюме
Протестировано на |
Убунту 14.04 |
Убунту 16.04 |
Убунту 18.04, 20.04; Linux Mint 20 корица; Убунту МАТЭ 20.04 |
Убунту 20.10, 21.04 |
opj_decompress |
Н/Д |
ï¸ |
ï¸ |
ï¸ |
конвертировать |
ï¸ |
ï¸ |
ï¸ |
ï¸ |
гм |
ï¸ |
ï¸ |
ï¸ |
ï¸ |
Тотем-видео-миниатюрист |
ï¸ |
ï¸ |
ï¸ |
ï¸ |
ffmpeg |
Н/Д |
ï¸ |
ï¸ |
ï¸ |
Примечание: С использованием opj_decompress
или же Тотем-видео-миниатюрист
рекомендуется, так как они обеспечивают значительно более высокую скорость декомпрессии и создают миниатюры меньшего размера.