Рейтинг:0

Как просмотреть изображения JP2 и J2K на Nautilus и Nemo?

флаг dk

У меня есть номер JPEG-2000 .jp2 и .j2k изображения, которые я хочу просмотреть на Nautilus или Nemo. Как я могу указать файловым менеджерам создавать миниатюры для этих файлов?

Рейтинг:0
флаг dk

Некоторые методы предварительного просмотра изображений JPEG-2000, которые работают на Nautilus, Nemo и Caja.

Способ 1: Использование opj_decompress


  1. Установить libopenjp2-инструменты

    sudo apt установить libopenjp2-tools
    

    Этот пакет поставляется с инструментами и кодеками, необходимыми для преобразования изображений JP2 и J2K в эскизы PNG, а именно opj_decompress, opj_dump, и libopenjp2-7.

    Примечания:

    • libopenjp2-инструменты недоступен в Ubuntu 14.10 и более ранних версиях.
    • Если вы используете Ubuntu 18.04 или более позднюю версию, возможно, вам придется установить libgdk-pixbuf2.0-бен (который обычно предустановлен):
      sudo apt установить libgdk-pixbuf2.0-bin
      
      Этот пакет предоставляет gdk-pixbuf-thumbnailer который будет использоваться для изменения размера файлов PNG, сгенерированных opj_decompress до более подходящего размера для эскизов.
  2. Получить 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
    
  3. Создать сценарий эскиза для образов 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
    
  4. Создать запись эскиза для образов 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+Икс выходить нано.

    Примечания:

    • Поместите найденные ранее mime-типы в третью строку, указанную выше ( MimeType ключ); разделяйте каждый MIME-тип точкой с запятой (;) и при желании закончить строку точкой с запятой.
    • Если вы хотите, чтобы миниатюры для изображений JP2 и J2K были доступны всем пользователям, поместите эту запись миниатюры в /usr/доля/thumbnailers вместо ~/.local/share/thumbnailers:
      sudo nano /usr/share/thumbnailers/jp2.thumbnailer
      
    • Текстовый редактор с графическим интерфейсом, например гэдит или же фиксированный также может использоваться для создания и редактирования записи эскиза. Однако, если вы планируете разместить его в /usr/доля/thumbnailers, с использованием нано является настоятельно рекомендуется.
  5. Включить миниатюры для изображений 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:

    • Сначала установите dconf-редактор:
      sudo apt установить редактор dconf
      
    • Открытым Редактор dconf, затем перейдите в одно из этих мест (для Nautilus, Nemo и Caja соответственно):
      • организациягномрабочий столминиатюрщикизапрещать.
      • организациякорицарабочий столминиатюрщикизапрещать.
      • организацияприятельрабочий столминиатюрщикизапрещать.
    • Выключить Использовать значение по умолчанию.
    • Измените значение в Пользовательское значение коробка из ['изображение/jp2'] либо [] или же [''].
    • Нажмите Применять в правом нижнем углу и закрыть Редактор dconf.
  6. Очистите старые кешированные миниатюры и перезапустите файловый менеджер.

    • Сначала полностью закройте файловый менеджер с помощью одной из этих команд:
      наутилус -q
      немо -q
      каха -q
      
    • Затем удалите кэшированные неудачные миниатюры:
      rm -r ~/.cache/thumbnails/сбой
      
    • При желании удалите все кешированные миниатюры (если вы ранее использовали неоптимизированные записи миниатюр или сценарии, которые создавали большие миниатюры):
      rm -r ~/.кэш/миниатюры/*
      
    • Наконец, снова откройте файловый менеджер. Изображения JP2 и J2K теперь должны иметь миниатюры.

Способ 2: Использование конвертировать


конвертировать можно использовать для создания эскизов изображений JP2 и J2K в Ubuntu 14.04 или Ubuntu 20.10 и более поздних версиях.

  1. Установить имиджмагик который обеспечивает конвертировать инструмент

    sudo apt установить imagemagick
    
  2. Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)

  3. Создать запись эскиза для образов 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;
    
  4. Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)

  5. Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)

Способ 3: Использование гм


гм поддерживает изображения JPEG-2000 в Ubuntu 14.04 и 16.04.

  1. Установить графикамагия который обеспечивает гм инструмент

    sudo apt установить GraphicsMagick
    
  2. Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)

  3. Создать запись эскиза для образов 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;
    
  4. Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)

  5. Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)

Способ 4: использовать Тотем-видео-миниатюрист


Тотем-видео-миниатюрист может создавать эскизы изображений JP2 и J2K в Ubuntu 18.04 и более поздних версиях.

  1. Установить тотем и gstreamer1.0-плагины-плохие

    sudo apt установить тотем gstreamer1.0-plugins-bad
    

    тотем обеспечивает Тотем-видео-миниатюрист, пока gstreamer1.0-плагины-плохие поставляется с кодеками, необходимыми Тотем-видео-миниатюрист для обработки изображений JP2 и J2K.

    Примечание: тотем является видеопроигрывателем по умолчанию на рабочих столах GNOME, поэтому он предустановлен в Ubuntu. gstreamer1.0-плагины-плохие является нет предварительно установлен, однако, вероятно, потому, что это всего лишь предложенный пакет для тотем.

  2. Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)

  3. Создать запись эскиза для образов 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;
    
  4. Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)

  5. Очистите старые кешированные эскизы и перезапустите файловый менеджер (см. Используйте opj_decompress, шаг 6)

Способ 5: Использование ffmpeg


ffmpeg поддерживает образы JP2 и J2K в Ubuntu 16.04 и более поздних версиях.

  1. Установить ffmpeg

    sudo apt установить ffmpeg
    
  2. Получить mime-типы изображений JP2 и J2K (см. Используйте opj_decompress, шаг 2)

  3. Создать запись эскиза для образов 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;
    
  4. Включить миниатюры для изображений JP2 (см. Используйте opj_decompress, шаг 5)

  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 или же Тотем-видео-миниатюрист рекомендуется, так как они обеспечивают значительно более высокую скорость декомпрессии и создают миниатюры меньшего размера.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.