opencv 查找矩形
//矩形查找
BOOL CImageFun::FindSquares(IplImage *srcImage, double fMaxR, double fMinR, ARRCIR_XY_R &ptarr, int npar1, int npar2)
{
CvSeq *contour;
int header_size, i, count;
CvPoint *PointArray;
CvPoint2D32f *PointArray32f;
CvPoint myCenter;
CvBox2D *myBox = (CvBox2D *) malloc(sizeof(CvBox2D)); //用于画圆和椭圆,这里将是 方形边缘周长拟合的圆
header_size = sizeof(CvContour);
IplImage* gray = Canny(srcImage,npar1,npar2);
IplImage *dst_=cvCloneImage( srcImage );
CvMemStorage* storage = cvCreateMemStorage(0);
int number_of_c=cvFindContours (gray , storage, &contour, header_size, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
// 检查所有的轮廓
while(contour!=NULL) //当轮廓contour不为空时
{
if(CV_IS_SEQ_CURVE(contour))
{
count = contour ->total;//序列元素的总数,即轮廓上点的总数
PointArray = (CvPoint *)malloc(count * sizeof(CvPoint));
cvCvtSeqToArray(contour, PointArray, CV_WHOLE_SE