Dies ist eine alte Version des Dokuments!
Stand vom 12. Januar:
#!/usr/bin/env python # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt from scipy import misc, ndimage import cv2 bild=misc.imread('hund_mittel_kl.jpg',mode='F',) # Verschiebung in x-Richtung b=ndimage.filters.sobel(bild, axis=-1) # Verschiebung in y-Richtung b2=ndimage.filters.sobel(bild, axis=0) a=np.sqrt(b[1:,:]**2+b2[:-1,:]**2) # b und b2 werden zum Kantenbild a verrechnet plt.imshow(a,cmap=plt.get_cmap('gray'))
median2 = np.percentile(a,75) z = a.shape[0] #y z2 = range(0,z) s = a.shape[1] #x s2 = range(0,s) alle_koordinaten = [] for i in z2: for j in s2: alle_koordinaten.append((i,j)) kandidaten = [ p for p in alle_koordinaten if a[p[0],p[1]]>median2 ]
def kurvenversuch(): a_als_farbbild = cv2.cvtColor(a, cv2.COLOR_GRAY2BGR) #a ist ein s/w-bild, um farbe überhaupt anzeigen zu können, wird es in ein bgr konvertiert for i,j in kandidaten: cv2.circle(a_als_farbbild,(j,i),1,(1,0,0),-1) cv2.imshow("1:",a_als_farbbild) kurvenversuch()