Адрес для входа в РФ: exler.world
Конвертирование всех RAW в фотоальбоме
По поводу вот этой задачи, о которой я писал. Мне нужно было сконвертировать все RAW (а их там десяток разных типов) основного фотоальбома, чтобы альбом занимал меньше места, и чтобы этим всем было удобно пользоваться. (Оригинальные RAW все равно сохранены, на всякий случай, в отдельном архиве.)
Задачу я в конце концов выполнил, все RAW фотоальбома сконвертированы, теперь фотоальбом занимает 914 ГБ и пользоваться им не в пример удобнее. Кроме того, в процессе обработки я его еще и основательно почистил от того, что хранить не имело никакого смысла.
Теперь о том, как все это проходило и что я при этом выяснил.
Первоначально я хотел просто натравить на фотоальбом какое-то приложение, которое бы прошерстило все папки, сконвертировало бы все RAW в JPG с заданными параметрами, а RAW удалило бы.
Ну и в итоге я так и не нашел, чем именно подобную задачу можно решить.
FastStone Image Viewer, программа во всех смыслах совершенно замечательная (и при этом почему-то бесплатная; впрочем, так как я ее использую, в том числе, и для коммерческих целей, то я приобрел лицензию), она позволяет перегнать все в JPG с заданными параметрами и работает со всеми типами RAW.
Однако там есть очевидные минусы. Она не умеет удалять оригинальные RAW после конвертирования, что, в общем-то, совершенно не страшно, но вот что более неприятно, так это то, что она также конвертирует и попавшиеся в папках JPG, а любая лишняя конвертация очевидно влияет на качество.
Ну и что совсем неприятно, так это то, что данная программа никак не справляется с конвертированием большого количества RAW: если ей дать даже просто две-три папки с немаленьким количеством RAW (две-три сотни в папке), то уже где-то на второй папке при обработке она начинает писать, что при конвертировании произошел сбой, ну и дальше уже бесполезно - все время выдает ошибки при конвертировании.
В результате - не подошло прям совсем.
Подобные вещи также умеет делать программа XNView или же специализированная версия XNView Convert.
Ей можно указать папку, включающую подпапки, указать выходной формат JPG, который вроде как настраивается, она может конвертировать в исходные папки и удалять RAW при конвертации.
Но там сделано совсем странно (хорошо что я такие вещи проверяю): выходной JPG имеет максимальный размер по горизонтали - 1616 пикселов. И это никак нельзя поменять! Вот настройки JPG: как я с ними не извращался, больше 1616 по горизонтали она не выдавала. А это сразу в топку!
ACDSee Photostudio умеет конвертировать RAW и делает это достаточно качественно, но она умеет работать только с одной-единственной папкой и конвертирует медленно и печально.
Ну и также я нашел программу "Фотоконвертер" (российская разработка), которая умеет работать со структурой папок, может помещать сконвертированные файлы в исходные папки, она работает достаточно быстро, не сбоит на большом количестве обрабатываемых файлов и папок, и вроде бы она подошла бы для моей задачи лучше всего (хотя и не идеально), но у нее выяснилась одна крайне неприятная особенность: почему-то все портретные снимки при конвертации она поворачивает на 90 градусов. И как это побороть - я так и не нашел. А выяснил я это только тогда, когда программу уже купил (она в демоверсии мало того что лепит свой здоровенный штамп, так еще и позволяет обрабатывать только 5 файлов, на чем я и налетел).
В общем, в итоге я просто в ACDSee выделял все RAW в папке и конвертировал через эту программу. Оно было не слишком быстро, но зато я хорошо почистил альбом от всякого барахла и дублей, ну и задачу в конце концов выполнил.
Такое вроде RAWtherapee должна уметь.
Немножко не мой язык, но в CMD shell вроде тоже есть команды итерации по содержимому папок, не так ли? На Линукс я бы такое скриптом сделал.
Для скорости- nvConvert может... Он ещё в JPG2000 умеет
Я дома поставил себе Luminary (платно, но если поискать, полно бесплатных промо-акций...).
ИИ - редактор картинок. Ей можно сразу папками скормить; понимает все форматы.
Во-вторых, если бы это была «одна единственная функция», которая в Linux реализована лучше, чем в Windows, я бы не работал в Linux целых лет десять уже.
P.S. Я на Win пользуюсь XnView 15+ лет (в своё время перепробовал много чего, включая IrfanView, FastStone), а на Linux XnViewMP мне не понравилась (хотя поставил в первую очередь). Pix/gThumb для меня оказались гораздо удобнее, правда в Linux мне нужен только просмотрщик, в Win я XnView ещё использую для простых редактирований изображений (crop, resize) и периодического Batch Processing.
Нет, я не менял ничего, потому что пользуюсь крайне редко и ещё не трогал после переустановки.
Я пользуюсь XnViewMP, если быть точными. Да, она не дотягивает до FastStone и прочих «виндовых». Но иногда бывает незаменима. А так да, gThumb вполне юзабельный на все случаи жизни.
Но это абсолютно не означает ни того, что о них не нужно ничего знать, ни тем более того, что мне об этом запрещено писать.
7
Для конвертирования файлов из формата raw в jpg в windows 7 необходимо установить программу для конвертирования файлов. Скачать программу для конвертирования файлов можно на сайте www.cyberlink.com После установки программы необходимо открыть ее и выбрать папки, в которых хранятся файлы, которые необходимо конвертировать. В программе необходимо выбрать формат, в который необходимо конвертировать файлы, и нажать кнопку «Конвертировать».
Download and try this app:
play.google.com
Ну это типа чисто поржать. 😄
2. Если проблема в потере настроек обработки, которые возможно в каком-то специфическом случае понадобятся, то они хранятся в каталоге лайтрума или в самих исходниках, но сконвертированных в формат dmg.
А dng нужно намеренно генерить. Или в специальных случаях (панорамы, HDR) они создаются автоматически.
Загоняешь RAW в LightRoom. Удаляешь дубликаты и делаешь базовое редактирование. Назначаешь теги - “2022”, “Barcelona”, “Christmas”, “Family”, “Show”. Помечаешь цветом или рейтингом лучшие фото, которые хочется дополнительно обработать или напечатать.
После этого поиск «семейного фотоальбома», «лучших фотографий из тура по Бургундии для показа во время суаре» или изучения как похорошела Москва при Собянине становится тривиальным, а структура папок на диске перестает волновать от слова совсем. Экспорт в JPG также делается одной кнопкой.
Если же LR не помогает с каталогизацией, делать ее на уровне файловой системы будет еще сложнее
Теперь вставлю свои пять копеек.
Нужны "Windows Subsystem for Linux", установленный через него какой-нибудь Linux и пакет imagemagick.
Если хотим в том же каталоге сохранить JPG, то однострочник:
find /path/to/raws -type f -name '*.raw' | while read F; do echo $F; 😱$(dirname "$F"); FN=$(basename -s .raw "$F"); convert "$F" "${D}/${FN}.jpg"; done
Отладить только, все опции не помню.
Кроме того, необратимое действие - удаление исходников RAW, плохо само по себе. Никогда не знаешь, вдруг какой-то файл через полгода понадобится?
Что бы автоматически тэги заполняла, файлы могла переименовывать по mp3 тэгам, и самое главное! - что бы русские idv1, 2 могла перекодировать из кракозябр в нормальные русские буквы!
там же есть выбор из какого формата конвертировать, выбрать только RAW и тогда не будет трогать JPG?
...
> Но там сделано совсем странно (хорошо что я такие вещи проверяю): выходной JPG имеет максимальный размер по горизонтали - 1616 пикселов. И это никак нельзя поменять!
По моему ты не разобрался.
Скриншот, что ты показываешь -- это настройка параметров сжатия jpg. Очевидно, что там нет разрешения, т.к. файлы бывают в разных разрешениях.
Я не знаю как в NConvert (никогда не пользовался), но в Batch Convert который встроен в XNVire есть отдельный tab -- Transformations.
И вот тут можно делать всё, что пожелаешь.
Batch Convert -- Tools | Batch Processing (Ctrl+U)
P.S. Это я быстренько качнул zipped версию XnConvert-а и посмотрел. Не люблю ничего лишнего инсталлировать.
Я почему-то понял так, что нужен был ресайз, но в нём размер типа ограничен.
P.S. Это Classic, есть ли такое в MP/XnConvert -- не знаю.
P.P.S. Понятно, что это от jpeg => jpeg не поможет.
Глянул в XnConvert -- аналогичная настройка есть в Settings | Load format settings | Camera RAW | Use: Full Size
Я ещё могу понять её в XnView/XnViewMP -- ну, чтобы быстрее показывались изображения, что особенно актульно в Browse, когда показывается пачка превьюшек. Но при конвертировании (в XnConvert и XnView/XnViewMP при Batch Processing) или при Full Screen использовать не полноразмерный исходник? Бред какой-то.
Написал автору suggestion 😄
Вот на вскидку нашёл coderwall.com и там только для одной конкретной папки, но никто не мешает обернуть ещё в один цикл.
Там для MacOS. Но скорее всего сработает и в WSL если установить нужный пакет. Возможно на просторах интернета есть и готовый скрипт в PowerShell для Windows.
Да hardcore, но зато весело.
Хотя ещё веселее использовать что-то типа ETL инструмента, но тут уже понадобится помощь зала или фрилансера какого.
Create a script on python to covert all RAW files in folder and subfolders to JPG keeping the folders structure
------------------------
import os
import rawpy
from PIL import Image
# Set the path to the folder containing the RAW files
raw_folder = "/path/to/raw/folder"
# Set the path to the folder where you want to save the JPEG files
jpg_folder = "/path/to/jpg/folder"
# Loop through all the files in the raw_folder and its subfolders
for root, dirs, files in os.walk(raw_folder):
for file in files:
# Check if the file is a RAW file (ends with .CR2, .NEF, etc.)
if file.lower().endswith((".cr2", ".nef", ".arw", ".dng")):
# Construct the input and output file paths
raw_file = os.path.join(root, file)
jpg_file = os.path.join(jpg_folder, os.path.relpath(raw_file, raw_folder)).replace(".CR2", ".jpg").replace(".NEF", ".jpg").replace(".ARW", ".jpg").replace(".DNG", ".jpg")
# Create the output folder if it doesn't exist
os.makedirs(os.path.dirname(jpg_file), exist_ok=True)
# Convert the RAW file to RGB and save as a JPEG
with rawpy.imread(raw_file) as raw:
rgb = raw.postprocess()
Image.fromarray(rgb).save(jpg_file)
# Print a message to show progress
print(f"Converted {raw_file} to {jpg_file}")
-------------------------
In the script, you'll need to set the raw_folder variable to the path of the folder containing the RAW files you want to convert, and the jpg_folder variable to the path of the folder where you want to save the JPEG files.
The script uses os.walk to loop through all the files in the raw_folder and its subfolders. For each file, it checks if the file is a RAW file by checking if it ends with ".CR2", ".NEF", ".ARW", or ".DNG". If it is a RAW file, it constructs the input and output file paths based on the raw_folder and jpg_folder variables, and creates the output folder if it doesn't exist.
Then it uses rawpy to read the RAW file and convert it to RGB format, and Pillow to save the resulting RGB image as a JPEG. Finally, it prints a message to show the progress of the conversion.