问题标签 [opencvdotnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
143 浏览

vb.net - 错误:基于opencv的应用开发

我使用 Windows 控制台应用程序 vs2008 完成了我的 opencv 代码,而不是将其作为 dll 并在 Windows 应用程序 vb.net 中使用。运行时出现此错误。我没有得到我做错的地方。错误是这样的

aranga.dll 是我的 dll 有我的编码 opencv 编码部分。请帮我解决这个问题。提前致谢。

0 投票
2 回答
4550 浏览

c - OpenCV:cvHoughCircles 使用错误

我正在使用 cvHoughCircles 在下图中找到两个白色椭圆:

在此处输入图像描述

我首先使用阈值来定位白色区域,然后使用霍夫变换。但是输出不正确,如下所示:

在此处输入图像描述

我无法理解发生了什么?为什么它检测到 3 个圆圈,为什么只有一个被正确检测到?有什么建议么?

下面是我的代码:

编辑:

由于我对霍夫变换没有得到满意的结果,我愿意采取其他方式。我可以假设图中每个白色斑点的大小相同(大小已知),并且斑点之间的距离也是已知的。有没有一种不平凡的方法可以找到一条垂直线(切线)接触左侧白色斑点的左侧?一旦我知道了这个切线,我就知道了边界位置,然后我将在 x=(这个位置 + 半径(已知))处画一个圆,y = 这个位置。我可以使用一些重要的方法找到这样的 x 和 y 坐标吗?

解决了,通过如下改变:

这是输出:

在此处输入图像描述

0 投票
1 回答
1141 浏览

matlab - OpenCV MATLAB:如何绘制具有特定强度分布的线?

下面是图像中线条的任意手绘强度分布: 在此处输入图像描述

任务是画线。轮廓可以近似为圆弧或椭圆弧。这是我为相机校准所做的。由于我没有实际的工业相机,我试图模拟校准所需的校正。

这个问题可以改写,因为我想要像素值,它会遵循类似于上面的图。我想使用程序(最好使用 opencv)来执行此操作,而不是手动输入这些值,因为我一行中有数千个像素。
一个算法/伪代码就足够了。另请注意,我没有任何实际的强度配置文件,否则我会阅读这些值。

什么时候会遇到这样的情况

假设您从相机拍摄照片(假设全白),您的对象被放置在桌子上,相机在垂直方向正上方。与在边缘反射的光相比,从相机垂直向下射到图片中心的光的强度会更强。您测量图像中任何一条线的像素值,您会发现如上图所示的强度曲线。由于我暂时没有相机,我想模仿这种情况。如何做到这一点?

0 投票
1 回答
4745 浏览

matlab - 视频中运动物体的速度测量算法

您使用智能手机中配备的相机拍摄了移动汽车的视频。该视频的分辨率非常高,并假设已完成一些无损编码。(显然尺寸会很大)。它以 60fps 的速度播放。从视频中测量汽车的真实速度有哪些可能的方法?(可能并非所有情况都存在完美的解决方案,因此我愿意在特定条件下进行一些合理的假设,如果有的话。)。

如果这是不可能的,我的下一个目标是对视频中的静止物体进行汽车速度测量。

编辑:

在我的情况下,相机总是静止的,汽车从左到右移动,并以恒定速度移动。

我已经看过什么方法了

随着汽车的移动,我以已知的速度在摄像机前移动一个物体(参考物体)。然后视频包含两个移动对象,一个是已知的,另一个是未知的。通过适当的校准,我可以找到汽车的速度。但我正在寻找一种无需移动参考对象的解决方案。

0 投票
2 回答
1664 浏览

image-processing - OpenCV:在 x 轴上查找峰值位置的优化方法

要检测下图中峰值的位置(在 x 轴上)

在此处输入图像描述

如果图像是垂直的,我会应用 CvMinMax 来定位峰值。但由于这里是水平的,我面临着困难。有没有办法可以使用 CvMinMax 来定位这个峰值?(我不想旋转图像)

作为最后一个选项,我必须搜索每一列,我不想这样做,因为这将非常昂贵。有没有优化的方法来搜索这些峰值?

0 投票
4 回答
26280 浏览

opencv - CvMat 和 Imread 与 IpImage 和 CvLoadImage

使用 OpenCv 2.4

我有两个加载图像的选项:

哪个更好用?我尝试将两者混合并最终出现段错误。

0 投票
1 回答
259 浏览

image - OpenCv:在 for 循环中旋转图像时应用程序挂起

以下代码给出了段错误和一些时间停止/挂起并且永远不会工作。

但以下工作非常好。

cvrotate是一个正在旋转图像的函数,旋转后的图像正在被opencv函数显示出来。

为什么是waitkey(); 这里需要吗?我知道只有在 CVrotate 完成其工作后才应调用显示。同样,我假设下一次迭代在显示结束时开始,而不是在那之前。请赐教。

0 投票
2 回答
5877 浏览

image - OpenCV:使用 OpenCV 合并两个图像

使框 2 的大小等于框 1 的最佳方法是什么,以便 CvCopy(); 可以应用:

在此处输入图像描述

编辑:

也许我没有正确地提出这个问题。所以我重新措辞。给定图像 2(如上所示),我想将其转换为如下所示:
在此处输入图像描述

基本上我必须在它上面添加一个黑色边框。调整大小将不起作用,因为我的图像会失真。换句话说,我必须在图像周围的定义厚度中添加零。

此外,虽然显示为空,但这些图像(框)内部可能有一些对象,我没有显示。

0 投票
4 回答
900 浏览

opencv - 处理实时数据,绕过 CvloadImage

这是我们使用 Opencv 显示和处理图像的方式:

现在你能帮我实现我的目标,如下所述:

请注意,我在第二个代码片段中没有使用任何硬盘读/写操作,如下所示:

基本上我正在处理实时场景,因此我绕过了耗时的cvLoadImage. 显然没有将数据保存到硬盘中,我的整个数据仍然在Buffer B. 这节省了我的时间,这对我的应用程序至关重要。

注意:事实是我将对 进行更多处理Buffer B,例如应用cvminmaxloc等。但是所有这些功能都需要从磁盘加载的图像,而不是像我这样的缓冲区。

有人可以为我指明正确的方向,以实现使用缓冲区而不是存储在硬盘中的图像的目标吗?我在理解 openCV 功能时犯了一些错误吗?

更新:

下面的建议可imdecode用于从缓冲区读取图像。如上所述,实际上我将使用 OpenCv 函数对图像进行处理,CVMinMaxLoc例如

现在我可以把Buffer作为第一个参数而不是 Image incvThreshold( )吗?如果不是,那么使用 openCv 函数处理Buffers(包含像素值)的替代方法是什么?如果没有使用缓冲区的直接方法,那么实现此目标的间接方法是什么?解决方法是什么?

简而言之,我不想在进行任何处理之前将数据带到硬盘上。

0 投票
0 回答
5458 浏览

c# - 具有特定编解码器的 Emgu CV VideoWriter

我需要使用 Emgu CV 库的 VideoWriter 类来实时捕获屏幕。

现在的问题是文件大小......所以,我必须使用特定的编解码器。

到目前为止,我已经尝试过我发布的代码:

// VideoWriter原型:VideoWriter(String fname, Int32 comprescode, Int32 pfs, Int32 width, Int32 height, Boolean isColor);

VideoWriter captureOutput;= new VideoWriter(@"test.avi", -1, 1, width, height, true);

结果我得到了视频压缩对话框,我有机会选择编解码器。

在此处输入图像描述

我选择了 Microsoft Windows Media Video 9 编解码器,看来我需要使用此编解码器来解决文件大小问题。

我将在我的程序中选择它(在源代码中),而不是每次运行我的程序时都选择它。

有一些编解码器代码可以与 CvInvoke.CV_FOURCC('I', 'Y', 'U', 'V') 或其他代码一起应用,但我对 Windows Media Video 9 没有任何想法。

我只是想知道是否有人面临像我遇到的同样的问题。

任何想法都受到高度赞赏。谢谢~