Ho del codice che cerca pixel per pixel da un punto di partenza, ad una certa angolazione, finché trova un pixel (un pixel non bianco)
Devono solo cercare circa 300 pixel: attualmente sto usando la funzione polare alla funzione cartesiana 300 volte ...
def pol2cart(rotdist, cwangle):
x = rotdist * numpy.cos(cwangle)
y = rotdist * numpy.sin(cwangle)
return(x, y)
... ma è molto lento, fino a 68 millisecondi per ricerca (se va tutto il 300 senza trovare nulla) e ho un sacco di queste ricerche da fare ... che è la causa principale di la mia funzione complessiva richiede circa 20 secondi per essere eseguita (sarei felice con < 2 secondi)
La mia teoria è: se riesco a creare un elenco di coordinate che descrivono una linea dal punto centrale al punto finale della distanza 300px, ho solo bisogno di eseguire pol2cart una volta (vai a ottenere il punto finale) e poi posso semplicemente ripetere sulla mia "lista di linee" ...
Quindi potrei fare qualcosa come (psuedo):
If line == UppyDowny:
for Y in line:
Solve X
elseIf line == LeftyRighty:
for X in line:
Solve Y
linecoords.append((X,Y))
... Non sto chiedendo a qualcuno di codificarlo per me, ma mi chiedo se esiste una funzione di libreria comune esistente che lo raggiunge? (come sarà senza dubbio più veloce di come codificherei quanto sopra e anche molto più veloce di 600 chiamate cos / sin)