Рубрики
Без рубрики

Фон рубашки в 10 линиях кода

Мои наименьшие худшие идеи приходят в POO-Time. Вот тот, который у меня был: представьте, что вы стреляете на свой ноутбук, а задняя часть … Помечено Linux, Python.

Мои наименьшие худшие идеи приходят в 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”