• halconrectangle1_domain获取指定矩形区域的图像


    ma.jpg

     在HDevelop中

    read_image (Image, 'D:/bb/tu/ma.jpg')
    dev_open_window(0,0,500,300,'black',WindowHandle)
    
    dev_display(Image)
    
    rectangle1_domain(Image,Image1,33,160,118,270)
    *获取指定矩形区域的图像
    *参数1:原图像
    *参数2:用来保存新图像
    *参数3:矩形左上角y坐标
    *参数4:矩形左上角x坐标
    *参数5:矩形右下角y坐标
    *参数6:矩形右下角x坐标
    *注意:新图像的大小与原图像相同
    
    dev_open_window(0,400,500,300,'black',WindowHandle1)
    dev_display(Image1)

    在QtCreator中

        HObject  ho_Image;
        ReadImage(&ho_Image, "D:/bb/tu/ma.jpg");
    
        HTuple  hv_WindowHandle;
        SetWindowAttr("background_color","black");
        OpenWindow(0,100,500,300,0,"visible","",&hv_WindowHandle);
    
        HDevWindowStack::Push(hv_WindowHandle);
    
        if (HDevWindowStack::IsOpen()){
    
           DispObj(ho_Image, HDevWindowStack::GetActive());
    
       }
    
        HTuple  hv_WindowHandle1;
        HObject  ho_Image1;
        Rectangle1Domain(ho_Image, &ho_Image1, 33, 160, 118, 270);//获取指定矩形区域的图像
          //参数1:原图像
          //参数2:用来保存新图像
          //参数3:矩形左上角y坐标
          //参数4:矩形左上角x坐标
          //参数5:矩形右下角y坐标
          //参数6:矩形右下角x坐标
          //注意:新图像的大小与原图像相同
    
    
        SetWindowAttr("background_color","black");
        OpenWindow(0,500,500,300,0,"visible","",&hv_WindowHandle1);
    
        HDevWindowStack::Push(hv_WindowHandle1);
    
        if (HDevWindowStack::IsOpen()){
    
           DispObj(ho_Image1, HDevWindowStack::GetActive());
    
       }

    注意事项

    Rectangle1Domain截取图像后,不能转化为Mat和QImage,否则截取效果失效
        HObject  ho_Image;
        ReadImage(&ho_Image, "D:/bb/tu/ma.jpg");
    
        HTuple  hv_WindowHandle;
        SetWindowAttr("background_color","black");
        OpenWindow(0,100,500,300,0,"visible","",&hv_WindowHandle);
    
        HDevWindowStack::Push(hv_WindowHandle);
    
        if (HDevWindowStack::IsOpen()){
    
           DispObj(ho_Image, HDevWindowStack::GetActive());
    
       }
    
        HTuple  hv_WindowHandle1;
        HObject  ho_Image1;
        Rectangle1Domain(ho_Image, &ho_Image1, 33, 160, 118, 270);
          
        cv::Mat src=HObject2Mat(ho_Image1); //转化为Mat
        cv::imshow("src",src);

     转化为Mat后,截取效果失效

     

  • 相关阅读:
    HTML学习笔记
    "IIS无法启动"问题解决方法
    NET访问MySQl数据库中文乱码解决
    珍爱生命,远离肥胖,远离过劳死
    Bcp 命令注意事项
    阿里云万郁香:多样付费选择构筑成本最优的弹性体验
    性能提升40%!阿里云神龙大数据加速引擎获TPCxBB世界排名第一
    阿里云王志坤:强劲可靠、无处不在的云,为创新保驾护航
    发现新视界——视觉计算将如何改变生产方式
    Soul运维总监尤首智:企业如何从0到1建设云上运维体系
  • 原文地址:https://www.cnblogs.com/liming19680104/p/15862688.html
Copyright © 2020-2023  润新知