2016-02-24 22:28:49 -0600
| received badge | ● Popular Question
(source)
|
2013-07-19 14:01:23 -0600
| commented question | How to give a hint to Stitcher about input images? Probably, using ROI in stitcher can help you. |
2013-07-19 13:53:50 -0600
| commented question | Creating a panorama from multiple images. How to reduce calculation time? |
2013-07-19 13:50:33 -0600
| commented question | CUDA vs OpenCL which does OpenCV support better? |
2013-07-15 17:38:48 -0600
| asked a question | Disable default LZW in OpenCV for tiff-images How to disable default LZW compression for libtiff in OpenCV246? If I change grfmt_tiff.cpp
-int compression = COMPRESSION_LZW;
+int compression = COMPRESSION_NONE;
my output tiff files always 116 bytes long. |
2013-07-12 11:41:11 -0600
| answered a question | Is stitching module able to stitch images taken from a parallel motion camera ? I'm using stitching module (OpenCV246) to combine images from 6 cameras on one shelf. Results is good, but unpredictable (son stable) - each run my program with the same input data can generate different results. |
2013-07-11 11:47:40 -0600
| asked a question | Speedup stitching Now for stitching 6 images (1280*960) I spend 5 - 10 seconds, each run different time.
And when it tooks 10 secs I've got result.tif with size 158 bytes (header only?). LARGE_INTEGER frequency; // ticks per second
LARGE_INTEGER t1, t2; // ticks
double elapsedTime;
[...] QueryPerformanceCounter(&t1);
Stitcher stitcher = Stitcher::createDefault(false);
Stitcher::Status status = stitcher.stitch(imgs, rois, pano);
if (status != Stitcher::OK)
{
cout << "Can't stitch images, error code = " << status << endl;
return -1;
}
QueryPerformanceCounter(&t2);
elapsedTime = (t2.QuadPart - t1.QuadPart) * 1000.0 / frequency.QuadPart;
printf("%.6f ms",elapsedTime);
imwrite(result_name, pano); [...]
And I have a two questions. (1) Why it (different computation time) happened (2) Is it possible to improve the speed? PS: Unfortunately, I can't simply use true flag in Stitcher::createDefault, because my roi size is small (170x960), and as I know this is the issue for GPU SURF functions. But may be it's possible to use TBB or GPU in other sipmle steps (like cv::detail::BestOf2NearestMatcher)? PPS: I'm, already tried to play with registrationResol, it helps a little, but not much. |
2013-06-28 12:55:55 -0600
| asked a question | Compile OpenCV 245 for Win7 x64 with MSVC 2010 (x86) and CUDA Could you please advice.
My build is successful except error below, looks like OpenCL library is missing, right? 3>Link:
3> Creating library C:/Users/nikolay/Downloads/opencv/mybuild/lib/Release/opencv_ocl245.lib and object C:/Users/nikolay/Downloads/opencv/mybuild/lib/Release/opencv_ocl245.exp
3>matrix_operations.obj : error LNK2001: unresolved external symbol _clReleaseMemObject@4
3>mcwutil.obj : error LNK2001: unresolved external symbol _clReleaseMemObject@4
3>arithm.obj : error LNK2019: unresolved external symbol _clReleaseMemObject@4 referenced in function "int __cdecl cv::ocl::countNonZero(class cv::ocl::oclMat const &)" (?countNonZero@ocl@cv@@YAHABVoclMat@12@@Z)
3>haar.obj : error LNK2001: unresolved external symbol _clReleaseMemObject@4
3>imgproc.obj : error LNK2001: unresolved external symbol _clReleaseMemObject@4
3>initialization.obj : error LNK2001: unresolved external symbol _clReleaseMemObject@4
3>mcwutil.obj : error LNK2001: unresolved external symbol _clCreateBuffer@24
3>canny.obj : error LNK2019: unresolved external symbol _clCreateBuffer@24 referenced in function "public: void __thiscall cv::ocl::CannyBuf::create(class cv::Size_<int> const &,int)" (?create@CannyBuf@ocl@cv@@QAEXABV?$Size_@H@3@H@Z)
3>imgproc.obj : error LNK2001: unresolved external symbol _clCreateBuffer@24
3>initialization.obj : error LNK2001: unresolved external symbol _clCreateBuffer@24
3>matrix_operations.obj : error LNK2001: unresolved external symbol _clCreateBuffer@24
3>canny.obj : error LNK2019: unresolved external symbol _clEnqueueWriteBuffer@36 referenced in function "void __cdecl cv::ocl::canny::edgesHysteresisGlobal_gpu(class cv::ocl::oclMat &,class cv::ocl::oclMat &,class cv::ocl::oclMat &,void *,int,int)" (?edgesHysteresisGlobal_gpu@canny@ocl@cv@@YAXAAVoclMat@23@00PAXHH@Z)
3>haar.obj : error LNK2001: unresolved external symbol _clEnqueueWriteBuffer@36
3>imgproc.obj : error LNK2001: unresolved external symbol _clEnqueueWriteBuffer@36
3>initialization.obj : error LNK2001: unresolved external symbol _clEnqueueWriteBuffer@36
3>canny.obj : error LNK2019: unresolved external symbol _clEnqueueReadBuffer@36 referenced in function "void __cdecl cv::ocl::canny::edgesHysteresisGlobal_gpu(class cv::ocl::oclMat &,class cv::ocl::oclMat &,class cv::ocl::oclMat &,void *,int,int)" (?edgesHysteresisGlobal_gpu@canny@ocl@cv@@YAXAAVoclMat@23@00PAXHH@Z)
3>initialization.obj : error LNK2001: unresolved external symbol _clEnqueueReadBuffer@36
3>haar.obj : error LNK2019: unresolved external symbol _clEnqueueUnmapMemObject@24 referenced in function "public: struct CvSeq * __thiscall cv::ocl::OclCascadeClassifier::oclHaarDetectObjects(class cv::ocl::oclMat &,struct CvMemStorage *,double,int,int,struct CvSize,struct CvSize)" (?oclHaarDetectObjects@OclCascadeClassifier@ocl@cv@@QAEPAUCvSeq@@AAVoclMat@23@PAUCvMemStorage@@NHHUCvSize@@2@Z)
3>haar.obj : error LNK2019: unresolved external symbol _clEnqueueMapBuffer@44 referenced in function "public: struct CvSeq * __thiscall cv::ocl::OclCascadeClassifier::oclHaarDetectObjects(class cv::ocl::oclMat &,struct CvMemStorage *,double,int,int,struct CvSize,struct CvSize)" (?oclHaarDetectObjects@OclCascadeClassifier@ocl@cv@@QAEPAUCvSeq@@AAVoclMat@23@PAUCvMemStorage@@NHHUCvSize@@2@Z)
3>initialization.obj : error LNK2019: unresolved external symbol _clReleaseContext@4 referenced in function "private: void __thiscall cv::ocl::Info::Impl::releaseResources(void)" (?releaseResources@Impl@Info@ocl@cv@@AAEXXZ)
3>initialization.obj : error LNK2019: unresolved external symbol _clReleaseCommandQueue@4 referenced in function "private: void __thiscall cv::ocl::Info::Impl::releaseResources(void)" (?releaseResources@Impl@Info@ocl@cv@@AAEXXZ)
3>initialization.obj : error LNK2019: unresolved external symbol _clEnqueueReadBufferRect@56 referenced in function "void __cdecl cv::ocl::openCLMemcpy2D(class cv::ocl::Context *,void *,unsigned int,void const *,unsigned int,unsigned ... (more) |
2013-02-22 10:28:11 -0600
| asked a question | Why Stitcher module don't use TBB (@OpenCV 243+TBB) I have OpenCV 2.43 compiled with TBB support:
but when I run simple code [..]
Stitcher stitcher = Stitcher::createDefault(true);
Stitcher::Status status = stitcher.stitch(imgs, pano);
[..]
for large images, I can see load only one core of 8 (@Core i7). Why? |
2013-02-17 14:23:53 -0600
| received badge | ● Editor
(source)
|
2013-02-17 14:16:58 -0600
| asked a question | OpenCV configure with TBB for ARM, Ubuntu 12.10 I'm trying to compile OpenCV libs with TBB support for odroid U2 (with Quad core ARM Cortex-A9 MPCore). I have no problem with compile current OpenCV (from github) without TBB. And also I have no problem to compile TBB libs from sources tbb41_20130116oss_src.tgz and I have successfully builded TBB libs: root@odroid:~/src/tbb41_20130116oss/build/linux_armv7l_gcc_cc4.6_libc2.15_kernel3.0.63_release# ls
arena.d concurrent_queue.o frontend.d libtbbmalloc.so.2 proxy.d scheduler.o task_v2.d tbb_thread.d
arena.o concurrent_queue_v2.d frontend.o libtbbmalloc_proxy.so proxy.o semaphore.d task_v2.o tbb_thread.o
backend.d concurrent_queue_v2.o governor.d libtbbmalloc_proxy.so.2 queuing_mutex.d semaphore.o tbb.def tbbmalloc.d
backend.o concurrent_vector.d governor.o market.d queuing_mutex.o spin_mutex.d tbb_function_replacement.d tbbmalloc.def
backref.d concurrent_vector.o itt_notify.d market.o queuing_rw_mutex.d spin_mutex.o tbb_function_replacement.o tbbmalloc.o
backref.o concurrent_vector_v2.d itt_notify.o mutex.d queuing_rw_mutex.o spin_rw_mutex.d tbb_main.d tbbmallocproxy.def
cache_aligned_allocator.d concurrent_vector_v2.o itt_notify_malloc.d mutex.o reader_writer_lock.d spin_rw_mutex.o tbb_main.o tbbvars.csh
cache_aligned_allocator.o condition_variable.d itt_notify_malloc.o observer_proxy.d reader_writer_lock.o spin_rw_mutex_v2.d tbb_misc.d tbbvars.sh
concurrent_hash_map.d condition_variable.o large_objects.d observer_proxy.o recursive_mutex.d spin_rw_mutex_v2.o tbb_misc.o version_string.ver
concurrent_hash_map.o critical_section.d large_objects.o pipeline.d recursive_mutex.o task.d tbb_misc_ex.d
concurrent_monitor.d critical_section.o libtbb.so pipeline.o rml_tbb.d task.o tbb_misc_ex.o
concurrent_monitor.o dynamic_link.d libtbb.so.2 private_server.d rml_tbb.o task_group_context.d tbb_statistics.d
concurrent_queue.d dynamic_link.o libtbbmalloc.so private_server.o scheduler.d task_group_context.o tbb_statistics.o
root@odroid:~/src/tbb41_20130116oss/build/linux_armv7l_gcc_cc4.6_libc2.15_kernel3.0.63_release#
I can compile my own programm with gcc using this TBB libs, but I can't configure OpenCV to see this TBB libs: root@odroid:~/src/work/opencv/release# cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_TBB=ON -D CMAKE_INSTALL_PREFIX=/usr/local ..
-- Detected version of GNU GCC: 46 (406)
-- Found OpenEXR: /usr/lib/libIlmImf.so
-- checking for module 'gstreamer-app-0.10'
-- package 'gstreamer-app-0.10' not found
-- Looking for linux/videodev.h
-- Looking for linux/videodev.h - not found
-- Looking for linux/videodev2.h
-- Looking for linux/videodev2.h - found
-- Looking for sys/videoio.h
-- Looking for sys/videoio.h - not found
-- Looking for libavformat/avformat.h
-- Looking for libavformat/avformat.h - found
-- Looking for ffmpeg/avformat.h
-- Looking for ffmpeg/avformat.h - not found
-- checking for module 'tbb'
-- package 'tbb' not found
[...]
could you explain how I can do this?
Thank you! |