Leihen dieses Beispiel aus astropy liegt:Maskenabschnitt ein Bild (np.ndarray), die zwischen zwei Kurven
import numpy as np
from matplotlib import pyplot as plt
from astropy.io import fits
from astropy.wcs import WCS
from astropy.utils.data import download_file
fits_file = 'http://data.astropy.org/tutorials/FITS-images/HorseHead.fits'
image_file = download_file(fits_file, cache=True)
hdu = fits.open(image_file)[0]
wcs = WCS(hdu.header)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.imshow(hdu.data, origin='lower', cmap='cubehelix')
plt.xlabel('X')
plt.ylabel('Y')
x_array = np.arange(0, 1000)
line_1 = 1 * x_array + 20 * np.sin(0.05*x_array)
line_2 = x_array - 100 + 20 * np.sin(0.05*x_array)
plt.plot(x_array, line_1, color='red')
plt.plot(x_array, line_2, color='red')
ax.set_xlim(0, hdu.shape[1])
ax.set_ylim(0, hdu.shape[0])
plt.show()
Ich möchte den Medianpixelwert (in Y-Richtung beispielsweise), die zwischen der liegt berechnen zwei Kurven:
ich glaube, die clevere Sache, eine Maske für die Region von Interesse zu schaffen wäre.
Gibt es eine Möglichkeit, diese Maske zu generieren, ohne die Bildpixel zu durchlaufen?
Edit 1: Verbesserung der Modified Frage Verständnis
Edit 2: Ich änderte das Beispiel, um besser die Frage Titel (Kurven statt Geraden)
Sie möchten den Medianwert, was zu berechnen, genau? Wenn Sie versuchen, das Zentrum des Gebiets zu finden, das von diesen beiden Linien begrenzt wird, finden Sie dann nicht einfach den Mittelpunkt eines Trapezes? – blacksite
Entschuldigung, ich wollte den mittleren Pixelwert zwischen diesen Zeilen in y-Richtung sagen. – Delosari
So können Sie die Mittelpunktkoordinaten des Trapezes finden und dann das Bild indexieren, um den RGB-Wert zu finden. Ich arbeite jetzt an einer Lösung .... – blacksite