Euglena tracking and OSC broadcasting: Difference between revisions

From Medien Wiki
No edit summary
Line 16: Line 16:
      
      
opencv.threshold(threshold);
opencv.threshold(threshold);
// ...
contours = opencv.findContours();
</source>
=== Skipping large/small contours ===
<source lang="java">
for (Contour contour : contours) {
      float a = contour.area();
      Rectangle r = contour.getBoundingBox();
      float wh = float(r.width)/float(r.height);
      if (a > minArea && wh > 0.1 && wh < 10 && a < maxArea) {
      // ...
</source>
</source>

Revision as of 09:22, 7 June 2015

Quick and dirty Euglena tracking using OpenCV, Syphon, and OSC.


Threshold based Euglena detection

opencv.loadImage(cam);

opencv.gray();
opencv.invert();
threshold = int(map(mouseX,0,width,0,255));

opencv.erode();
opencv.dilate();
    
opencv.threshold(threshold);

// ...

contours = opencv.findContours();

Skipping large/small contours

for (Contour contour : contours) {
      float a = contour.area();
      Rectangle r = contour.getBoundingBox();
      float wh = float(r.width)/float(r.height);
      if (a > minArea && wh > 0.1 && wh < 10 && a < maxArea) {
      // ...