Tag: opencv

OpenCV:如何强制图像窗口出现在其他窗口的顶部?

使用cvShowImage ,可以在OpenCV中轻松显示图像。 但是,您如何告诉OpenCV在每个其他窗口的顶部显示窗口? 我在显示图像时运行全屏OpenGL应用程序。 第一次OpenCV窗口弹出我的应用程序窗口,但如果我点击我的应用程序的窗口(即重点关注它),那么我无法让OpenCV回到顶部OpenGL窗口,即使在销毁和重新创建窗口时也是如此。 我想过每次重命名窗口,但还有其他办法吗?

在OS X 10.9和MATLAB 2012a下使用Xcode 5.1的Mex文件

我正在尝试为OpenCV(3.0.0)编译开发人员构建,但是我无法将我的系统配置为mex C文件。 我试图遵循stackoverflow的建议,目前我可以使用mex c ++文件,但不能使用C ++文件。 我所做的是编辑mexopts.sh以便使用正确的SDKROOT ,我也将部署目标更改为10.9 。 我的mexopts.sh看起来如下: #PATCH: MacOSX10.8 // updated manually to 10.9 CC=’llvm-gcc’ CXX=’llvm-g++’ SDKROOT=’/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/’ #SDKROOT=’/’ MACOSX_DEPLOYMENT_TARGET=’10.9′ ARCHS=’x86_64′ # StorageVersion: 1.0 # CkeyName: GNU C # CkeyManufacturer: GNU # CkeyLanguage: C # CkeyVersion: CFLAGS=”-fno-common -no-cpp-precomp -arch $ARCHS -isysroot $SDKROOT -mmacosx-version-min=$MACOSX_DEPLOYMENT_TARGET” CFLAGS=”$CFLAGS -fexceptions” CLIBS=”$MLIBS” COPTIMFLAGS=’-O2 -DNDEBUG’ CDEBUGFLAGS=’-g’ CLIBS=”$CLIBS -lstdc++” # C++keyName: […]

找到图像的方向

我正在与OpenCv进行模式匹配。 我有一个模型,我将目标与函数cvMatchShapes进行比较。 它有效,但我想知道目标的方向。 我该怎么做?

如何让用户选择OpenCV的video录制设备(网络摄像头)?

所以我需要的是捕获设备列表。 还有一些function可以从用户那里获得他想要传输的设备。 如何在win32 C ++控制台应用程序中使用openCV做这样的事情?

如何/为什么imagedata存储为char – OpenCV

我有点困惑。 我刚刚开始使用OpenCV,它的图像数据由char指针指向。 考虑到实际数据本身可以是任意数量的数据类型,例如uint,float,double,我无法弄清楚它是如何工作的。 据我所知,指针必须与它所代表的指针的类型相同。 值得注意的是openCV是一个C库,我的背景是C ++,所以我不知道如何在C中解决这些需要变量类型的问题。 例如,从学习OpenCV中获取的以下代码说明了我的困惑: void saturate_sv( IplImage* img ) { for( int y=0; yheight; y++ ) { uchar* ptr = (uchar*) ( img->imageData + y * img->widthStep ); for( int x=0; xwidth; x++ ) { ptr[3*x+1] = 255; ptr[3*x+2] = 255; } } } 这样可行,但是当我尝试对IPL_DEPTH_64F类型的iplImage进行操作并使用ptr [3 * x + 1] = 1时结果不正确。 […]

如何使用OpenCv叠加图像?

如何叠加两张图片? 基本上我有一个没有alpha通道的背景,而不是一个或多个alpha通道需要叠加在一起的图像。 我尝试了以下代码,但覆盖结果很可怕: // create our out image Mat merged (info.width, info.height, CV_8UC4); // get layers Mat layer1Image = imread(layer1Path); Mat layer2Image = imread(layer2Path); addWeighted(layer1Image, 0.5, layer2Image, 0.5, 0.0, merged); 我也试过使用合并,但我在某处读到它不支持alpha通道?

在OpenCV中使颜色完全透明

我有一个基本的png文件,里面有两种颜色,绿色和洋红色。 我要做的是拍摄所有洋红色像素并使它们透明,以便我可以将图像合并到另一个图像中。 例如,如果我在洋红色背景上有2D角色的图像文件。 我会删除背景中的所有洋红色,使其透明。 从那里我只需要拍摄角色的图像并将其作为一个图层添加到另一个图像中,这样就可以将角色放置在一个环境中。 提前致谢。

背景和前景在OpencV

我正在使用OpenCV243进行项目,我需要在流中获取前景,我的问题是我使用cv :: absdiff来获得它并没有真正帮助,这是我的代码和结果。 #include #include #include #include #include int main (){ cv::VideoCapture cap(0); cv::Mat frame,frame1,frame2; cap >> frame; frame.copyTo(frame1); cv::imwrite(“background.jpeg”,frame1); int key = 0; while(key!=27){ cap >> frame; cv::absdiff(frame, frame1, frame2); // frame2 = frame -frame1 cv::imshow(“foreground”, frame2); if(key==’c’){ //frame.copyTo(frame2); cv::imwrite(“foreground.jpeg”, frame2); key = 0; } cv::imshow(“frame”,frame); key = cv::waitKey(10); } cap.release(); return 0; } […]

OpenCV网络摄像头捕获问题

我已经安装了OpenCV 2.2,现在我无法使网络摄像头捕获工作。 它在2.1中运行正常。 OpenCV检测到网络摄像头,不报告任何错误或警告,但每个帧都是灰色图像。 我甚至尝试过OpenCV wiki的代码示例: VideoCapture cap(0); // open the default camera if(!cap.isOpened()) // check if we succeeded return -1; Mat edges; namedWindow(“edges”,1); for(;;) { Mat frame; cap >> frame; // get a new frame from camera cvtColor(frame, edges, CV_BGR2GRAY); //GaussianBlur(edges, edges, Size(7,7), 1.5, 1.5); //Canny(edges, edges, 0, 30, 3); imshow(“edges”, edges); if(waitKey(30) >= […]

在OpenCV中训练SIFTfunction

我创建了一个小型SIFT应用程序,它抓取关键点并将其保存到文本文件中。 我使用它来从徽标(例如AT&T)获取信息,并使用它来与具有该徽标的其他图像进行比较。 问题是我的许多图像都有徽标的变化,由于缩放,旋转或照明,它不会捡起它。 我想知道是否有可能获得一组图像,抓住它的关键点,并通过某种训练算法运行它来增强检测。 我在网上搜索了培训SIFT关键点的方法,但它们都在某种博士论文中,这些论文都涉及到所有这些数学算法,老实说,因为我没有参加任何数学课程。 如果有人有任何建议或链接,以便能够了解培训的工作原理或需要做些什么来实施,请告诉我。 或者,如果有人在没有SIFT的情况下有更简单的方法,那么我会非常感谢其他forms的检测。 以下列出了我尝试过的内容: 冲浪 因为返回无效结果而失败 Haar特征与Adaboosting 因为我在2011年7月11日开始训练100张带有100张负片的正面模型而失败,并且截至2011年7月19日仍在运行 模板与具有和不具有阈值的相同徽标的各种变换匹配 失败,因为我必须根据它无法在图像中检测任何内容的次数指数地创建徽标 提前致谢