view c/test-pixels.cpp @ 372:349eb1e09f45

Cleaned the methods/functions indicating if a point is in a polygon In general, shapely should be used, especially for lots of points: from shapely.geometry import Polygon, Point poly = Polygon(array([[0,0],[0,1],[1,1],[1,0]])) p = Point(0.5,0.5) poly.contains(p) -> returns True poly.contains(Point(-1,-1)) -> returns False You can convert a moving.Point to a shapely point: p = moving.Point(1,2) p.asShapely() returns the equivalent shapely point If you have several points to test, use moving.pointsInPolygon(points, polygon) where points are moving.Point and polygon is a shapely polygon.
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Tue, 16 Jul 2013 17:00:17 -0400
parents eb38637f338d
children
line wrap: on
line source

#include "cvutils.hpp"

#include "opencv/cv.h"
#include "opencv/highgui.h"

#include <iostream>

using namespace std;


int main(int argc, char *argv[]) {
  //cout << "Hello World" << endl;

  CvCapture *inputVideo = cvCaptureFromFile(argv[1]);

  IplImage* frame = cvQueryFrame(inputVideo);
  IplImage* bwFrame = allocateImage(frame->width, frame->height, IPL_DEPTH_8U, 1);

  int frameNum = 0;
  while (frame) {
    if (frameNum%10 == 0)
      cout << frameNum << endl;
    cvConvertImage(frame, bwFrame);
    
    for (int i=0; i<frame->height; ++i)
      for (int j=0; j<frame->width; ++j)
	int gray = cvGetReal2D(bwFrame, i, j);

    frame = cvQueryFrame(inputVideo);
    frameNum++;
  }

  return 1;
}