Articles of opencv

在Linux上编译一个基本的OpenCV + Cuda程序

我曾经在linux上使用过opencv,但是没有使用cuda。 我已经努力了几个月的以下编译错误。 在尝试了许多解决scheme后,我放弃了使用windows。 不过,我真的想在Linux上工作。 这是我用来编译opencv_gpu网站上给出的阈值示例的命令。 nvcc `pkg-config –libs opencv` -L. -L/usr/local/cuda/lib -lcuda -lcudart `pkg-config –cflags opencv` -I. -I/usr/local/cuda/include threshold.cpp -o threshold 这里是错误的: /tmp/tmpxft_0000171b_00000000-1_threshold.o: In function `main': threshold.cpp:(.text+0x124): undefined reference to `cv::gpu::Stream::Null()' threshold.cpp:(.text+0x156): undefined reference to `cv::gpu::threshold(cv::gpu::GpuMat const&, cv::gpu::GpuMat&, double, double, int, cv::gpu::Stream&)' threshold.cpp:(.text+0x16d): undefined reference to `cv::gpu::GpuMat::download(cv::Mat&) const' /tmp/tmpxft_0000171b_00000000-1_threshold.o: In function `cv::gpu::GpuMat::GpuMat(cv::Mat const&)': threshold.cpp:(.text._ZN2cv3gpu6GpuMatC1ERKNS_3MatE[cv::gpu::GpuMat::GpuMat(cv::Mat const&)]+0x63): […]

使用Opencv直接从networking摄像头获取灰度图像

由于在我的embedded式应用程序中,我需要灰度图像,为了节省时间,我试图直接从networking摄像头获取帧,而不需要从RGB格式转换中获取帧。 我find的例子获取RGB中的帧,然后将其转换 cvCvtColor(im_rgb,im_gray,CV_RGB2GRAY) 谢谢。

如何在Linux上写虚拟摄像头?

我想从一个真实的networking摄像头捕捉video,使用openCv应用filter,并将过滤后的video写入虚拟摄像头,在networking上进行stream式传输。 我没有第一个2分的问题,但我不知道如何在虚拟摄像头上写字。 这是可能的? 我该怎么做? 我在Debian上使用openCv和C ++ 。 谢谢

使用giflib提取帧segfault C ++

