ImageEn

TIEVisionMath.delaunayTriangulation Code Samples


Code samples for delaunayTriangulation (Automatically generated by the Every Method demo).

// Automated test of delaunayTriangulation - Typical Values
// TIEVisionMath.delaunayTriangulation - Points: 154, Triangles: 302
pts := ImageEnView1.IEBitmap.GetIEVisionImage().goodFeaturesToTrack( 150, 0.01, 20 );
... add the image corners to pts
tris := IEVisionLib().createMath().delaunayTriangulation( pts );  // 154 points -> 302 triangles
mesh := IEVisionLib().createVectorObjRef();
for i := 0 to tris.size() div 3 - 1 do
begin
  tri := IEVisionLib().createVectorPoint();
  for j := 0 to 2 do
  begin
    pt := pts.getPoint( tris.getInt32( i * 3 + j ));
    tri.push_back( IEVisionPoint( Round( pt.x ), Round( pt.y )));
  end;
  mesh.push_back( tri );
end;
IEVisionLib().createDrawing().drawContours( ImageEnView1.IEBitmap.GetIEVisionImage(), mesh, IEVisionScalar( 0, 255, 0 ), -1, 1, 16 );
ImageEnView1.Update();



// Automated test of delaunayTriangulation - Alpha Channel - Typical Values
// TIEVisionMath.delaunayTriangulation - Points: 106, Triangles: 206
pts := ImageEnView1.IEBitmap.GetIEVisionImage().goodFeaturesToTrack( 150, 0.01, 20 );
... add the image corners to pts
tris := IEVisionLib().createMath().delaunayTriangulation( pts );  // 106 points -> 206 triangles
mesh := IEVisionLib().createVectorObjRef();
for i := 0 to tris.size() div 3 - 1 do
begin
  tri := IEVisionLib().createVectorPoint();
  for j := 0 to 2 do
  begin
    pt := pts.getPoint( tris.getInt32( i * 3 + j ));
    tri.push_back( IEVisionPoint( Round( pt.x ), Round( pt.y )));
  end;
  mesh.push_back( tri );
end;
IEVisionLib().createDrawing().drawContours( ImageEnView1.IEBitmap.GetIEVisionImage(), mesh, IEVisionScalar( 0, 255, 0 ), -1, 1, 16 );
ImageEnView1.Update();



// Automated test of delaunayTriangulation - Random Values
// TIEVisionMath.delaunayTriangulation - Points: 28, Triangles: 50
pts := ImageEnView1.IEBitmap.GetIEVisionImage().goodFeaturesToTrack( 648, 0.01, 69 );
... add the image corners to pts
tris := IEVisionLib().createMath().delaunayTriangulation( pts );  // 28 points -> 50 triangles
mesh := IEVisionLib().createVectorObjRef();
for i := 0 to tris.size() div 3 - 1 do
begin
  tri := IEVisionLib().createVectorPoint();
  for j := 0 to 2 do
  begin
    pt := pts.getPoint( tris.getInt32( i * 3 + j ));
    tri.push_back( IEVisionPoint( Round( pt.x ), Round( pt.y )));
  end;
  mesh.push_back( tri );
end;
IEVisionLib().createDrawing().drawContours( ImageEnView1.IEBitmap.GetIEVisionImage(), mesh, IEVisionScalar( 255, 0, 255 ), -1, 1, 8 );
ImageEnView1.Update();



// Automated test of delaunayTriangulation - Alpha Channel - Random Values
// TIEVisionMath.delaunayTriangulation - Points: 27, Triangles: 48
pts := ImageEnView1.IEBitmap.GetIEVisionImage().goodFeaturesToTrack( 648, 0.01, 69 );
... add the image corners to pts
tris := IEVisionLib().createMath().delaunayTriangulation( pts );  // 27 points -> 48 triangles
mesh := IEVisionLib().createVectorObjRef();
for i := 0 to tris.size() div 3 - 1 do
begin
  tri := IEVisionLib().createVectorPoint();
  for j := 0 to 2 do
  begin
    pt := pts.getPoint( tris.getInt32( i * 3 + j ));
    tri.push_back( IEVisionPoint( Round( pt.x ), Round( pt.y )));
  end;
  mesh.push_back( tri );
end;
IEVisionLib().createDrawing().drawContours( ImageEnView1.IEBitmap.GetIEVisionImage(), mesh, IEVisionScalar( 255, 0, 255 ), -1, 1, 8 );
ImageEnView1.Update();