Home | History | Annotate | Download | only in src

Lines Matching full:hist

47     CvHistogram *hist = 0;
58 CV_CALL( hist = (CvHistogram *)cvAlloc( sizeof( CvHistogram )));
60 hist->type = CV_HIST_MAGIC_VAL;
61 hist->thresh2 = 0;
62 hist->bins = 0;
65 CV_CALL( hist->bins = cvInitMatNDHeader( &hist->mat, dims, sizes,
67 CV_CALL( cvCreateData( hist->bins ));
71 CV_CALL( hist->bins = cvCreateSparseMat( dims, sizes, CV_HIST_DEFAULT_TYPE ));
79 CV_CALL( cvSetHistBinRanges( hist, ranges, uniform ));
84 cvReleaseHist( &hist );
86 return hist;
92 cvMakeHistHeaderForArray( int dims, int *sizes, CvHistogram *hist,
101 if( !hist )
107 hist->thresh2 = 0;
108 hist->type = CV_HIST_MAGIC_VAL;
109 CV_CALL( hist->bins = cvInitMatNDHeader( &hist->mat, dims, sizes,
117 CV_CALL( cvSetHistBinRanges( hist, ranges, uniform ));
120 result = hist;
124 if( cvGetErrStatus() < 0 && hist )
126 hist->type = 0;
127 hist->bins = 0;
135 cvReleaseHist( CvHistogram **hist )
141 if( !hist )
144 if( *hist )
146 CvHistogram* temp = *hist;
151 *hist = 0;
171 cvClearHist( CvHistogram *hist )
177 if( !CV_IS_HIST(hist) )
180 cvZero( hist->bins );
188 cvThreshHist( CvHistogram* hist, double thresh )
194 if( !CV_IS_HIST(hist) )
197 if( !CV_IS_SPARSE_MAT(hist->bins) )
200 CV_CALL( cvGetMat( hist->bins, &mat, 0, 1 ));
205 CvSparseMat* mat = (CvSparseMat*)hist->bins;
224 cvNormalizeHist( CvHistogram* hist, double factor )
231 if( !CV_IS_HIST(hist) )
234 if( !CV_IS_SPARSE_HIST(hist) )
237 CV_CALL( cvGetMat( hist->bins, &mat, 0, 1 ));
245 CvSparseMat* mat = (CvSparseMat*)hist->bins;
273 cvGetMinMaxHistValue( const CvHistogram* hist,
285 if( !CV_IS_HIST(hist) )
288 dims = cvGetDims( hist->bins, size );
290 if( !CV_IS_SPARSE_HIST(hist) )
295 CV_CALL( cvGetMat( hist->bins, &mat, 0, 1 ));
338 CvSparseMat* mat = (CvSparseMat*)hist->bins;
721 cvSetHistBinRanges( CvHistogram* hist, float** ranges, int uniform )
733 if( !CV_IS_HIST(hist) )
736 CV_CALL( dims = cvGetDims( hist->bins, size ));
746 hist->thresh[i][0] = ranges[i][0];
747 hist->thresh[i][1] = ranges[i][1];
750 hist->type |= CV_HIST_UNIFORM_FLAG + CV_HIST_RANGES_FLAG;
756 if( !hist->thresh2 )
758 CV_CALL( hist->thresh2 = (float**)cvAlloc(
759 dims*sizeof(hist->thresh2[0])+
760 total*sizeof(hist->thresh2[0][0])));
762 dim_ranges = (float*)(hist->thresh2 + dims);
779 hist->thresh2[i] = dim_ranges;
783 hist->type |= CV_HIST_RANGES_FLAG;
784 hist->type &= ~CV_HIST_UNIFORM_FLAG;
794 icvCalcHistLookupTables8u( const CvHistogram* hist, int dims, int* size, int* tab )
797 int is_sparse = CV_IS_SPARSE_HIST( hist );
798 int have_range = CV_HIST_HAS_RANGES(hist);
801 if( !have_range || CV_IS_UNIFORM_HIST(hist))
805 double a = have_range ? hist->thresh[i][0] : 0;
806 double b = have_range ? hist->thresh[i][1] : 256;
812 step = ((CvMatND*)(hist->bins))->dim[i].step/sizeof(float);
830 double limit = hist->thresh2[i][0];
835 step = ((CvMatND*)(hist->bins))->dim[i].step/sizeof(float);
848 limit = hist->thresh2[i][idx+1];
872 CvSize size, CvHistogram* hist )
875 int is_sparse = CV_IS_SPARSE_HIST(hist);
880 dims = cvGetDims( hist->bins, histsize );
883 status = icvCalcHistLookupTables8u( hist, dims, histsize, tab );
891 int* bins = ((CvMatND*)(hist->bins))->data.i;
1067 CvSparseMat* mat = (CvSparseMat*)(hist->bins);
1125 CvSize size, CvHistogram* hist )
1127 hist);
1128 int uniform = CV_IS_UNIFORM_HIST(hist);
1133 dims = cvGetDims( hist->bins, histsize );
1140 double t = histsize[i]/((double)hist->thresh[i][1] - hist->thresh[i][0]);
1142 uni_range[i][1] = -t*hist->thresh[i][0];
1148 CvMatND* mat = (CvMatND*)(hist->bins);
1211 int step0 = ((CvMatND*)(hist->bins))->dim[0].step/sizeof(float);
1308 float* thresh = hist->thresh2[i];
1333 CvSparseMat* mat = (CvSparseMat*)(hist->bins);
1369 float* thresh = hist->thresh2[i];
1402 cvCalcArrHist( CvArr** img, CvHistogram* hist,
1418 if( !CV_IS_HIST(hist))
1424 CV_CALL( dims = cvGetDims( hist->bins ));
1479 if( !CV_IS_SPARSE_HIST(hist))
1481 dense = *(CvMatND*)hist->bins;
1487 CV_CALL( cvZero( hist->bins ));
1489 else if( !CV_IS_SPARSE_HIST(hist))
1491 CV_CALL( cvConvert( (CvMatND*)hist->bins, &dense ));
1495 CvSparseMat* mat = (CvSparseMat*)(hist->bins);
1507 if( CV_MAT_DEPTH(mat0->type) > CV_8S && !CV_HIST_HAS_RANGES(hist))
1514 IPPI_CALL( icvCalcHist_8u_C1R( ptr, step, maskptr, maskstep, size, hist ));
1520 IPPI_CALL( icvCalcHist_32f_C1R( v.fl, step, maskptr, maskstep, size, hist ));
1527 if( !CV_IS_SPARSE_HIST(hist))
1529 CV_CALL( cvConvert( &dense, (CvMatND*)hist->bins ));
1533 CvSparseMat* mat = (CvSparseMat*)(hist->bins);
1554 CvSize size, const CvHistogram* hist )
1558 int is_sparse = CV_IS_SPARSE_HIST(hist);
1563 dims = cvGetDims( hist->bins, histsize );
1566 status = icvCalcHistLookupTables8u( hist, dims, histsize, tab );
1573 CvMatND* mat = (CvMatND*)(hist->bins);
1778 CvSparseMat* mat = (CvSparseMat*)(hist->bins);
1816 CvSize size, const CvHistogram* hist )
1818 int is_sparse = CV_IS_SPARSE_HIST(hist);
1819 int uniform = CV_IS_UNIFORM_HIST(hist);
1824 dims = cvGetDims( hist->bins, histsize );
1833 ((double)hist->thresh[i][1] - hist->thresh[i][0]);
1835 uni_range[i][1] = -t*hist->thresh[i][0];
1841 CvMatND* mat = (CvMatND*)(hist->bins);
1903 int step0 = ((CvMatND*)(hist->bins))->dim[0].step/sizeof(float);
1960 float* thresh = hist->thresh2[i];
1984 CvSparseMat* mat = (CvSparseMat*)(hist->bins);
2017 float* thresh = hist->thresh2[i];
2048 cvCalcArrBackProject( CvArr** img, CvArr* dst, const CvHistogram* hist )
2062 if( !CV_IS_HIST(hist))
2068 CV_CALL( dims = cvGetDims( hist->bins ));
2113 if( CV_MAT_DEPTH(mat0->type) > CV_8S && !CV_HIST_HAS_RANGES(hist))
2120 IPPI_CALL( icvCalcBackProject_8u_C1R( ptr, step, dstptr, dststep, size, hist ));
2127 (float*)dstptr, dststep, size, hist ));
2141 cvCalcArrBackProjectPatch( CvArr** arr, CvArr* dst, CvSize patch_size, CvHistogram* hist,
2157 if( !CV_IS_HIST(hist))
2170 CV_CALL( dims = cvGetDims( hist->bins ));
2171 CV_CALL( cvCopyHist( hist, &model ));
2172 CV_CALL( cvNormalizeHist( hist, norm_factor ));
2209 CV_CALL( result = cvCompareHist( model, hist, method ));
2261 cvCalcProbDensity( const CvHistogram* hist, const CvHistogram* hist_mask,
2271 if( !CV_IS_HIST(hist) || !CV_IS_HIST(hist_mask) || !CV_IS_HIST(hist_dens) )
2275 CvArr* arrs[] = { hist->bins, hist_mask->bins, hist_dens->bins };
2313 CvHistogram* hist = 0;
2331 CV_CALL( hist = cvCreateHist( 1, &hist_sz, CV_HIST_ARRAY ));
2333 CV_CALL( cvCalcArrHist( (CvArr**)&src, hist ));
2336 h = (float*)cvPtr1D( hist->bins, 0 );
2349 cvReleaseHist(&hist);
2354 #define CV_TYPE_NAME_HIST "opencv-hist"
2461 const CvHistogram * hist = (const CvHistogram *) struct_ptr;
2472 is_uniform = (CV_IS_UNIFORM_HIST(hist) ? 1 : 0);
2473 have_ranges = (hist->type & CV_HIST_RANGES_FLAG ? 1 : 0);
2477 if(CV_IS_UNIFORM_HIST(hist)){
2478 cvWrite( fs, "mat", &(hist->mat) );
2480 else if(CV_IS_SPARSE_HIST(hist)){
2481 cvWrite( fs, "bins", hist->bins );
2489 dims = cvGetDims( hist->bins, sizes );
2493 cvWriteRawData( fs, hist->thresh[i], 2, "f" );
2498 cvWriteRawData( fs, hist->thresh2[i], sizes[i]+1, "f" );