template<class ArrayT>
Definition at line 17 of file MakeRoi.h. References Impala::Core::Geometry::Rectangle::Height(), Impala::Core::Geometry::Rectangle::mBottom, Impala::Core::Geometry::Rectangle::mLeft, Impala::Core::Geometry::Rectangle::mRight, Impala::Core::Geometry::Rectangle::mTop, SetPart(), and Impala::Core::Geometry::Rectangle::Width(). Referenced by Impala::Core::Feature::InterestPointFeature::FindInterestPoints(), Impala::Core::VideoSet::BlackFrameProc::HandleNewFrame(), Impala::Core::VideoSet::BlackFrameDetect::HandleNewFrame(), Impala::Core::Feature::VisSem::ImageStat(), Impala::Core::Histogram::MakeCooccurenceMatrix(), Impala::Core::Histogram::MakeHistogram1d(), Impala::Core::Histogram::MakeHistogram2d(), and Impala::Core::Feature::MakePatch(). 00018 { 00019 /* check for rectangles outside the valid memory range */ 00020 if((rect.mLeft < - src->BW()) || 00021 (rect.mTop < - src->BH()) || 00022 (rect.mRight >= src->CW() + src->BW()) || 00023 (rect.mBottom >= src->CH() + src->BH()) ) { 00024 00025 std::cerr << "[ERROR] Segfault highly likely due to too small border in MakeRoi (therefore aborted): " << 00026 "left=" << rect.mLeft <<"; limit="<< - src->BW() <<"; top="<< 00027 rect.mTop <<"; limit="<< - src->BH() <<"; right="<< 00028 rect.mRight <<"; limit="<< src->CW() + src->BW() <<"; bottom="<< 00029 rect.mBottom <<"; limit="<< src->CH() + src->BH() << std::endl; 00030 /* refuse to work in this case */ 00031 return 0; 00032 } 00033 00034 ArrayT* roi = new ArrayT(rect.Width(), rect.Height(), 0, 0); 00035 SetPart(roi, src, rect.mLeft, rect.mTop, rect.Width(), rect.Height(), 0, 0); 00036 return roi; 00037 }
Here is the call graph for this function:
|