message: Fix the 'cvflann::anyimpl::bad_any_cast' error using Lsh
diff: @@ -62,11 +62,11 @@ struct LshIndexParams : public IndexParams
  {
  (*this)["algorithm"] = FLANN_INDEX_LSH;
  // The number of hash tables to use
  - (*this)["table_number"] = table_number;
  + (*this)["table_number"] = static_cast<int>(table_number);
  // The length of the key in the hash tables
  - (*this)["key_size"] = key_size;
  + (*this)["key_size"] = static_cast<int>(key_size);
  // Number of levels to use in multi-probe (0 for standard LSH)
  - (*this)["multi_probe_level"] = multi_probe_level;
  + (*this)["multi_probe_level"] = static_cast<int>(multi_probe_level);
  }
  };
  @@ -94,9 +94,9 @@ public:
  {
  // cv::flann::IndexParams sets integer params as 'int', so it is used with get_param
  // in place of 'unsigned int'
  - table_number_ = (unsigned int)get_param<int>(index_params_,"table_number",12);
  - key_size_ = (unsigned int)get_param<int>(index_params_,"key_size",20);
  - multi_probe_level_ = (unsigned int)get_param<int>(index_params_,"multi_probe_level",2);
  + table_number_ = get_param(index_params_,"table_number",12);
  + key_size_ = get_param(index_params_,"key_size",20);
  + multi_probe_level_ = get_param(index_params_,"multi_probe_level",2);
  feature_size_ = (unsigned)dataset_.cols;
  fill_xor_mask(0, key_size_, multi_probe_level_, xor_masks_);
  @@ -112,7 +112,7 @@ public:
  void buildIndex() CV_OVERRIDE
  {
  tables_.resize(table_number_);
  - for (unsigned int i = 0; i < table_number_; ++i) {
  + for (int i = 0; i < table_number_; ++i) {
  lsh::LshTable<ElementType>& table = tables_[i];
  table = lsh::LshTable<ElementType>(feature_size_, key_size_);
  @@ -378,11 +378,11 @@ private:
  IndexParams index_params_;
  /** table number */
  - unsigned int table_number_;
  + int table_number_;
  /** key size */
  - unsigned int key_size_;
  + int key_size_;
  /** How far should we look for neighbors in multi-probe LSH */
  - unsigned int multi_probe_level_;
  + int multi_probe_level_;
  /** The XOR masks to apply to a key to get the neighboring buckets */
  std::vector<lsh::BucketKey> xor_masks_;
  