System and method for automatically generating a graphical program to
perform an image processing algorithm. A user may develop an image
processing algorithm in an image prototyping environment. The image
prototyping environment enables the user to easily apply various image
processing functions to an image and immediately see the results, in order
to develop the desired algorithm. As the user applies each image
processing function to an image, the function may be recorded as a step in
a script. Once the user has developed an algorithm, the user may request
the image prototyping environment to automatically generate a program
implementing the image processing algorithm. In various embodiments, the
prototyping environment may be operable to generate different types of
programs, including text-based and graphical programs. For example, a
text-based program may include function calls corresponding to each step
in the script recorded while developing the image processing algorithm,
while a graphical program may include nodes corresponding to the steps of
the script. The generated program may be operable to display a user
interface comprising controls for interactively changing various
parameters used by the image processing functions. An application
programming interface (API) provided by a graphical programming
environment that supports the dynamic creation/editing of a graphical
program is described. The image prototyping environment may interface with
a graphical programming environment through such an API in order to
generate a graphical program that implements an algorithm specified by a
script.
Systeem en methode om een grafisch programma automatisch te produceren om een algoritme van de beeldverwerking uit te voeren. Een gebruiker kan een algoritme van de beeldverwerking in een beeldprototyping milieu ontwikkelen. Het beeldprototyping milieu laat de gebruiker toe om diverse functies van de beeldverwerking gemakkelijk toe te passen op een beeld en onmiddellijk de resultaten te zien, het gewenste algoritme ontwikkelen. Zoals de gebruiker elke functie van de beeldverwerking op een beeld toepast, kan de functie als stap in een manuscript worden geregistreerd. Zodra de gebruiker een algoritme heeft ontwikkeld, kan de gebruiker het beeldprototyping milieu verzoeken om een programma automatisch te produceren uitvoerend het algoritme van de beeldverwerking. In diverse belichamingen, kan het prototyping milieu opereerbaar zijn om verschillende soorten programma's, met inbegrip van op tekst-gebaseerde en grafische programma's te produceren. Bijvoorbeeld, kan een op tekst-gebaseerd programma functievraag die aan elke stap beantwoorden in het geregistreerde manuscript omvatten terwijl het ontwikkelen van het algoritme van de beeldverwerking, terwijl een grafisch programma kan knopen omvatten die aan de stappen van het manuscript beantwoorden. Het geproduceerde programma kan opereerbaar zijn om een gebruikersinterface te tonen bestaand uit controles voor op elkaar inwerkend veranderende diverse parameters die door de functies van de beeldverwerking worden gebruikt. Een toepassing programmeringsinterface (API) die door een grafisch programmeringsmilieu dat wordt verstrekt de het dynamische verwezenlijking/uitgeven van een grafisch programma steunt wordt beschreven. Het beeldprototyping milieu kan met een grafisch programmeringsmilieu door dergelijke API omzetten om een grafisch programma te produceren dat een algoritme uitvoert dat door een manuscript wordt gespecificeerd.