Im en utilisant Xcode et C++OpenCV HoughCircles
j'ai copié le code de HoughCircles du OpenCV documentation:
#include <cv.h>
#include <highgui.h>
#include <math.h>
using namespace cv;
int main(int argc, char** argv)
{
Mat img, gray;
if(argc != 2 && !(img=imread(argv[1], 1)).data)
return -1;
cvtColor(img, gray, CV_BGR2GRAY);
// smooth it, otherwise a lot of false circles may be detected
GaussianBlur(gray, gray, Size(9, 9), 2, 2);
vector<Vec3f> circles;
HoughCircles(gray, circles, CV_HOUGH_GRADIENT,
2, gray->rows/4, 200, 100);
for(size_t i = 0; i < circles.size(); i++)
{
Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
int radius = cvRound(circles[i][2]);
// draw the circle center
circle(img, center, 3, Scalar(0,255,0), -1, 8, 0);
// draw the circle outline
circle(img, center, radius, Scalar(0,0,255), 3, 8, 0);
}
namedWindow("circles", 1);
imshow("circles", img);
return 0;
}
puis modifiée comme suit:
int main(int argc, char** argv)
{
VideoCapture cap(0);
if(!cap.isOpened())
return -1;
namedWindow("circles", 1);
Mat img, gray;
for(;;)
{
cap >> img;
vector<Vec3f> circles;
cvtColor(img, gray, CV_BGR2GRAY);
GaussianBlur(gray, gray, Size(7,7), 1.5, 1.5);
HoughCircles(img, circles, CV_HOUGH_GRADIENT, 2, img->rows/4, 200, 100);
imshow("circles", img);
if(waitKey(30) >= 0) break;
}
return 0;
}
je reçois l'erreur sur les deux cas: erreur: l'opérande de base de '->' a un type de non-pointeur 'cv :: Mat' puis je remplace le -> par. et encore obtenir une autre erreur. C'est la même chose avec le code que j'ai copié de la documentation. Ma théorie est que cela se produit parce qu'il ne reçoit pas et image ou quelque chose. mais quand je prends le code HoughCircles, la caméra fonctionne bien.
Des idées s'il vous plaît ??
oui les deux erreurs. l'erreur que je reçois en utilisant. : "cv :: HoughCircles (cv :: Mat const &, __gnu_debug_def :: vecteur, std :: allocateur >> &, int, double, double, double, double, int, int) ", référencé par: –
Harry
J'ai édité ma réponse pour fournir de meilleures informations pour vous. – karlphillip