Sono nuovo all'utilizzo di prodotti NI questo è il mio problema:
Visualizzo un'immagine catturata da uma telecamera e faccio scehliere all'utente una zona da usare come template per una funzione di PatternMatching. Ho usato un esempio di quelli disponibili ed ho adattato la procedura
Dim LearnOptions As New CWIMAQLearnPatternOptions
Dim Rectangle As New CWIMAQRectangle
'Estrai la regione corrispondente
CWMachineVision1.GetSelectedRectangleFromViewer CWIMAQViewer1, Rectangle
'CWIMAQViewer1.Regions.RemoveAll
CWIMAQVision1.Extract2 CWIMAQViewer1.Image, CWIMAQViewer2.Image, Rectangle
'Setta parameteri
LearnOptions.LearnMode = cwimaqLearnAll
'Setta template
CWIMAQVision1.LearnPattern2 CWIMAQViewer2.Image, LearnOptions
' Salva Immagine Template
CWIMAQVision2.WritePNGFile CWIMAQViewer2.Image, App.Path & "\Tmp_P.png"
fino qui tutto OK o quasi perchè se eseguo la ricerca del pattern con una sequenza di istruzioni tipo:
Dim ProcessedPartImage As New CWIMAQImage
Dim ParticleReport As New CWIMAQParticleReport
Dim AreaArray As Variant
Dim TextOptions As New CWIMAQTextOptions
Dim UncorrectedImage As New CWIMAQImage
'Parametri di Confronto
Opzioni_Match.MatchMode = cwimaqMatchRotationInvariant
Opzioni_Match.MinimumMatchScore = 480
Opzioni_Match.NumMatchesRequested = 5
Opzioni_Match.MinimumContrast = 10
Opzioni_Match.SubPixelAccuracy = True
Opzioni_Match.AdvancedOptions.SubpixelTolerance = 10
CWMachineVision1.GetSelectedRectangleFromViewer CWIMAQViewer1, Rettangolo_Ricerca, False
'Confronta e cerca immagine tipo 1
CWIMAQVision1.MatchPattern2 CWIMAQViewer1.Image, CWIMAQViewer2.Image, Opzioni_Match, Report_Dati_Trovati, Rettangolo_Ricerca
tutto funziona.
Ma se provo ad usare come template di ricerca l'immagine precedentemente salvata "Tmp_P.png"
ho un errore del tipo
Run Time error "31913"
Invalid Template Descriptor
dove sto sbagliando?
Un anticipato grazie a tutti