Home | History | Annotate | Download | only in src

Lines Matching full:hist

53 calcHistLookupTables_8u( const Mat& hist, const SparseMat& shist,
68 int sz = !issparse ? hist.size[i] : shist.size(i);
69 size_t step = !issparse ? hist.step[i] : 1;
89 int idx = -1, sz = !issparse ? hist.size[i] : shist.size(i);
91 size_t step = !issparse ? hist.step[i] : 1;
218 Mat& hist, const double* _uniranges, int sz, int dims,
223 histogramSize_(hist.size()), histogramType_(hist.type()),
224 globalHistogram_((tbb::atomic<int>*)hist.data)
292 Mat& hist, const double* _uniranges, const int* size,
297 histogramSize_(hist.size()), histogramType_(hist.type()),
298 globalHistogram_(hist.data)
368 Size imsize, Mat& hist, const double* uniranges, int _dims,
373 globalHistogram_(hist.data)
456 Size imsize, Mat& hist, int dims, const std::vector<size_t>& tab,
462 histSize_(hist.size()), histType_(hist.type()),
465 globalHistogram_(hist.data)
577 Size imsize, Mat& hist, int dims, const std::vector<size_t>& _tab,
582 histSize_(hist.size()), histType_(hist.type()),
585 globalHistogram_(hist.data)
662 Size imsize, Mat& hist, int dims, const std::vector<size_t>& tab )
665 histogramSize_(hist.size.p), histogramType_(hist.type()),
668 globalHistogram_(hist.data)
731 Size imsize, Mat& hist, int dims, std::vector<size_t>& _tab )
736 CalcHist2D_8uInvoker body(_ptrs, _deltas, imsize, hist, dims, _tab, &histogramWriteLock);
742 Size imsize, Mat& hist, int dims, std::vector<size_t>& _tab )
744 CalcHist3D_8uInvoker body(_ptrs, _deltas, imsize, hist, dims, _tab);
751 Size imsize, Mat& hist, int dims, const float** _ranges,
756 uchar* H = hist.ptr();
765 size[i] = hist.size[i];
766 hstep[i] = hist.step[i];
776 calcHist1D_Invoker<T> body(_ptrs, _deltas, hist, _uniranges, size[0], dims, imsize);
807 calcHist2D_Invoker<T> body(_ptrs, _deltas, hist, _uniranges, size, dims, imsize, hstep);
844 if( calcHist3D_Invoker<T>::isFit(hist, imsize) )
846 calcHist3D_Invoker<T> body(_ptrs, _deltas, imsize, hist, uniranges, dims, hstep, size);
986 Size imsize, Mat& hist, int dims, const float** _ranges,
991 uchar* H = hist.ptr();
997 calcHistLookupTables_8u( hist, SparseMat(), dims, _ranges, _uniranges, uniform, false, _tab );
1003 if( CalcHist1D_8uInvoker::isFit(hist, imsize) )
1009 CalcHist1D_8uInvoker body(_ptrs, _deltas, imsize, hist, dims, _tab, &histogramWriteLock);
1063 if( CalcHist2D_8uInvoker::isFit(hist, imsize) )
1065 callCalcHist2D_8u(_ptrs, _deltas, imsize, hist, dims, _tab);
1095 if( CalcHist3D_8uInvoker::isFit(hist, imsize) )
1097 callCalcHist3D_8u(_ptrs, _deltas, imsize, hist, dims, _tab);
1185 ParallelLoopBody(), src(&_src), hist(&_hist), levels(&_levels), histSize(_histSize), low(_low), high(_high), ok(_ok)
1192 Mat phist(hist->size(), hist->type(), Scalar::all(0));
1206 CV_XADD((int *)(hist->data + i * hist->step), *(int *)(phist.data + i * phist.step));
1211 Mat * hist;
1233 Mat hist = _hist.getMat(), ihist = hist;
1258 ihist.convertTo(hist, CV_32F);
1267 if( !accumulate || histdata != hist.data )
1268 hist = Scalar(0.);
1270 hist.convertTo(ihist, CV_32S);
1278 histPrepareImages( images, nimages, channels, mask, dims, hist.size, ranges,
1293 ihist.convertTo(hist, CV_32F);
1302 Size imsize, SparseMat& hist, int dims, const float** _ranges,
1310 const int* size = hist.hdr->size;
1332 ++*(int*)hist.ptr(idx, true);
1371 ++*(int*)hist.ptr(idx, true);
1386 Size imsize, SparseMat& hist, int dims, const float** _ranges,
1397 calcHistLookupTables_8u( Mat(), hist, dims, _ranges, _uniranges, uniform, true, _tab );
1416 ++*(int*)hist.ptr(idx,true);
1428 const Mat& mask, SparseMat& hist, int dims, const int* histSize,
1434 hist.create(dims, histSize, CV_32F);
1437 SparseMatIterator it = hist.begin();
1438 for( i = 0, N = hist.nzcount(); i < N; i++, ++it )
1451 histPrepareImages( images, nimages, channels, mask, dims, hist.hdr->size, ranges,
1457 calcSparseHist_8u(ptrs, deltas, imsize, hist, dims, ranges, _uniranges, uniform );
1459 calcSparseHist_<ushort>(ptrs, deltas, imsize, hist, dims, ranges, _uniranges, uniform );
1461 calcSparseHist_<float>(ptrs, deltas, imsize, hist, dims, ranges, _uniranges, uniform );
1467 SparseMatIterator it = hist.begin();
1468 for( i = 0, N = hist.nzcount(); i < N; i++, ++it )
1502 hist = _hist.getUMat();
1520 ocl::KernelArg::WriteOnlyNoSize(hist));
1525 static bool ocl_calcHist(InputArrayOfArrays images, OutputArray hist)
1530 return ocl_calcHist1(v[0], hist, CV_32F);
1538 InputArray _mask, SparseMat& hist, int dims, const int* histSize,
1542 calcHist( images, nimages, channels, mask, hist, dims, histSize,
1548 InputArray mask, OutputArray hist,
1557 ocl_calcHist(images, hist))
1577 mask, hist, dims, &histSize[0], rsz ? (const float**)_ranges : 0,
1589 Size imsize, const Mat& hist, int dims, const float** _ranges,
1594 const uchar* H = hist.ptr();
1603 size[i] = hist.size[i];
1604 hstep[i] = hist.step[i];
1754 Size imsize, const Mat& hist, int dims, const float** _ranges,
1759 const uchar* H = hist.ptr();
1765 calcHistLookupTables_8u( hist, SparseMat(), dims, _ranges, _uniranges, uniform, false, _tab );
1880 Mat hist = _hist.getMat();
1885 int dims = hist.dims == 2 && hist.size[1] == 1 ? 1 : hist.dims;
1887 CV_Assert( dims > 0 && !hist.empty() );
1890 histPrepareImages( images, nimages, channels, backProject, dims, hist.size, ranges,
1896 calcBackProj_8u(ptrs, deltas, imsize, hist, dims, ranges, _uniranges, (float)scale, uniform);
1898 calcBackProj_<ushort, ushort>(ptrs, deltas, imsize, hist, dims, ranges, _uniranges, (float)scale, uniform );
1900 calcBackProj_<float, float>(ptrs, deltas, imsize, hist, dims, ranges, _uniranges, (float)scale, uniform );
1911 Size imsize, const SparseMat& hist, int dims, const float** _ranges,
1919 const int* size = hist.hdr->size;
1921 const SparseMat_<float>& hist_ = (const SparseMat_<float>&)hist;
1996 Size imsize, const SparseMat& hist, int dims, const float** _ranges,
2007 calcHistLookupTables_8u( Mat(), hist, dims, _ranges, _uniranges, uniform, true, _tab );
2024 bproj[x] = saturate_cast<uchar>(hist.value<float>(idx)*scale);
2040 const SparseMat& hist, OutputArray _backProject,
2047 int dims = hist.dims();
2053 dims, hist.hdr->size, ranges,
2059 calcSparseBackProj_8u(ptrs, deltas, imsize, hist, dims, ranges,
2062 calcSparseBackProj_<ushort, ushort>(ptrs, deltas, imsize, hist, dims, ranges,
2065 calcSparseBackProj_<float, float>(ptrs, deltas, imsize, hist, dims, ranges,
2142 UMat lut(1, (int)lsize, CV_32SC1), hist = _hist.getUMat(), uranges(ranges, true);
2144 lutk.args(ocl::KernelArg::ReadOnlyNoSize(hist), hist.rows,
2178 UMat lut(1, (int)lsize<<1, CV_32SC1), uranges(ranges, true), hist = _hist.getUMat();
2180 lutk1.args(hist.rows, ocl::KernelArg::PtrWriteOnly(lut), (int)0, ocl::KernelArg::PtrReadOnly(uranges), (int)0);
2190 lutk2.args(hist.cols, ocl::KernelArg::PtrWriteOnly(lut), (int)256, ocl::KernelArg::PtrReadOnly(uranges), (int)2);
2205 ocl::KernelArg::ReadOnlyNoSize(hist), ocl::KernelArg::PtrReadOnly(lut), scale, ocl::KernelArg::WriteOnly(dst));
2218 InputArray hist, OutputArray dst,
2223 Size histSize = hist.size();
2225 size_t histdims = _1D ? 1 : hist.dims();
2228 CV_OCL_RUN(dst.isUMat() && hist.type() == CV_32FC1 &&
2230 ocl_calcBackProject(images, channels, hist, dst, ranges, (float)scale, histdims))
2232 Mat H0 = hist.getMat(), H;
2266 hist, dst, rsz ? (const float**)_ranges : 0, scale, true);
2596 CvHistogram *hist = 0;
2604 hist = (CvHistogram *)cvAlloc( sizeof( CvHistogram ));
2605 hist->type = CV_HIST_MAGIC_VAL + ((int)type & 1);
2606 if (uniform) hist->type|= CV_HIST_UNIFORM_FLAG;
2607 hist->thresh2 = 0;
2608 hist->bins = 0;
2611 hist->bins = cvInitMatNDHeader( &hist->mat, dims, sizes,
2613 cvCreateData( hist->bins );
2616 hist->bins = cvCreateSparseMat( dims, sizes, CV_HIST_DEFAULT_TYPE );
2621 cvSetHistBinRanges( hist, ranges, uniform );
2623 return hist;
2629 cvMakeHistHeaderForArray( int dims, int *sizes, CvHistogram *hist,
2632 if( !hist )
2638 hist->thresh2 = 0;
2639 hist->type = CV_HIST_MAGIC_VAL;
2640 hist->bins = cvInitMatNDHeader( &hist->mat, dims, sizes, CV_HIST_DEFAULT_TYPE, data );
2647 cvSetHistBinRanges( hist, ranges, uniform );
2650 return hist;
2655 cvReleaseHist( CvHistogram **hist )
2657 if( !hist )
2660 if( *hist )
2662 CvHistogram* temp = *hist;
2666 *hist = 0;
2683 cvClearHist( CvHistogram *hist )
2685 if( !CV_IS_HIST(hist) )
2687 cvZero( hist->bins );
2693 cvThreshHist( CvHistogram* hist, double thresh )
2695 if( !CV_IS_HIST(hist) )
2698 if( !CV_IS_SPARSE_MAT(hist->bins) )
2701 cvGetMat( hist->bins, &mat, 0, 1 );
2706 CvSparseMat* mat = (CvSparseMat*)hist->bins;
2723 cvNormalizeHist( CvHistogram* hist, double factor )
2727 if( !CV_IS_HIST(hist) )
2730 if( !CV_IS_SPARSE_HIST(hist) )
2733 cvGetMat( hist->bins, &mat, 0, 1 );
2741 CvSparseMat* mat = (CvSparseMat*)hist->bins;
2767 cvGetMinMaxHistValue( const CvHistogram* hist,
2774 if( !CV_IS_HIST(hist) )
2777 dims = cvGetDims( hist->bins, size );
2779 if( !CV_IS_SPARSE_HIST(hist) )
2784 cvGetMat( hist->bins, &mat, 0, 1 );
2826 CvSparseMat* mat = (CvSparseMat*)hist->bins;
3112 cvSetHistBinRanges( CvHistogram* hist, float** ranges, int uniform )
3120 if( !CV_IS_HIST(hist) )
3123 dims = cvGetDims( hist->bins, size );
3133 hist->thresh[i][0] = ranges[i][0];
3134 hist->thresh[i][1] = ranges[i][1];
3137 hist->type |= CV_HIST_UNIFORM_FLAG + CV_HIST_RANGES_FLAG;
3143 if( !hist->thresh2 )
3145 hist->thresh2 = (float**)cvAlloc(
3146 dims*sizeof(hist->thresh2[0])+
3147 total*sizeof(hist->thresh2[0][0]));
3149 dim_ranges = (float*)(hist->thresh2 + dims);
3166 hist->thresh2[i] = dim_ranges;
3170 hist->type |= CV_HIST_RANGES_FLAG;
3171 hist->type &= ~CV_HIST_UNIFORM_FLAG;
3177 cvCalcArrHist( CvArr** img, CvHistogram* hist, int accumulate, const CvArr* mask )
3179 if( !CV_IS_HIST(hist))
3186 int i, dims = cvGetDims( hist->bins, size);
3187 bool uniform = CV_IS_UNIFORM_HIST(hist);
3200 if( hist->type & CV_HIST_RANGES_FLAG )
3202 ranges = (const float**)hist->thresh2;
3206 uranges[i] = &hist->thresh[i][0];
3211 if( !CV_IS_SPARSE_HIST(hist) )
3213 cv::Mat H = cv::cvarrToMat(hist->bins);
3215 H, cvGetDims(hist->bins), H.size, ranges, uniform, accumulate != 0 );
3219 CvSparseMat* sparsemat = (CvSparseMat*)hist->bins;
3222 cvZero( hist->bins );
3240 cvCalcArrBackProject( CvArr** img, CvArr* dst, const CvHistogram* hist )
3242 if( !CV_IS_HIST(hist))
3249 int i, dims = cvGetDims( hist->bins, size );
3251 bool uniform = CV_IS_UNIFORM_HIST(hist);
3255 if( hist->type & CV_HIST_RANGES_FLAG )
3257 ranges = (const float**)hist->thresh2;
3261 uranges[i] = &hist->thresh[i][0];
3274 if( !CV_IS_SPARSE_HIST(hist) )
3276 cv::Mat H = cv::cvarrToMat(hist->bins);
3283 ((const CvSparseMat*)hist->bins)->copyToSparseMat(sH);
3293 cvCalcArrBackProjectPatch( CvArr** arr, CvArr* dst, CvSize patch_size, CvHistogram* hist,
3305 if( !CV_IS_HIST(hist))
3318 dims = cvGetDims( hist->bins );
3319 cvNormalizeHist( hist, norm_factor );
3339 cvCopyHist( hist, &model );
3356 result = cvCompareHist( model, hist, method );
3400 cvCalcProbDensity( const CvHistogram* hist, const CvHistogram* hist_mask,
3406 if( !CV_IS_HIST(hist) || !CV_IS_HIST(hist_mask) || !CV_IS_HIST(hist_dens) )
3410 CvArr* arrs[] = { hist->bins, hist_mask->bins, hist_dens->bins };
3639 int hist[hist_sz] = {0,};
3642 EqualizeHistCalcHist_Invoker calcBody(src, hist, &histogramLockInstance);
3652 while (!hist[i]) ++i;
3655 if (hist[i] == total)
3661 float scale = (hist_sz - 1.f)/(total - hist[i]);
3666 sum += hist[i];
3679 #define CV_TYPE_NAME_HIST "opencv-hist"
3785 const CvHistogram * hist = (const CvHistogram *) struct_ptr;
3793 is_uniform = (CV_IS_UNIFORM_HIST(hist) ? 1 : 0);
3794 have_ranges = (hist->type & CV_HIST_RANGES_FLAG ? 1 : 0);
3796 cvWriteInt( fs, "type", (hist->type & 1) );
3799 if(!CV_IS_SPARSE_HIST(hist))
3800 cvWrite( fs, "mat", &(hist->mat) );
3802 cvWrite( fs, "bins", hist->bins );
3806 dims = cvGetDims( hist->bins, sizes );
3810 cvWriteRawData( fs, hist->thresh[i], 2, "f" );
3815 cvWriteRawData( fs, hist->thresh2[i], sizes[i]+1, "f" );