halcon-get_domain获取图像的区域

在HDevelop中

ma.jpg

 

复制代码
read_image (Image, 'D:/bb/tu/ma.jpg')
rgb1_to_gray(Image,Image1)
get_domain (Image1, Domain)
*获取图像的区域
*参数1:原图像
*参数2:保存区域

get_region_points (Domain, Rows, Columns)
*返回区域或图像的坐标信息
*参数1:区域或图像
*参数2:保存的行坐标信息
*参数3:保存的列坐标信息
*参数2和参数3的数据信息的意思看下图

get_image_size (Image1, Width, Height)
gen_image_const (Image2, 'byte', Width, Height)
*创建一个空图像
*参数1:创建的新的图像矩阵
*参数2:数据类型,默认值:'byte'->看 https://www.cnblogs.com/liming19680104/p/15890242.html   
*参数3:图像宽度,默认值: 512
*参数4:图像高度,默认值: 512

get_grayval (Image1, Rows, Columns, Grayval)
*获取图像的像素值
*参数1:原图像
*参数2:行坐标数组
*参数3:列坐标数组
*参数4:保存像素值--数组


set_grayval (Image2, Rows, Columns, Grayval)
*设置修改图像中的像素值
*参数1:要修改的图像
*参数2:行坐标数组
*参数3:列坐标数组
*参数4:要使用的值--数组


******下面给坐标(9,127)加个黑点*******
index:=9*Width+127
*计算坐标在数组中的序号

Grayval[index]:=0
*修改像素值数组中的值

set_grayval(Image2, Rows, Columns, Grayval)
*修改图像中的值--看下面图

************************************************


dev_display(Image2)
复制代码

 

 

 

 

 

在QtCreator中

复制代码
  
  HObject  ho_Image, ho_Image1, ho_Domain, ho_Image2;
  HTuple  hv_Rows, hv_Columns, hv_Width, hv_Height;
  HTuple  hv_Grayval, hv_index,WindowHandle;

  ReadImage(&ho_Image, "D:/bb/tu/ma.jpg");
  Rgb1ToGray(ho_Image, &ho_Image1);
  GetDomain(ho_Image1, &ho_Domain);
  //获取图像的区域
  //参数1:原图像
  //参数2:保存区域

  GetRegionPoints(ho_Domain, &hv_Rows, &hv_Columns);
  //返回区域或图像坐标信息
  //参数1:区域或图像
  //参数2:保存的行坐标信息
  //参数3:保存的列坐标信息
  //参数2和参数3的数据信息的意思看下图

  GetImageSize(ho_Image1, &hv_Width, &hv_Height);
  GenImageConst(&ho_Image2, "byte", hv_Width, hv_Height);
  //创建一个空图像
  //参数1:创建的新的图像矩阵
  //参数2:数据类型,默认值:'byte'->看 https://www.cnblogs.com/liming19680104/p/15890242.html
  //参数3:图像宽度,默认值: 512
  //参数4:图像高度,默认值: 512

  GetGrayval(ho_Image1, hv_Rows, hv_Columns, &hv_Grayval);
  //获取图像的像素值
  //参数1:原图像
  //参数2:行坐标数组
  //参数3:列坐标数组
  //参数4:保存像素值--数组

  SetGrayval(ho_Image2, hv_Rows, hv_Columns, hv_Grayval);
  //设置修改图像中的像素值
  //参数1:要修改的图像
  //参数2:行坐标数组
  //参数3:列坐标数组
  //参数4:要使用的值--数组


  //*****下面给坐标(9,127)加个黑点*******
  hv_index = (9*hv_Width)+127;
  //计算坐标在数组中的序号

  hv_Grayval[hv_index] = 0;
  //修改像素值数组中的值

  SetGrayval(ho_Image2, hv_Rows, hv_Columns, hv_Grayval);
  //修改图像中的值--看下面图

  //***********************************************


    SetWindowAttr("background_color","black");
   OpenWindow(50,50,hv_Width,hv_Height,0,"visible","",&WindowHandle);
   DispObj(ho_Image2, WindowHandle);
复制代码

 

 

 

 

 

 

 

 

posted @   天子骄龙  阅读(1036)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
历史上的今天:
2020-02-14 python-opencv-视频的读取与分解
2019-02-14 表格控件QTableWidget
2019-02-14 pyqt5--列表控件QListWidget
2019-02-14 python---剪贴板
点击右上角即可分享
微信分享提示

目录导航