jerrym | f157933 | 2013-02-07 01:56:28 +0000 | [diff] [blame] | 1 | /*----------------------------------------------------------------------------*/
|
| 2 | /* Copyright (c) FIRST 2008. All Rights Reserved. */
|
| 3 | /* Open Source Software - may be modified and shared by FRC teams. The code */
|
| 4 | /* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib. */
|
| 5 | /*----------------------------------------------------------------------------*/
|
| 6 |
|
| 7 | #include "MonoImage.h"
|
| 8 | #include "nivision.h"
|
| 9 |
|
| 10 | MonoImage::MonoImage() : ImageBase(IMAQ_IMAGE_U8)
|
| 11 | {
|
| 12 | }
|
| 13 |
|
| 14 | MonoImage::~MonoImage()
|
| 15 | {
|
| 16 | }
|
| 17 |
|
| 18 | /**
|
| 19 | * Look for ellipses in an image.
|
| 20 | * Given some input parameters, look for any number of ellipses in an image.
|
| 21 | * @param ellipseDescriptor Ellipse descriptor
|
| 22 | * @param curveOptions Curve options
|
| 23 | * @param shapeDetectionOptions Shape detection options
|
| 24 | * @param roi Region of Interest
|
| 25 | * @returns a vector of EllipseMatch structures (0 length vector on no match)
|
| 26 | */
|
| 27 | vector<EllipseMatch> * MonoImage::DetectEllipses(
|
| 28 | EllipseDescriptor *ellipseDescriptor, CurveOptions *curveOptions,
|
| 29 | ShapeDetectionOptions *shapeDetectionOptions, ROI *roi)
|
| 30 | {
|
| 31 | int numberOfMatches;
|
| 32 | EllipseMatch *e = imaqDetectEllipses(m_imaqImage, ellipseDescriptor,
|
| 33 | curveOptions, shapeDetectionOptions, roi, &numberOfMatches);
|
| 34 | vector<EllipseMatch> *ellipses = new vector<EllipseMatch>;
|
| 35 | if (e == NULL)
|
| 36 | {
|
| 37 | return ellipses;
|
| 38 | }
|
| 39 | for (int i = 0; i < numberOfMatches; i++)
|
| 40 | {
|
| 41 | ellipses->push_back(e[i]);
|
| 42 | }
|
| 43 | imaqDispose(e);
|
| 44 | return ellipses;
|
| 45 | }
|
| 46 |
|
| 47 | vector<EllipseMatch> * MonoImage::DetectEllipses(
|
| 48 | EllipseDescriptor *ellipseDescriptor)
|
| 49 | {
|
| 50 | vector<EllipseMatch> *ellipses = DetectEllipses(ellipseDescriptor, NULL,
|
| 51 | NULL, NULL);
|
| 52 | return ellipses;
|
| 53 | }
|