WPILibC++  unspecified
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Pages
BinaryImage.h
1 /*----------------------------------------------------------------------------*/
2 /* Copyright (c) FIRST 2014-2016. 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 the root directory of */
5 /* the project. */
6 /*----------------------------------------------------------------------------*/
7 
8 #pragma once
9 
10 #include "MonoImage.h"
15 #include "Vision/VisionAPI.h"
16 
17 #include <vector>
18 #include <algorithm>
19 
20 class BinaryImage : public MonoImage {
21  public:
22  virtual ~BinaryImage() = default;
23  int GetNumberParticles();
25  void GetParticleAnalysisReport(int particleNumber,
27  std::vector<ParticleAnalysisReport> *GetOrderedParticleAnalysisReports();
28  BinaryImage *RemoveSmallObjects(bool connectivity8, int erosions);
29  BinaryImage *RemoveLargeObjects(bool connectivity8, int erosions);
30  BinaryImage *ConvexHull(bool connectivity8);
31  BinaryImage *ParticleFilter(ParticleFilterCriteria2 *criteria,
32  int criteriaCount);
33  virtual void Write(const char *fileName);
34 
35  private:
36  bool ParticleMeasurement(int particleNumber, MeasurementType whatToMeasure,
37  int *result);
38  bool ParticleMeasurement(int particleNumber, MeasurementType whatToMeasure,
39  double *result);
40  static double NormalizeFromRange(double position, int range);
41  static bool CompareParticleSizes(ParticleAnalysisReport particle1,
42  ParticleAnalysisReport particle2);
43 };
std::vector< ParticleAnalysisReport > * GetOrderedParticleAnalysisReports()
Get an ordered vector of particles for the image.
Definition: BinaryImage.cpp:105
virtual void Write(const char *fileName)
Write a binary image to flash.
Definition: BinaryImage.cpp:124
Definition: MonoImage.h:14
int GetNumberParticles()
Get then number of particles for the image.
Definition: BinaryImage.cpp:18
ParticleAnalysisReport GetParticleAnalysisReport(int particleNumber)
Get a single particle analysis report.
Definition: BinaryImage.cpp:31
frcParticleAnalysis returns this structure
Definition: VisionAPI.h:24
Included for ParticleAnalysisReport definition TODO: Eliminate this dependency!
Definition: BinaryImage.h:20