Articles of opencv

在当前OpenCV中的lib文件夹(或其replace)在哪里?

我正在为一个为旧版OpenCV编写的书(PACT的OpenCV 2计算机视觉),它告诉我在创build一个新的属性表时在我的Visual Studio 2013 Property Manager中包含lib文件夹。 在当前的GitHub版本(opencv-master,OpenCV 3.1.x)中没有看到名为lib的目录。 这个文件夹是否被别的东西取代了? 我用cmake构build了OpenCV。 我发现一个4岁的未答复的问题,其中有人也在寻找这个文件夹。 他们试图从另一个不再存在的目录中build立图书馆,但是这对他们来说不起作用。 另一位OpenCV用户告诉我,GitHub不包括库,所以你必须在本地制作。 我仍然不清楚我在哪里/如何制作它们。 我意识到预构build的二进制文件有这个,但我避免它们,因为我需要opencv_contrib中的SURF函数,所以我需要从源代码构build它。

为什么cvWaitKey(0)不起作用?

我不知道为什么,但出于神秘的原因,我的c + +应用程序不再等待,当它达到cvWaitKey(0)它只是通过这条线,就像这个函数什么都不做! 我也试过cvWaitKey(100000),它不工作… void main() { cvWaitKey(0); return; } 我的项目有点复杂,我使用Visual Studio 2010,它包括opencv ffmpeg pthread winsocks和一些其他库。 你能猜到为什么会这样?

在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的其他计算机上运行共享库吗? 如果是这样,我该怎么做?