fixed empty image fatal error when updating objects on ROS
This commit is contained in:
parent
3476d91bb4
commit
9525a55617
@ -802,8 +802,24 @@ void FindObject::updateObjects(const QList<int> & ids)
|
|||||||
QVector<ExtractFeaturesThread*> threads;
|
QVector<ExtractFeaturesThread*> threads;
|
||||||
for(int k=i; k<i+threadCounts && k<objectsList.size(); ++k)
|
for(int k=i; k<i+threadCounts && k<objectsList.size(); ++k)
|
||||||
{
|
{
|
||||||
threads.push_back(new ExtractFeaturesThread(detector_, extractor_, objectsList.at(k)->id(), objectsList.at(k)->image()));
|
if(!objectsList.at(k)->image().empty())
|
||||||
threads.back()->start();
|
{
|
||||||
|
threads.push_back(new ExtractFeaturesThread(detector_, extractor_, objectsList.at(k)->id(), objectsList.at(k)->image()));
|
||||||
|
threads.back()->start();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
objects_.value(objectsList.at(k)->id())->setData(std::vector<cv::KeyPoint>(), cv::Mat());
|
||||||
|
if(keepImagesInRAM_)
|
||||||
|
{
|
||||||
|
UERROR("Empty image detected for object %d!? No features can be detected.", objectsList.at(k)->id());
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
UWARN("Empty image detected for object %d! No features can be detected. Note that images are in not kept in RAM.", objectsList.at(k)->id());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int j=0; j<threads.size(); ++j)
|
for(int j=0; j<threads.size(); ++j)
|
||||||
|
|||||||
@ -287,6 +287,10 @@ void ObjWidget::updateData(const std::vector<cv::KeyPoint> & keypoints, const QM
|
|||||||
{
|
{
|
||||||
this->setupGraphicsView();
|
this->setupGraphicsView();
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this->update();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjWidget::updateWords(const QMultiMap<int,int> & words)
|
void ObjWidget::updateWords(const QMultiMap<int,int> & words)
|
||||||
|
|||||||
@ -35,7 +35,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
using namespace find_object;
|
using namespace find_object;
|
||||||
|
|
||||||
FindObjectROS::FindObjectROS(const std::string & objFramePrefix, QObject * parent) :
|
FindObjectROS::FindObjectROS(const std::string & objFramePrefix, QObject * parent) :
|
||||||
FindObject(parent),
|
FindObject(true, parent),
|
||||||
objFramePrefix_("object")
|
objFramePrefix_("object")
|
||||||
{
|
{
|
||||||
ros::NodeHandle pnh("~"); // public
|
ros::NodeHandle pnh("~"); // public
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user