Пожарная профилактика лаборатории исследовательского бюро

{ CvFont font;( &font, CV_FONT_HERSHEY_SIMPLEX, 0.4f, 0.4f, 0,1, 8 );i,j = 0;reader;( squares, &reader, 0 );( i = 0; i < squares->total; i += 4 )

{ j++;pt[4], *rect = pt;count = 4;

// read 4 vertices_READ_SEQ_ELEM( pt[0], reader );_READ_SEQ_ELEM( pt[1], reader );_READ_SEQ_ELEM( pt[2], reader );_READ_SEQ_ELEM( pt[3], reader );( img, pt[1], 2, CV_RGB(200,0,0),1, 8, 0 );( img, pt[2], 4, CV_RGB(200,0,0),1, 8, 0 );( img, pt[1], pt[2], CV_RGB(255,255,255),1, 8, 0 )angle = abs(pt[1].y-pt[2].y)/sqrt((pt[1].x-pt[2].x)*(pt[1].x-pt[2].x)+(pt[1].y-pt[2].y)*(pt[1].y-pt[2].y)+0.00001);char st[255]; sprintf(st, "%2f", angle);( img, cvPoint(0,img->height/2), cvPoint(img->width,img->height/2), CV_RGB(200,200,200),1, 8, 0 );( img, cvPoint(img->width/3,0), cvPoint(img->width/3,img->height), CV_RGB(200,200,200),1, 8, 0 );( img, cvPoint(img->width/3*2,0), cvPoint(img->width/3*2,img->height), CV_RGB(200,200,200),1, 8, 0 );( img, st, pt[1], &font, CV_RGB(200,0,0));( img, &rect, &count, 1, 1, CV_RGB(255,255,255), 1, CV_AA, 0 );}}main() { int c = 0;* capture = cvCaptureFromCAM(0);(!cvQueryFrame(capture)){cout<<"Video capture failed, please check the camera."<<endl;}else{cout<<"Video camera capture status: OK"<<endl;};sz = cvGetSize(cvQueryFrame(capture));( "out", 0);( "src", 1);* src = cvCreateImage( sz, 8, 3 );* gray = cvCreateImage( sz, 8, 1 );* pyr = cvCreateImage( cvSize(sz.width/2, sz.height/2), 8, 3 );* tgray = cvCreateImage( sz, 8, 1 );* storage = cvCreateMemStorage(0);* contours = NULL;* mainStorage = cvCreateMemStorage(0);* cstorage = cvCreateMemStorage( 0);* circles = NULL;(c != 27) {IplImage* img = NULL;* out = NULL;= cvQueryFrame( capture);= cvCloneImage( src); out = cvCloneImage( src);( img, pyr, 7 ); cvPyrUp( pyr, img, 7 );( img, 2 );( img, tgray, 0 );( tgray, gray, 100, 255, CV_THRESH_BINARY );( "src", gray);( gray, storage, &contours, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0) );= cvHoughCircles( gray, cstorage, CV_HOUGH_GRADIENT, 1, gray->height/16, 8, 10, 4, 50 );<<"Total circles: "<< circles->total <<endl;( int i = 0; i < circles-> total; i++ )

{float* p = ( float*)cvGetSeqElem( circles, i );( out, cvPoint( cvRound( p[0]), cvRound( p[1])), 2, CV_RGB( 200, 0, 0), -1, 8, 0 );( out, cvPoint( cvRound( p[0]), cvRound( p[1])), cvRound( p[2]), CV_RGB( 200, 0, 0), 1, 8, 0 );}(out,findSquares4(gray,mainStorage));( &img);( "out", out);( &out);= cvWaitKey(10); }( &capture );

cvDestroyAllWindows();}

Интерфейс окна программы:

Рисунок 1.Б - Интерфейс окна программы 2

Приложение В Демонстрационный графический материал

Перейти на страницу: 1 2 3 4 

Другое по теме:

Параболическая антенна
Рассчитать антенну с параболическим зеркалом. Влияние земли на параметры не учитывать. Исходные данные для расчёта: 1. Рабочая частота . . Ширина главного лепестка на уровне половинной мощности в Е-пло ...

Моделирование справочной телефонной сети
Целью курсовой работы является: смоделировать работу справочной телефонной сети города. Задача заключается в составлении и исследовании модели справочной телефонной сети и определении основных характеристик моделируемой сис ...

©  www.techvarious.ru - 2019