LINUX.ORG.RU
ФорумTalks

сравнение изображений.


0

0

Дано: куча обоин на досктоп лежащих малоорганизованной кучей.

Надо бы: организовать, удалить дубликаты, причем известно что имеются практически одинаковые изображения, но в разном разрешении/с ватермарком сайта и т.п., т.е. тупо побайтовое сравнение/по хешу не покатит.

Найти: Софтину для выполнения сей задачи.

Дополнительные условия: под линух.

Пы.Сы. Ищу не для себя.

★★★★★

Удалить всё, скачать десяток новых нормальных обоин и не парить мозг мусором.

Igron ★★★★★
()

>удалить дубликаты, причем известно что имеются практически одинаковые изображения, но в разном разрешении/с ватермарком сайта

imagemagick умел

bakagaijin
()
Ответ на: комментарий от sin_a

>Бубунта.

Enjoy your AIDS!

% yaourt -Ss geeqie aur/geeqie 1.0alpha2-1 Fork of GQview, an lightweight image browser aur/geeqie-svn 771-1 [1159-1 installed] Fork of GQview, an lightweight image browser

AUR арча.

anonymous
()
Ответ на: комментарий от sin_a

>Бубунта.

Enjoy your AIDS!

% yaourt -Ss geeqie
aur/geeqie 1.0alpha2-1
Fork of GQview, an lightweight image browser
aur/geeqie-svn 771-1 [1159-1 installed]
Fork of GQview, an lightweight image browser

AUR арча.

anonymous
()
Ответ на: комментарий от sin_a

ну вот и дожили до момента, когда линуксоеды и шагу без пакетного менеджера ступить не могут - весьма показательно!

anonymous
()
Ответ на: комментарий от sin_a

> 18:56 sinaps@boat ~ $ apt-cache search geeqie
> 21:10 sinaps@boat ~ $


А ручками, не? Поотсыхали? А выложить потом пакет на благо общины?

[typicalubuntuuser.jpg]

anonymous
()
Ответ на: комментарий от wfrr

спасибо, интересненько... сейчас посмотрим. то что доктор прописал.

AiFiLTr0 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

> Это оно два с половиной часа искало? Или это не время слева?

Это время, но оно обновляется при событии :) . То есть, запущен шелл - отобразилось, выполнилась команда - заново отобразилось :) .

sin_a ★★★★★
()
Ответ на: комментарий от anonymous

> ну вот и дожили до момента, когда линуксоеды и шагу без пакетного менеджера ступить не могут - весьма показательно!

Если-бы мне было интересно компилировать самому, я-бы поставил slackware.

Линукс - мой выбор на за то, что в нем можно скомпилировать самому, а за то, что он лучше. В том числе и пакетным менеджером. Тем более, компилировать для удовлетворения праздного любопытства (gqview я давно знаю, а про это... не выговоришь, в первый раз слышу).

Кстати, если спеки для rpm я даже как-то разбирал уже, то беглый взгляд на сборку deb вызвал у меня содрогание.

sin_a ★★★★★
()
Ответ на: комментарий от sin_a

>Кстати, если спеки для rpm я даже как-то разбирал уже, то беглый взгляд на сборку deb вызвал у меня содрогание.

Ну уж не знаю, какое такое содрогание может вызвать написание одного control-файла (который пишется куда проще, чем spec) и выполнение пары команд.

MYMUR ★★★★
()
Ответ на: комментарий от sin_a

max@nix:~/ > apt-cache show geeqie
Package: geeqie
Priority: optional
Section: graphics
Installed-Size: 1200
Maintainer: Michal Čihař <nijel@debian.org>
Architecture: i386
Version: 1.0~alpha1-7
Depends: libatk1.0-0 (>= 1.20.0), libc6 (>= 2.7-1), libcairo2 (>= 1.2.4), libexiv2-4, libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.12.0), liblcms1 (>= 1.15-1), libpango1.0-0 (>= 1.20.3), libstdc++6 (>= 4.2.1), geeqie-common (= 1.0~alpha1-7)
Recommends: libjpeg-progs
Suggests: gimp, xpaint, geeqie-dbg
Filename: pool/main/g/geeqie/geeqie_1.0~alpha1-7_i386.deb
Size: 504734
MD5sum: f55317400a1199cc43c6f754102e2778
SHA1: a17a1aedabc8c1e2900279b5d885cf3dd28960c2
SHA256: 03f45e556f4c4c663c30524be97ccb37f18e429f87d73e2d393823fbc72468ea
Description: image viewer using GTK+
 Geeqie is a browser for graphics files offering single click viewing of
 your graphics files. It includes thumbnail view, zoom, filtering
 features and external editor support.
 .
 It is a successor of GQview, which is not actively developed for a long
 time, but Geeqie is currently considered alpha quality so you might
 want to stick with GQview for now.
Homepage: http://geeqie.sourceforge.net/
Tag: uitoolkit::gtk

Debian lenny

Begemoth ★★★★★
()

>удалить дубликаты

кое-что можно удалить с fdupes

record ★★★★★
()

> Софтину для выполнения сей задачи.

$ cat img-cmp
#!/bin/sh

threshold=`awk 'BEGIN{print 75/100}'`
N=50

usage () {
	[ $1 -eq 0 ] && fd=1 || fd=2
	{
	printf 'Usage: %s [OPTIONS] pattern_file [file(s)]\n' `basename "$0"`
	printf 'OPTIONS:\n'
	printf '\t-t|--threshold\tthreshold of correlation rate\n'
	printf '\t-h|--help\tprint this help and exit\n'
	} >&$fd
	exit $1
}

case "$1" in
	-h|--help)
		usage 0
		;;
	-t|--threshold)
		threshold=$2
		shift 2
		;;
esac

[ $# -eq 0 ] && usage 1

pattern="$1"
shift

conv_err=/tmp/error.$$
img2data () {
	(convert "$1" -geometry \!${N}x${N} -compress none PGM:- || :> $conv_err) |
		sed -e 's/#.*$//' -e 's/[[:space:]]/\n/g' |
		sed -e '/^$/d' |
		tail -n +5

	if [ -f $conv_err ]; then
		rm -f $conv_err
		return 1
	fi
}

(
	img2data "$pattern" || exit 1
	if [ $# -eq 0 ]; then
		IFS=''
		while read fname; do
			img2data "$fname" && echo "$fname"
		done
	else
		for fname; do
			img2data "$fname" && echo "$fname"
		done
	fi
) | awk -v N=$(( $N * $N )) -v T=$threshold '
function abs (x) { return x < 0 ? -x : x }
{
	if (flag == 0) {
		var_a += $0 * $0
		sum_a += $0
		a[i++] = $0
		if (i == N) {
			flag=1
			i=0
			mean_a = sum_a / N
			disp_a = var_a / N - mean_a * mean_a
		}
	} else if (i < N) {
		sum_ab += $0 * a[i++]
		var_b += $0 * $0
		sum_b += $0
	} else {
		mean_b = sum_b / N
		disp_b = var_b / N - mean_b * mean_b
		if (abs(disp_b) > 1e-10) {
			mean_ab = sum_ab / N
			R = (mean_ab - mean_a*mean_b)/sqrt(disp_a*disp_b)
			if (abs(R) >= T)
				printf("%6.3f %s\n", R, $0)
		}
		var_b = sum_b = sum_ab = i = 0
	}
}'
$ find /usr/share -name '*.jpg' -o -name '*.png' | ./img-cmp pattern.png

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.