示例#1
0
def do_filter(arr, filt):
	if filt == None:
		return arr
	elif filt == 'raw,sobel':
		i = ip.unflatten_rgb_image(arr, d, d)
		i = ip.sobel_scipy(i)
		i = ip.gray_as_rgb(i)
		return ip.flatten_rgb_image(i)
	raise Exception('unknown filter')
示例#2
0
def do_filter(arr, filt):
    if filt == None:
        return arr
    elif filt == 'raw,sobel':
        i = ip.unflatten_rgb_image(arr, d, d)
        i = ip.sobel_scipy(i)
        i = ip.gray_as_rgb(i)
        return ip.flatten_rgb_image(i)
    raise Exception('unknown filter')
示例#3
0
	if filt == None:
		return arr
	elif filt == 'raw,sobel':
		i = ip.unflatten_rgb_image(arr, d, d)
		i = ip.sobel_scipy(i)
		i = ip.gray_as_rgb(i)
		return ip.flatten_rgb_image(i)
	raise Exception('unknown filter')

if args.filter == None:
	qi = np.int32(qi)
elif args.filter == 'raw,sobel':
	qi = np.int32(do_filter(qi, args.filter))
else:
	print >> sys.stderr, "unknown filter"
	sys.exit(1)

if args.filterout != None:
	ip.write_rgb_image(args.filterout, ip.unflatten_rgb_image(np.uint8(qi), d, d))

# -----------------------------

def compute_distance(datachunks):
	return [np.linalg.norm(qi - do_filter(np.fromstring(c, np.uint8), args.filter)) for c in datachunks]

c = 0
for result in process(db.groups(400), compute_distance):
	for k in result:
		print k, c
		c += 1
示例#4
0
        i = ip.gray_as_rgb(i)
        return ip.flatten_rgb_image(i)
    raise Exception('unknown filter')


if args.filter == None:
    qi = np.int32(qi)
elif args.filter == 'raw,sobel':
    qi = np.int32(do_filter(qi, args.filter))
else:
    print >> sys.stderr, "unknown filter"
    sys.exit(1)

if args.filterout != None:
    ip.write_rgb_image(args.filterout,
                       ip.unflatten_rgb_image(np.uint8(qi), d, d))

# -----------------------------


def compute_distance(datachunks):
    return [
        np.linalg.norm(qi - do_filter(np.fromstring(c, np.uint8), args.filter))
        for c in datachunks
    ]


c = 0
for result in process(db.groups(400), compute_distance):
    for k in result:
        print k, c