我实际上试图从下面的代码使用giflib从gifFile提取图像。 t_gif initGif(const char *filename){ t_gif gif; int *error; GifFileType *GifFile = DGifOpenFileName(filename, error); assert(error != NULL); int ret = DGifSlurp(GifFile); assert(ret == GIF_OK); gif.h = (int)GifFile->SHeight; gif.w = GifFile->SWidth; gif.nbFrames = GifFile->ImageCount; gif.colorSize = GifFile->SColorResolution; GifImageDesc Image = GifFile->Image; SavedImage *img = &GifFile->SavedImages[0]; cout << "width: " << gif.w << endl; cout << "height: […]

一个USB2.0集线器上的两个networking摄像头 – 在Windows而不是Linux下工作

下面的openCV代码可以从两台摄像机获取同步图像。 它在Windows中工作正常,相机都连接到一个USB 2.0集线器。 当我在linux上尝试相同的代码时,一次只有一个摄像头的带宽足够大。 我也试着用guvcview同时查看这两个stream。 我需要的是一些强制摄像头一起工作的方式,可能是通过设置驱动程序请求的带宽量。 capture = cv.CaptureFromCAM(0) capture2 = cv.CaptureFromCAM(1) while True: frame = cv.QueryFrame(capture) frame2 = cv.QueryFrame(capture2) cv.ShowImage("w1", frame) cv.ShowImage("w2", frame2) if cv.WaitKey(10) != -1: break

如何在MJPG opencv捕捉摄像头的video

我已经买了两台Genius facecam 1000x摄像机,并试图build立一个立体摄像机,摄像机的v4l2-ctl输出如下: ioctl: VIDIOC_ENUM_FMT Index : 0 Type : Video Capture Pixel Format: 'YUYV' Name : YUYV 4:2:2 Index : 1 Type : Video Capture Pixel Format: 'MJPG' (compressed) Name : Motion-JPEG 正如你所看到的像素格式MJPG是支持的,从这个这个像素格式是必要的,但是当我尝试从两个摄像头捕获video的VIDIOC_STREAMON: No space left on device错误仍然发生的第二个相机,我只能以320×240分辨率获得立体声video! 我尝试了以下两个,但不适合我。 v4l2-ctl –set-fmt-video=width=640,height=480,pixelformat=1 将FOURCC设置为MJPG会导致HIGHGUI ERROR: V4L: Property <unknown property string>(6) not supported by device错误HIGHGUI ERROR: V4L: […]

CMake为Tesseract和OpenCV

我是Linux编程的新手,我正在尝试使用Tesseract和OpenCV在Ubuntu 12.10上创build一个OCR应用程序。 到目前为止,我已经在Linux上设置了tesseract和OpenCV ,我也按照这个教程 ,在本教程中,我发现创build一个文件CMakeList.txt并链接OpenCV非常简单。 现在我正在尝试使用此代码编译tesseract-ocr库。 据我所知,我没有在tesseract-ocr和我的代码之间build立链接,这就是为什么我有错误。 所有我想要和search的是,如果我可以在一个文件中使用CMake链接Tesseract和OpenCV ,如果可能的话。 一个教程将是好的,因为我是完全新的Linux。 提前致谢

如何编译独立的OpenCV可执行文件?

我编译我的OpenCV程序如下: g++ `pkg-config –cflags opencv –libs opencv` <filename>.cpp 它在我的电脑上完美运行。 我可以单独使用程序来编译共享库,以便可以在没有opencv的其他计算机上运行共享库吗? 如果是这样,我该怎么做?

在CentOS上用Python模块安装OpenCV出错了

当我运行这个命令来安装Python模块的OpenCV cmake ../ -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_EXAMPLES=ON -DBUILD_NEW_PYTHON_SUPPORT=ON -DINSTALL_PYTHON_EXAMPLES=ON -DPYTHON_EXECUTABLE=/usr/local/bin/python2.7 -DPYTHON_INCLUDE_DIR=/usr/local/include/python2.7/ -DPYTHON_LIBRARY=/usr/local/lib/python2.7/config/libpython2.7.a -DPYTHON_NUMPY_INCLUDE_DIR=/usr/local/lib/python2.7/site-packages/numpy/core/include/ -DPYTHON_PACKAGES_PATH=/usr/local/lib/python2.7/site-packages/ -DBUILD_PYTHON_SUPPORT=ON 我得到这个错误消息。 /usr/bin/ld: /usr/local/lib/python2.7/config/libpython2.7.a(abstract.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a shared object; recompile with -fPIC /usr/local/lib/python2.7/config/libpython2.7.a: could not read symbols: Bad value collect2: ld returned 1 exit status make[2]: *** [lib/cv2.so] Error 1 make[1]: *** [modules/python/CMakeFiles/opencv_python.dir/all] Error […]

0 NATIVE_LIBRARY_NAME无法parsing或不是Linux + Eclipse + Java的字段

Core.NATIVE_LIBRARY_NAME出现以下错误: 堆栈跟踪: Exception in thread "main" java.lang.Error: Unresolved compilation problem: NATIVE_LIBRARY_NAME cannot be resolved or is not a field at MyVideoCap.main(MyVideoCap.java:7) 我已经在以下位置安置了NativLibrarypath。 /home/…/OpenCV/opencv-2.4.5/build/lib 我已经按照https://www.openshift.com/blogs/day-12-opencv-face-detection-for-java-developers上的指示,但它不会创build任何我正在处理的opencv2.4.9.jar文件Ubuntu 12和Eclipse与OpenCV API支持。 所以帮助我,如果你可以生成和构build在Ubuntu的构build目录中的jar文件。 提前致谢…