Я взял одну из своих фотографий и применил 30 различных рисунков художников через Neural Art (deepart.io). На этом этапе было создано 30 разных фотографий. Я нарезал каждую фотографию на 30 штук по горизонтали. Теперь я хочу выбрать каждый срез на основе увеличения яркости/яркости. Как я могу сделать это python или imagemagick?Сортировка файлов изображений на основе яркости/яркости
3
A
ответ
0
Код может работать. Он преобразует каждый PNG-образ в RGB, затем в режим цветной LAB. Затем он вычисляет среднюю легкость изображения.
from PIL import Image, ImageCms
import glob
for fn in glob.glob("*.png"):
im = Image.open(fn).convert("RGB")
psRGB = ImageCms.createProfile("sRGB")
pLab = ImageCms.createProfile("LAB")
t = ImageCms.buildTransform(psRGB, pLab, "RGB", "LAB")
imi = ImageCms.applyTransform(im, t)
total_lightness = 0
w, h = im.size
for y in xrange(h):
for x in xrange(w):
l, a, b = imi.getpixel((x, y))
total_lightness += l
avg_lightness = total_lightness/(w * h)
print "Average lightness of %s is %d" % (fn, avg_lightness)
1
Используя ImageMagick, я могу создать 1024х1024 черно-белый градиент и нарезать его на 30 горизонтальных слоев, как это:
convert -size 1024x1024 gradient:black-white -crop [email protected] slice-%02d.png
Теперь я могу преобразовать каждый ломтик HSL и отделять каналы, отбрасывать оттенок и насыщенность, оставляя только Lightness и получая среднее значение Lightness в каждом терминале в подсказке терминала следующим образом:
for f in slice*; do
convert $f -colorspace hsl -separate -delete 0,1 -resize 1x1 -format "%[mean] %f\n" info:
done | sort -n
1057 slice-00.png
3235 slice-01.png
5413 slice-02.png
7623 slice-03.png
9833 slice-04.png
12012 slice-05.png
14190 slice-06.png
16368 slice-07.png
18546 slice-08.png
20724 slice-09.png
22902 slice-10.png
25112 slice-11.png
27322 slice-12.png
29500 slice-13.png
31678 slice-14.png
33857 slice-15.png
36035 slice-16.png
38213 slice-17.png
40423 slice-18.png
42633 slice-19.png
44811 slice-20.png
46989 slice-21.png
49167 slice-22.png
51345 slice-23.png
53523 slice-24.png
55702 slice-25.png
57912 slice-26.png
60122 slice-27.png
62300 slice-28.png
64478 slice-29.png
Значения масштабируются в диапазоне [0-65535], потому что я использую 16-разрядную версию ImageMagick, то есть Q16, когда я запускаю identify -version
.
Смежные вопросы
- 1. Сортировка файлов на основе числа в них
- 2. Сортировка имен файлов на основе зависимостей
- 3. Сортировка лог-файлов на основе их содержимого
- 4. Сортировка файлов на основе содержимого в Баш
- 5. Сортировка входных файлов на основе количества наблюдений
- 6. Python: Сортировка двух файлов на основе порядка
- 7. Python - Сортировка файлов на основе timestamp
- 8. Сортировка 271 568 файлов в Bash на основе имен файлов
- 9. Сортировка файлов на основе похожих имен файлов и папок
- 10. Сортировка результатов AWK на несколько файлов на основе значения диапазонов
- 11. сортировка файлов на bash
- 12. Сортировка Datatable/Dataview/Gridview файлов на основе измененного файла Дата
- 13. Сортировка файлов на основе содержимого с использованием командной строки
- 14. Создание подкаталогов и сортировка файлов на основе имени файла PYTHON
- 15. Сортировка файлов на основе метки времени в файле
- 16. Bash - сортировка имен файлов на основе нескольких полей
- 17. Сортировка файлов в каталогах на основе их имени
- 18. Python- сортировка файлов CSV на основе два колонка
- 19. Сортировка файла на основе информации из разных файлов
- 20. Сегментация на основе изображений
- 21. питона сортировка файлы на основе даты создания
- 22. Сортировка массива File [] на основе file.lastModified
- 23. Сортировка списка на основе другого?
- 24. Сортировка питон на основе значения
- 25. Сортировка массивов на основе строки?
- 26. Список на основе геолокации Сортировка
- 27. Сортировка делегата на основе состояния
- 28. Сортировка массива на основе вхождения
- 29. Сортировка на основе строки java
- 30. Сортировка элементов на основе состояния
Пожалуйста, введите код, чтобы показать, что вы пробовали. –
У меня есть код для разбиения изображения на n горизонтальных фигур, а также код для объединения путем случайного выбора фрагмента изображения из позиции i. Но выход неравномерен. Я не пробовал что-либо по отношению к яркости, потому что я новичок в обработке изображений. – hashg