1D SparseMat::ptr implementation missing (Bug #1574)


Added by mfe - about 13 years ago. Updated almost 13 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:core
Target version:2.4.0
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

There is a header for 1D SparseMat ptr in core.hpp

//! returns pointer to the specified element (1D case)
uchar* ptr(int i0, bool createMissing, size_t* hashval=0);

but the implementation in matrix.cpp is missing. This results in linker errors as soon as any of ptr, ref, value, find for 1D sparse arrays is used. Current workaround is to use the nD version by using a reference to the index:

int size = {10};
SparseMat_<float> a_sparse_vector(1, size);
int index_to_sparse_vector = 5;
a_sparse_vector.ref(&index_to_sparse_vector) = 0.1f;

Normally, this should work:
a_sparse_vector.ref(5) = 0.1f;
but it does not due to the missing implementation.


Associated revisions

Revision ae851af6
Added by Roman Donchenko over 11 years ago

Merge pull request #1574 from alalek:svm_workaround

Revision e8451848
Added by Alexander Alekhin over 11 years ago

Merge remote-tracking branch 'upstream/2.4' into merge-2.4

  • #1538 from StevenPuttemans:bugfix_3283
  • #1545 from alalek:ocl_test_fix_rng
  • #1551 from alalek:cmake_install_win
  • #1570 from ilya-lavrenov:ipp_warn_fix
  • #1573 from alalek:perf_simple_strategy
  • #1574 from alalek:svm_workaround
  • #1576 from alalek:ocl_fix_cl_double
  • #1577 from ilya-lavrenov:ocl_setto_opencl12
  • #1578 from asmorkalov:android_fd_cp_fix
  • #1579 from ilya-lavrenov:ocl_norm
  • #1582 from sperrholz:ocl-arithm-additions
  • #1586 from ilya-lavrenov:ocl_setto_win_fix
  • #1589 from ilya-lavrenov:pr1582_fix
  • #1591 from alalek:ocl_remove_cl_hpp_h
  • #1592 from alalek:ocl_program_cache_update
  • #1593 from ilya-lavrenov:ocl_war_on_double
  • #1594 from ilya-lavrenov:ocl_perf
  • #1595 from alalek:cl_code_cleanup
  • #1596 from alalek:test_fix_run_py
  • #1597 from alalek:ocl_fix_cleanup
  • #1598 from alalek:ocl_fix_build_mac
  • #1599 from ilya-lavrenov:ocl_mac_kernel_warnings
  • #1601 from ilya-lavrenov:ocl_fix_tvl1_and_sparse
  • #1602 from alalek:ocl_test_dump_info
  • #1603 from ilya-lavrenov:ocl_disable_svm_noblas
  • #1605 from alalek:ocl_fixes
  • #1606 from ilya-lavrenov:ocl_imgproc
  • #1607 from ilya-lavrenov:ocl_fft_cleanup
  • #1608 from alalek:fix_warn_upd_haar
  • #1609 from ilya-lavrenov:ocl_some_optimization
  • #1610 from alalek:ocl_fix_perf_kalman
  • #1612 from alalek:ocl_fix_string_info
  • #1614 from ilya-lavrenov:ocl_svm_misprint
  • #1616 from ilya-lavrenov:ocl_cvtColor
  • #1617 from ilya-lavrenov:ocl_info
  • #1622 from a0byte:2.4
  • #1625 from ilya-lavrenov:to_string

Conflicts:
cmake/OpenCVConfig.cmake
cmake/OpenCVDetectPython.cmake
cmake/OpenCVGenConfig.cmake
modules/core/CMakeLists.txt
modules/nonfree/src/surf.ocl.cpp
modules/ocl/include/opencv2/ocl/ocl.hpp
modules/ocl/include/opencv2/ocl/private/util.hpp
modules/ocl/perf/main.cpp
modules/ocl/src/arithm.cpp
modules/ocl/src/cl_operations.cpp
modules/ocl/src/cl_programcache.cpp
modules/ocl/src/color.cpp
modules/ocl/src/fft.cpp
modules/ocl/src/filtering.cpp
modules/ocl/src/gemm.cpp
modules/ocl/src/haar.cpp
modules/ocl/src/imgproc.cpp
modules/ocl/src/matrix_operations.cpp
modules/ocl/src/pyrlk.cpp
modules/ocl/src/split_merge.cpp
modules/ocl/src/svm.cpp
modules/ocl/test/main.cpp
modules/ocl/test/test_fft.cpp
modules/ocl/test/test_moments.cpp
modules/ocl/test/test_objdetect.cpp
modules/ocl/test/test_optflow.cpp
modules/ocl/test/utility.hpp
modules/python/CMakeLists.txt
modules/ts/include/opencv2/ts.hpp
modules/ts/src/ts_perf.cpp
samples/android/face-detection/jni/DetectionBasedTracker_jni.cpp

History

Updated by Alexander Shishkov about 13 years ago

  • Description changed from There is a header for 1D [[SparseMat]] ptr in core.hpp //! returns point... to There is a header for 1D SparseMat ptr in core.hpp //! returns pointer t... More

Updated by Alexander Shishkov almost 13 years ago

  • Target version deleted ()

Updated by Alexander Shishkov almost 13 years ago

  • Assignee deleted (Vadim Pisarevsky)

Updated by Vadim Pisarevsky almost 13 years ago

thanks for the report! the problem has been fixed in SVN trunk, r7663

  • Status changed from Open to Done
  • Assignee set to Vadim Pisarevsky

Updated by Alexander Shishkov almost 13 years ago

  • Target version set to 2.4.0

Also available in: Atom PDF