VisionPro控件的使用 C# 開發篇


VisionPro 常用控件的說明

工具設置窗體

CogPMAlignEditV2  [ 模版匹配設置窗體控件 ]

CogPMAlignEditV2.Subject : 工具關聯對象 

如:CogPMAlignEditV2.Subject = CogPMAlignTool1;

CogPMAlignTool1 的類型為CogPMAlignTool

CogFixtureEditV2   [ 坐標定位設置窗體控件 ]  

CogFixtureEditV2.Subject : 工具關聯對象 

如:CogFixtureEditV2.Subject = CogFixtureTool1;

CogFixtureTool1的類型為CogFixtureTool

CogCalibNPointToNPointEditV2  [  N點坐標矯正設置窗體控件 ] 

CogCalibNPointToNPointEditV2.Subject : 工具關聯對象 

如:CogCalibNPointToNPointEditV2.Subject = CogCalibNPointToNPointTool1;

CogCalibNPointToNPointTool1的類型為CogCalibNPointToNPointTool

其中:

未矯正X : 像素坐標X

未矯正Y : 像素坐標Y

原始的已校正X : 物理坐標 X

原始的已校正Y : 物理坐標 Y

CogFindCircleEditV2  [ 圓形尋找設置窗體控件 ] 

CogFindCircleEditV2.Subject : 工具關聯對象 

如:CogFindCircleEditV2.Subject = CogFindCircleTool1;

CogFindCircleTool1的類型為CogFindCircleTool

CogAcqFifoEditV2  [ 相機信息設置窗體控件 ]

CogAcqFifoEditV2.Subject : 工具關聯對象 

如:CogAcqFifoEditV2.Subject = CogAcqFifoTool1;

CogAcqFifoTool1的類型為CogAcqFifoTool

CogImageFileEditV2 [ 圖像文件設置窗體控件 ] 

CogImageFileEditV2.Subject : 工具關聯對象 

如:CogImageFileEditV2.Subject = CogImageFileTool1;

CogImageFileTool1的類型為CogImageFileTool

cogToolGroupEditV21 [ 工具組管理設置窗體控件 ]

cogToolGroupEditV21.Subject : 工具關聯對象 

如:cogToolGroupEditV21.Subject = cogToolGroupTool1;

cogToolGroupTool1的類型為cogToolGroupTool

顯示控件

CogDisplay [ 圖像顯示窗體控件 ] 

顯示圖片:cogDisplay1.Image = image;

獲取圖片:image = cogDisplay1.Image;

附: image  à 圖片變量 (類型為 ICogImage)

//顯示圖層清空

cogDisplay1.StaticGraphics.Clear();

cogDisplay1.InteractiveGraphics.Clear()

 1 //在CogDisplay1中顯示文字  2 //需要引用的空間
 3   
 4   using Cognex.VisionPro;  5   
 6   using Cognex.VisionPro.Display;  7   
 8   //實現方法 
 9   private void Create_Font(CogDisplay MyDisplay, string Font, int FontSize, 10  
11     double X, double Y, string Label, CogColorConstants Mycolor, 12  
13     CogGraphicLabelAlignmentConstants MyAlignment, string GroupName) 14  
15  { 16  
17  //創建窗體顯示字符串標簽
18  
19              CogGraphicLabel MyLabel = new CogGraphicLabel(); 20  
21  //創建窗體顯示字體格式
22  
23              Font MyFont = new Font(Font, FontSize, FontStyle.Regular); 24  
25   
26  
27              MyLabel.GraphicDOFEnableBase = CogGraphicDOFConstants.None; 28  
29              MyLabel.Interactive = false; 30  
31              MyLabel.Font = MyFont;//設置標簽的字體屬性
32  
33              MyLabel.Color = Mycolor;//設置顯示標簽的額字體顯示顏色
34  
35              MyLabel.Alignment = MyAlignment;//對齊方式
36  
37              MyLabel.SetXYText(X, Y, Label);//文字顯示坐標 38  
39   
40  
41  //將文字顯示在CogDisplay1的活動圖層上
42  
43              MyDisplay.InteractiveGraphics.Add(MyLabel, GroupName, false); 44  
45    }

//將文本圖層顯示在CogDisplay1的靜態圖層上

CogDisplay1.StaticGraphics.Add(CogPMAlignTool1.Results.Item(0).CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes), "");

附:CogPMAlignTool1 à 匹配工具(下文有說明)

CogPMAlignTool1.Results.Item(0).CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes) :意思是創建一個匹配工具的結果圖層,這個圖層是用來顯示一中心坐標得出來的坐標軸

VisionPro 工具組文件的使用

工具組的建立

打開VisionPro,雙擊“CogJob1”(這里以CogJob1為列)

在“VisionPro 工具”中選擇“CogToolGroup”工具組工具,將其拖到工具表中

然后雙擊“CogToolGroup”中,在“CogToolGroup1“中添加你需要的工具。

添加完工具並設置配置后,點擊保存成工作組文件。

工具組的編程加載

在程序的編寫中,需要加載工具組文件

在C#中VisionPro提供出來的工具組文件進行加載的方法為

//需要引用的空間

using Cognex.VisionPro.ToolGroup;

//實現代碼

object toolgroup = CogSerializer.LoadObjectFromFile(path);

CogToolGroup ToolGroup1 = toolgroup as CogToolGroup;

path : 加載工具組文件的物理路徑。

如“C:\Users\Administrator\Desktop\Temp\PMAlignTool.vpp”。 

工具組的編程保存

CogSerializer.SaveObjectToFile(ToolGroup1,path,typeof(System.Runtime.Serialization.Formatters.Soap.SoapFormatter), CogSerializationOptionsConstants.Minimum);

ToolGroup1:需要保存的工具組

path : 保存工具組文件的物理路徑 

工具組的各子工具的編程關聯(這樣做的話就更靈活的操作組中的工具數據)

//引用的空間

using Cognex.VisionPro;

using Cognex.VisionPro.PMAlign;

CogAcqFifoTool CogAcqFifoTool1 = ToolGroup1.Tools["CogAcqFifoTool1"] as CogAcqFifoTool ; //關聯相機工具

CogAcqFifoTool1.OutputImage //工具輸出的圖像,類型為ICogImage

CogAcqFifoTool1.Run()    //運行工具,這里運行后相機獲取一張圖片,可以通過OutImage獲取

CogPMAlignTool CogPMAlignTool1 = ToolGroup1.Tools["CogPMAlignTool1"] as CogPMAlignTool ; //關聯模版匹配工具

CogPMAlignTool1.InputImage //工具輸入的圖像,注意的是這個工具用的8位的灰度圖像。

CogPMAlignTool1.Run()      //運行工具,對輸入的圖像進行模版匹配

CogCalibNPointToNPointTool CogCalibNPointToNPointTool1=

ToolGroup1.Tools["CogCalibNPointToNPointTool1"]

as CogCalibNPointToNPointTool; //關聯模版匹配工具

CogCalibNPointToNPointTool1.InputImage  //工具輸入的圖像

CogCalibNPointToNPointTool1.OutputImage //工具輸出矯正后的圖像,類型為ICogImage

CogCalibNPointToNPointTool1.Run()//運行工具,對輸入的圖像進行矯正計算

附:ICogImage類型的圖像可以強轉換為8位的灰度圖像,如:

     CogImage8Grey image8grey = image As CogImage8Grey; //image 的類型為 ICogImage


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM