Скрипт ищет похожие на заданную картинки в указанных каталогах и их подкаталогах. Размер изображений может отличаться от эталона.
Зависимости -- python, python-imaging (PIL), если пакет python-imaging не установлен, будет использован convert из ImageMagick (в этом случае поиск будет не только среди растровых, но и векторных изображений, однако работать скрипт будет существенно медленнее).
Синтаксис:
find-img -p pattern [-t threshold] directories где pattern -- файл эталонного изображения threshold -- порог коэффициента корреляции directories -- список каталогов
| Прикрепленный файл | Размер |
|---|---|
| find-img.zip | 1.28 кб |
Кому нужен скрипт поиска картинок? #1
Что-то *.gz не хочет вкладываться
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #2
Этот форум был настроен на атачи "txt .gif .rpm .zip .tar .tar.gz .cpio" (показывается внизу, при подключении файла).
Добавлен .gz
© Бюрократия - мать порядка
= ASPLinux 12/KDE =
Re: Кому нужен скрипт поиска картинок? #3
Обновление скрипта
Добавил возможность явно указывать использование PIL или ImageMagick, опции
--pil
--magick
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #4
Мелкие переделки привели к смене семантики так, что теперь сменилось название на cmp-img. Вместо того, чтобы скрипт сам сканировал каталоги -- решил поручить это внешним программам, типа find с более широкими возможностями. Получилось что-то подобное фильтру.
Примеры использования.
Поиск картинок в каталоге /usr/share и его подкаталогах, эталон в текущем каталоге:
find /usr/share | cmp-img -p etalon.png -Поиск картинок в каталоге /usr/share и его подкаталогах jpg-файлов с "кривыми" именами,
эталон в текущем каталоге:
find /usr/share -name '*.jpg' -print0| cmp-img -0p etalon.png -Поиск картинок в каталоге /usr/share/wallpapers png и jpg файлов,
эталон в текущем каталоге:
cmp-img -p etalon.png /usr/share/wallpapers/*.{png,jpg}Поиск картинок в каталоге /usr/share и его подкаталогах, с использованием ImageMagick,
эталон в текущем каталоге:
find /usr/share -type f | cmp-img -u imagick -p etalon.png -Итак, скачиваем скрипт, под root разжимаем и делаем его выполняемым:
В системе должен быть установлен интерпретатор python и его библиотека PIL (Python Image Library), которая в RH-подобных дистрах находится в пакете python-imaging.
Вместо PIL скрипт может использовать convert из ImageMagick или gm (GraphicsMagick)
Скрипт отлаживался на Python 2.5 (в ASPLinux python 2.4), так что если что-то пойдет не так -- пишите
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #5
Великолепный скрипт! спасибо!
http://hosting.asplinux.info - Онлайн FAQ по хостингу
Re: Кому нужен скрипт поиска картинок? #6
Внес некоторые правки с учетом изменений иерархии классов исключений при переходе с python 2.4 на 2.5, что вызывало не совсем корректный выход при вызове sys.exit в python 2.4, а также изменил вывод чисел с учетом локали. Планирую в будущем приделать морду для чайников (и чего они так боятся CLI?)
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #7
Добавил вывод строк, разделенных "\0" (опция -z, --print0).
Кстати, команда для поиска негатива:
find /dir -type f | cmp-img -rp positive.png - | awk '$1 < 0'Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #8
Выкладываю морду к cmp-img.
Закачиватете тарбол, распаковываете его командой
tar xzf findimg.tar.gzзаходите в каталог findimg
cd findimgи выполняете (с правами root'а)
makeпрограмма установиться в /usr/local, либо:
make DEST=$HOMEесли есть желание поставить ее в домашний каталог (для этого права root'а не нужны)
Морда запускается командой findimg
Поехали!
JID: konst.su [обезьяна] gmail.com
Кому нужен скрипт поиска картинок? #9
Интересно, из тех кто пользуется скриптом кто-то сидит в ASPLinux? ;)
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #10
Исправил "особенность", из-за которой не запускался cmp-img из findimg-а в ASPLinux 11.2.
Выкладываю тарболы и rpm
rpm-ки устанавливать командой из root-а
rpm -ivh cmp-img-1.0.4-1.rpm findimg-0.2-1.rpmили покороче, если в каталоге больше нет других rpm-пакетов
rpm -ivh *.rpmPS
Удачи!
Поехали!
JID: konst.su [обезьяна] gmail.com
Re: Кому нужен скрипт поиска картинок? #11
Обновляем интырфэйс
Поехали!
JID: konst.su [обезьяна] gmail.com