Vielen Dank für das Lesen meiner Frage.Bild (np.array) in Binärbild umwandeln
Ich bin neu bei Python und wurde von Scipy interessiert. Ich versuche herauszufinden, wie ich das Bild des Racoon (in Scipy Misc) zu einem binären (schwarz, weiß) machen kann. Dies wird nicht in der Scipy-Vorlesung erklärt.
Dies ist so weit mein Code:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
from scipy import misc #here is how you get the racoon image
face = misc.face()
image = misc.face(gray=True)
plt.imshow(image, cmap=plt.cm.gray)
print image.shape
def binary_racoon(image, lowerthreshold, upperthreshold):
img = image.copy()
shape = np.shape(img)
for i in range(shape[1]):
for j in range(shape[0]):
if img[i,j] < lowerthreshold and img[i,j] > upperthreshold:
#then assign black to the pixel
else:
#then assign white to the pixel
return img
convertedpicture = binary_racoon(image, 80, 100)
plt.imshow(convertedpicture, cmap=plt.cm.gist_gray)
ich andere Leute OpenCV gesehen haben mit einem Bild binär zu machen, aber ich frage mich, wie ich es auf diese Weise tun können, über die Pixel durch Looping? Ich habe keine Ahnung, welchen Wert ich der oberen und unteren Schwelle geben soll, also habe ich eine Schätzung von 80 und 100 gemacht. Gibt es auch eine Möglichkeit, dies zu bestimmen?
Warum würden Sie erwarten 'lowerthreshold> img [i, j] und img [i, j]> upperthreshold' jemals sein' true'? Das würde bedeuten, dass "80> 100"! – Eric