Мои наименьшие худшие идеи приходят в POO-Time. Вот один у меня был:
Представьте себе стрельбы от вашего ноутбука, а фон изменяется в вашем платье! И это на самом деле оказалось выполненным в Ubuntu (18.04), но это, надеюсь, будет работать нормально в любом дистрибутиве Linux.
И мальчик, это улыбается на моем лице
Идея простая: сделать веб-камеру нажать на картинку, урожай туда, где рубашка обычно находится (на рисунке), найдите доминирующий цвет в нем и установите его на задний план.
Шаг 1 : Сделайте веб-камеру нажать на картинку Я использую MPlayer для этого, и я нашел VLC и FFMPEG, чтобы работать нормально. Вот один вкладыш для MPlayer, который щелкает три изображения: Mplayer TV://-TV -Frames 3 -VO JPEG: Outdir =/Home/Waze/VEZ
Это ставит три изображения по имени 00000001.jpg, 00000002.jpg, 00000003.jpg в указанном превышать каталог. Милая! (Замените /Home/Vaze/Vez
с именем вашего каталога)
-Срамы устанавливаются на 3, потому что он дает камеру достаточно времени, чтобы начать и не испортить освещение. Эксперимент с шириной и высотой; Я установил его на сто, но я думаю, что последний образ все еще имел размер 176×144, так что это, вероятно, ограничение или что-то
Шаг 2 : Урожай туда, где рубашка Я сделал это в Python, используя библиотеку под названием подушку. Вот …| Руководство по установке Это делает обработку изображений супер легко. Давайте оставим этот шаг здесь сейчас, мы вернемся к нему через минуту
Шаг 3 : Найти доминирующий цвет на изображении
Это интересный бит! Есть так много способов подходить к этому, в зависимости от того, какой результат вы хотите. Я изменил резервное изображение (которое состояло только цвет рубашки) только к один Пиксель (опять же, используя подушку), и этот метод приблизился к настоящему цвету реально. Больше идей от Это Хороший ответ стойки.
Шаг 4 : Настройка изображения на фон
Эта команда принимает имя файла (три «///» важно) в качестве ввода и устанавливает его на фон. Я использую Gnome, так что это имя моего настольного фона. Если вы используете, скажем, Mint, замените «Gnome» с «корицей» и так далее.
Gsettings set org.gnome.desktop.background Picture-URI файл:///home/vaze/vez/veback.jpg
Cool, у нас есть кусочки готовы. Давайте поставим их вместе в сценарий:
#!/usr/bin/python3 from PIL import Image; import subprocess as s com = 'mplayer tv:// -tv driver=v4l2:device=/dev/video0:width=100:height=100 -frames 3 -vo jpeg:outdir=/home/vaze/vez' comb = 'gsettings set org.gnome.desktop.background picture-uri file:///home/vaze/vez/back.jpg' path = '/home/vaze/vez/00000001.jpg' save = '/home/vaze/vez/back.jpg' s.call(com, shell=True) im = Image.open(path) w, h = im.size im = im.crop((50, h - 10, w-50, h)).resize((1, 1), resample=0) im.save(save) s.call(comb, shell=True)
Давайте перейдем через эту строку по строке: #!/usr/bin/python3
Это важно, так как мы скоро собираемся сделать этот файл исполняемый . Ядро нужно знать, на каком языке выполнить скрипт (Python3 в этом случае, она – это какой-то «эй, выглядит! Язык читать это: ‘)
Импорт подпроцесс как S
Модуль подпроцесса можно использовать для вызова команд терминалов прямо с Python, используя SubProcess.Call («Команда идет здесь»)
Отказ
S.call (COM,)
Сначала мы называем команду «COM» (я назначил его в Mplayer-Fire-The-веб-камеру) Также команды не работали без оболочка = Правда
немного И я не совсем уверен, почему еще.
im.open (путь)
На этой следующей строке я импортирую изображение, которое было просто щелчнее (я могу сделать это, потому что знаю, какое имя его будет спасено. Аккуратно!)
W, .size.
Устанавливает ширину образа к переменной w и высоту h
IM.CROP ((50, H – 10, W-50, H)). Размеры ((1, 1),)
Мы обрезаем это с кортежом (50, H-10, W-50, H)
Который соответствует верхнему левому углу и нижнему правому углу того, что вы обрезаете в пикселях. Это, казалось, работало в месте, которое я сижу, потому что моя рубашка в целом в этом регионе, но если вы фанат шапки и хотите, чтобы фона была ваша шляпа, урожай к верхней части:)
Далее мы цепим его с помощью метода изменения изменения размера и сделайте его одним пикселем, используя ближайший соседний фильтр, устанавливает его к этому (то есть потому, что он принимает целую кучу фильтры , не стесняйтесь экспериментировать!)).
im.save (Сохранить)
Сохраните это изображение туда, куда вы хотите, я сохранил его в том же каталоге, что и этот скрипт
S.call (расческа)
Наконец, мы называем код background-setter! (см. Переменную «гребень» устанавливается на то же место, что и «Сохранить»)
Теперь все, что осталось сделать, это сделать этот исполняемый файл. Сначала сохраните его как файл (скажем, Script.py) и перейдите в терминал и введите:
cd directory_where_the_script_is_saved chmod +x script.py
Теперь в любое время вы хотите использовать этот скрипт, перейдите в терминал и введите:
./directoryName/script.py
Я сделал удобное псевдоним для этого (как видно в видео) под названием Цвет, и вы можете сделать это, собираясь в .bash_aliases
Файл и добавление этой строки: (обратите внимание на точку)
nano .bash_aliases (text editor opens up, go to the last line and type: ) alias color='./directoryName/script.py'
Вы можете сделать этот сценарий автоматически на ботинке очень легко в Ubuntu:
Перейдите к приложениям запуска (просто введите его в ящик приложений) и поставьте нашу ./directoryname/script.py
В разделе для добавления команд. (Я не уверен, что, но вставляя псевдоним не работал) вот так:
Там у нас есть! При загрузке ваша веб-камера должна с небольшой вспышкой и одеваться, как ты:)
Оригинал: “https://dev.to/vez/shirt-color-desktop-background-in-10-lines-of-code-b22”