area_center()——用于获取区域的面积和中心
函数原型:area_center(Regions : : : Area, Row, Column)
功能: 测得区域的面积和中心位置。面积是由区域的像素个数决定,中心是由区域的行列坐标平均值所决定的。如果输入区域是多个,则输出变量分索引号也是多个,并且一一对应。如果区域为空,则所有的参数值为0.0。
输入参数:Regions——被测区域。
输出参数:Area——被测区域的面积。
Row——被测区域中心的行索引。
Column——被测区域中心的列索引。
可能前置函数:threshold()、regiongrowing()、connection()
示例:
#include "HIOStream.h"
#if !defined(USE_IOSTREAM_H)
using namespace std;
#endif
#include "HalconCpp.h"
using namespace Halcon;
main()
{
Tuple area, row, column;
HImage img ("monkey");
HWindow w;
img.Display (w);
w.Click ();
HRegionArray reg = (img >= 164).Connection ();
reg.Display (w);
w.Click ();
area = reg.AreaCenter (&row, &column);
for (int i = 0; i < reg.Num (); i++)
{
cout << "Row [" << i << "]" << "= " << row[i].D ();
cout << "\t\tColumn [" << i << "]" << "= " << column[i].D () << endl;
}
cout << "Total number of regions: " << reg.Num () << endl;
return(0);
}