Using an ERegion to Crop a ZMap¶
The code shows how to perform cropping on a zmap.
C++¶
#include <eVision/Easy3D/EUtils.h>
#include <eVision/Easy/EPolygonRegion.h>
using namespace eVision;
using namespace eVision::Easy3D;
EZMap8 zmap;
zmap.Load("");
// prepare an ERegion
std::vector<EPoint> points = { EPoint(90, 76), EPoint(432, 87),
EPoint(466, 91), EPoint(502, 122), EPoint(513, 169),
EPoint(485, 218), EPoint(436, 231), EPoint(86, 215) };
EPolygonRegion region(points); // could be any type of ERegion
EZMap8 zmapCropped(zmap.GetWidth(), zmap.GetHeight());
EUtils::Copy(zmap.GetUndefinedValue(), zmapCropped);
EUtils::Copy(zmap, region, zmapCropped);
C#¶
using eVision;
using eVision.Easy3D;
EZMap8 zmap = new EZMap8();
zmap.Load("");
// prepare an ERegion
EPoint[] points = new EPoint[] { new EPoint(90, 76), new EPoint(432, 87),
new EPoint(466, 91), new EPoint(502, 122), new EPoint(513, 169),
new EPoint(485, 218), new EPoint(436, 231), new EPoint(86, 215) };
EPolygonRegion region = new EPolygonRegion(points); // could be any type of ERegion
EZMap8 zmapCropped = new EZMap8(zmap.Width, zmap.Height);
EUtils.Copy(zmap.UndefinedValue, zmapCropped);
EUtils.Copy(zmap, region, zmapCropped);
Python¶
import eVision
from eVision import Easy3D
zmap = Easy3D.EZMap8()
zmap.Load("")
# prepare an ERegion
points = [ eVision.EPoint(90, 76), eVision.EPoint(432, 87),
eVision.EPoint(466, 91), eVision.EPoint(502, 122), eVision.EPoint(513, 169),
eVision.EPoint(485, 218), eVision.EPoint(436, 231), eVision.EPoint(86, 215) ]
region = eVision.EPolygonRegion(points) # could be any type of ERegion
zmap_cropped = Easy3D.EZMap8(zmap.Width, zmap.Height)
Easy3D.EUtils.Copy(zmap.UndefinedValue, zmap_cropped)
Easy3D.EUtils.Copy(zmap, region, zmap_cropped)