草庐IT

opencv-features2d

全部标签

c++ - Direct2D 拒绝在窗口上绘制位图,静默失败

我正在尝试使用Direct2D将128x128位图绘制到窗口上。但是,没有任何显示,EndDraw()也没有返回任何错误。这是我的WM_PAINT代码:caseWM_PAINT:D2D1_RECT_Ftestd2dbuttonrect;mainwRT->BeginDraw();mainwRT->SetTransform(D2D1::Matrix3x2F::Identity());testd2dbutton.pd2drectgm->GetRect(&testd2dbuttonrect);mainwRT->FillRectangle(&testd2dbuttonrect,pSolidBru

c++ - 轮廓和矩形 OPENcv c++ 之间的交集

矩形在两点处与完整轮廓相交。我怎样才能找到矩形和等高线轮廓之间的这些交点。我可以将两个图像加在一起并寻找最大值,但我知道矩形顶点是如何存储的,因为我需要一个用一组点填充的线型vector谢谢 最佳答案 如果您确定矩形仅在2个点与形状交叉,则可以遍历轮廓点,并检查这些点是否在矩形边界内。std::vectorshape;//computedwithFindContourscv::RectmyRect;//whateverconstintNUMPOINTS=2;intfound=0;for(std::vector::iteratorit

c++ - FeatureDetector OpenCV 2.4.5 中的访问违规读取

我尝试了关于匹配OpenCV2.4.5中的许multimap像的示例代码,并修改了该代码。我找到了错误代码:Unhandledexceptionat0x585a7090intesting.exe:0xC0000005:Accessviolationreadinglocation0x00000000.它的错误在featureDetector->detect(queryImage,queryKeypoints)。我找不到那个问题的解决方案。请帮助我。#include#include#include#include#include#include#includeusingnamespaces

运用java开发OpenCV

获取适当的OpenCV从版本2.4.4开始,OpenCV包含桌面Java绑定。下载获取它的最简单方法是从 OpenCVSourceForge存储库下载版本 2.4.4或更高版本的相应软件包。注意Windows用户可以在包内的文件夹中找到Java开发所需的预构建文件。对于其他操作系统,需要从源代码构建OpenCV。opencv/build/java/获取OpenCV源代码的另一种选择是克隆 OpenCVgit存储库。为了使用Java绑定构建OpenCV,您需要安装JDK(Java开发工具包)(我们推荐 Oracle/SunJDK6或7)、ApacheAnt 和Pythonv2.6或更高版本。建让

c++ - 使用 openCV 在图像中查找 "Missing"对象

请看下面两张图图1图2在图1中,您可以看到墙上有一个垫子,而在图2中垫子不见了。现在,我将插入Image1作为第一张图片,插入Image2作为第二张图片,然后找出缺少的内容。然后,我需要在丢失的对象上方绘制一个矩形。在我的计划中,我会在我们的每一次检查中检查这一点。除了“图像差异”即“absDiff()”方法,我想不出别的东西。但是我在同一个应用程序中使用这种技术进行运动检测,所以我不确定相同的技术是否适用于“寻找丢失的物体”(因为在那种情况下,这与运动检测有何不同?关于如何找到这样丢失的对象有什么想法吗? 最佳答案 您可以尝试在两

c# - EndDraw() 在 Direct2D 中占用 80% 的工作时间

我在我的Direct2D应用程序中遇到了一个严重的性能问题。我利用Direct2D使用PathGeometry绘制图形以获得更好的性能并在Windows8.1中实现干净的渲染。在创建DeviceResources时,我使用Factory接口(interface)创建了PathGeometry。然后我设置图形点以在输出表面绘制我的图形。最终呈现的ImageSource将用作我在XAML中的Image元素的源。我只是按照下面的示例链接来实现我的场景。http://code.msdn.microsoft.com/windowsapps/XAML-SurfaceImageSource-58f7

第一章:从3D到2D

    本文是《从0开始图形学》的第一章内容。讲解如何将3D的模型“画”到2D的图形上。概念解说        图形学渲染,就是将3D的东西“画”到2D的屏幕上,和拍照的效果是一样的,这也是为什么很多3D渲染引擎会有“相机”这个概念,这一节我们来看一下怎么把3D变成2D。场景定义        首先,我们定义一个渲染场:一个定义好的坐标系中某个3D的箱子,黄色的球体代表相机,如下图所示        我们的渲染结果就应该同相机视角看到的结果一样,如下图所示,透过半透明的“画布”,可以看到箱子在“画布”上的样子问题提出        那么,如何实现上面效果呢?我们先从箱子的整体轮廓入手,很简单,

c++ - 是否可以使用 Moz2D 图形 API 在桌面应用程序中绘图?

Moz2D是Firefox的新后端,目前正在从Cairo切换到该后端。Moz2D相对于Cairo的优势之一是它使Firefox中的渲染工作更快。这是Moz2D的基本信息https://wiki.mozilla.org/Platform/GFX/Moz2D那么,是否可以在Firefox之外使用Moz2D绘制到SDK窗口等对象?如果是,您能否提供一些基本的指导原则?当前状态下的Moz2D文档非常差。 最佳答案 来自mozillairc的#gfx:isMoz2D/AzureavailableasanAPIoutsideofFirefox,

vs2022配置OpenCV测试

1,下载Opencv安装包OpenCV官网下载地址:Releases-OpenCV大家可以按需选择版本进行下载,官网下载速度还是比较慢的,推荐大家使用迅雷进行下载下载安装包到自定义文件夹下双击安装按以下图示进行安装2、添加环境变量打开安装好的路径,找到...\opencv\build\x64\vc15\bin这个路径,将其复制下来新建系统变量并粘贴右击“此电脑”选择属性,选择高级系统设置到目前为止,环境变量已配置完毕3、导入.dll(动态库)文件1)在安装好的文件夹中找到此路径:...\OpenCV\build\x64\vc16\bin,可以看到路径下有5个dll文件(不同版本的OpenCV可

c++ - OpenCV:无法从视频中获取帧率

我想获取视频的帧率,但在Linux上我总是获取-nan。VideoCapturevideo(input);if(!video.isOpened())//zakonczprogramwprzypadku,problemuzotwarciem{exit(0);}doublefps=video.get(CV_CAP_PROP_FPS);我的openCv版本是2.4.7。相同的代码在Windows上运行良好。 最佳答案 我的猜测是它取决于相机。某些(API)函数有时未在OpenCV中实现和/或您的相机不支持。最好是检查github上的代码。