美文网首页
halcon/C++模板匹配

halcon/C++模板匹配

作者: 寽虎非虫003 | 来源:发表于2021-07-29 18:00 被阅读0次

    说明

    参考网页

    【Halcon】 模板匹配 create_template 与 fast_match_mg

    //图片句柄
        Hobject Image,Image2,Image_Temp,Image_Temp2;
        
        //区域句柄
        Hobject Image_ROI;
        
        //整型数据:Pointer指向图片数据区域,Width,Height表示图片宽度和高度,WindowHandle表示窗口的地址
        Hlong WindowHandle;
        
        //模板ID
        Hlong templateID,Numball;
        
        //匹配结果
        Hobject MatchID,ballRIO,ballMage;
        
        //二次匹配的模板结果
        HTuple m_Row,m_Column,m_Error;
        
        
        //从硬盘读取图像,保存到变量中
        read_image (&Image,"C:/3.PNG");
        
        //读取图像,用于创建模板
        read_image (&Image_Temp, "C:/7.PNG");
        
        //设置模板区域位置和大小,Row是X,col是Y
        gen_rectangle1(&Image_ROI,110,305,158,353);
        
        //从图像中截取模板区域
        reduce_domain(Image_Temp,Image_ROI,&Image_Temp2);
        
        //从图像创建模板
        create_template(Image_Temp2,5,4,"sort","original",&templateID);
        
        
        //快速匹配,最大容许误差,计算速度等级
        fast_match_mg(Image,&MatchID,templateID,20,3);
        
        //拆分区域
        connection(MatchID,&ballRIO);
        
        //统计个数  
        count_obj(ballRIO,&Numball);
        
        //在区域中填入图像数据,用于二次查找
        add_channels(ballRIO,Image,&ballMage);
        
        //优化的模板匹配   
        best_match(ballMage,templateID,20,"true",&m_Row,&m_Column,&m_Error);
        
        
        //绘制原来的图片
        WindowHandle = ShowPicture(Image);
        
        
        //绘制结果,减13是因为图片大小是26*26 
        disp_rectangle1(WindowHandle,m_Row-24,m_Column-24,m_Row+24,m_Column+24);
        
        
        //清除模板,释放内存
        clear_template(templateID);
    

    C++实现并修改

    效果展示

    相关文章

      网友评论

          本文标题:halcon/C++模板匹配

          本文链接:https://www.haomeiwen.com/subject/vxhdfktx.html