void Match()
{
HTuple Width, Height, WindowHandle3, Row1, Column1, Row2, Column2, hv_ModelId, row, col, angle, score;
HObject GrayImage, roi1, ho_Image, ho_ModelRegion, ho_TemplateImage;
string temPath = Application.StartupPath + "\\tem.jpg";
HOperatorSet.ReadImage(out ho_Image, temPath);
HOperatorSet.GetImageSize(ho_Image, out Width, out Height);
HOperatorSet.OpenWindow(0, 0, Width, Height, 0, "", "", out WindowHandle3);
HDevWindowStack.Push(WindowHandle3);
//需要显示一下,窗口才会更新图片
if (HDevWindowStack.IsOpen())
HOperatorSet.DispObj(ho_Image, HDevWindowStack.GetActive());
//设置窗口几何对象显示颜色,这个设置一直到下一个SetColor才会改变。
if (HDevWindowStack.IsOpen())
HOperatorSet.SetColor(HDevWindowStack.GetActive(), "red");
//定义区域的填充模式,有'fill', 'margin'前者是填充全部区域,后者是显示边缘,在显示边缘时可以用
if (HDevWindowStack.IsOpen())
HOperatorSet.SetDraw(HDevWindowStack.GetActive(), "margin");
//设置线宽
if (HDevWindowStack.IsOpen())
HOperatorSet.SetLineWidth(HDevWindowStack.GetActive(), 1);
//设置在窗口写字的位置
HOperatorSet.SetTposition(WindowHandle3, 24, 12);
HOperatorSet.WriteString(WindowHandle3, "请用鼠标画ROI");
//画不带方向的roi矩形框,2是带方向的
HOperatorSet.DrawRectangle1(WindowHandle3, out Row1, out Column1, out Row2, out Column2);
//生成矩形框
HOperatorSet.GenRectangle1(out ho_ModelRegion, Row1, Column1, Row2, Column2);
//reduce_domain提取的图像的大小与原图像大小保持一致,可以结合crop_domain一起使用,去掉没有用到的区域
//用上面的矩形抠图,生成roi区域
HOperatorSet.ReduceDomain(ho_Image, ho_ModelRegion, out ho_TemplateImage);
HOperatorSet.CropDomain(ho_TemplateImage, out ho_TemplateImage);
string fileName = Application.StartupPath + "\\tem.bmp";
HOperatorSet.WriteImage(ho_TemplateImage, "bmp", 0, fileName);
//与上面两行代码效果一样,去掉没有用到的区域
HOperatorSet.CropRectangle1(ho_Image, out ho_TemplateImage, Row1, Column1, Row2, Column2);
fileName = Application.StartupPath + "\\tem2.bmp";
HOperatorSet.WriteImage(ho_TemplateImage, "bmp", 0, fileName);
}