问题标签 [iplimage]

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 回答
1426 浏览

android - 如何在opencv android中导入IplImage类?

如何在opencv android中导入和使用IplImage类?或者它只支持 javacv ??

我尝试通过以下方式声明新 val

eclipse 显示 IplImage 无法解析为类型。

我尝试了很多方法来导入,但我找不到解决方案...

谁能帮忙??

谢谢。

0 投票
3 回答
4556 浏览

c++ - IplImage 与 CvMat

我知道很多人对和之间的技术差异感兴趣。(是的,不是(*),但是。)所以,让我们以实际的重点来清除差异。IplImageCvMatcv::MatCvMat

CvMatrefcounted 版本IplImage吗?CvMat只有一个包装吗IplImage?如果是这样,为什么他们也发展了CvMat

我问这些问题是因为我发现IplImage它在整体搜索中最受欢迎,而且我认为它的帖子也最多。

仍然使用 IplImage而不是较新的结构有什么好处?

(*)(我在这里也放了 c++ 标签,因为很多人也将它与 c++ 一起使用,而且还有一些库更喜欢IplImage。)

0 投票
4 回答
37331 浏览

c++ - openCv 裁剪图像

我的 openCv IplImage 裁剪遇到问题。假设 tmp 和 img 都是 IplImage* 。使用代码:

当我使用上面的 cvRect 时,我会得到一个大小为 500 x500 的图像,但是当我使用 rect (400,400,500,500) 时,我会得到一个大小为 500 x 320 的图像。

0 投票
1 回答
707 浏览

c++ - 无法访问 IplImage 数据

我一直在尝试比较 IplImage 对象中的数据内容。

我有以下内容:

但是当我尝试打印它时,它会导致异常,我什至无法捕获它来打印消息并查看我做错了什么。我的图像是灰度的,我相信如果我不使用 cvCreateImage() 可以吗?我知道这将是一些愚蠢的或与数组访问相关的事情,我似乎无法从 IplImage 文档中轻松获得。

*为什么我要在我的设计中混合使用 C 和 C++ 代码?*

不幸的是,我别无选择!我正在开发一个具有改进的运动检测应用程序的项目。我的遗留应用程序源代码使用大量的 BOOST 和 OpenCV 东西。特别是,它使用 IplImage*(我讨厌它,让生活变得困难并导致内存泄漏)来存储图像掩码之类的东西。我了解如果我长期保存 IplImage*,我将遇到非法引用和访问冲突。所以我保存了 IplImage* 指向的实际内容的副本。举例说明:

共有 6 个使用 IplImage* 制作的蒙版图像。此时此刻,我在谴责决定在 IplImage* 中这样做的程序员。当我尝试加载这些蒙版图像时会出现问题,这就是我的做法:

我相信我对 IplImage 对象的深拷贝和浅拷贝有问题。我相信将其保存为IplImage * 中的 cv::Mat 并从 cv::Mat 将其加载为 IplImage* 可能会减轻负担,因为我怀疑它可能在高级函数下做了一些事情,以便复制数据和 ROI相应地完成。但是,作为一个新手,我可以假设任何事情。请帮忙!

更新

在我的代码中,我过去是这样做的:

然而,在得到建议并做了一些基本的 R&A 之后,我现在这样做是为了防止浅拷贝:

我可以确认这是可行的,因为我可以看到 OpenCV 窗口上加载了最新的蒙版图像!而且我很确定在任何编程任务中至少进行 2/3 次深度复制是多么重要。所以感谢你让我走上正轨。但是现在我遇到了在实施这些更改时想到的问题 - 内存分配失败。并且遇到了消息:

如果我对 C/C++ 有足够的了解,首先我犯了将它们混合在一起的罪行(我别无选择!!这是一个遗留应用程序!)。其次,存在不匹配,即 alloc.cpp 文件(产生问题的地方)中对 malloc/free 的调用不正确。或者可能只是堆已损坏或已满。我是不是很傻?

0 投票
0 回答
748 浏览

opencv - 在 Opencv 中使用 Mat& 和 Mat 有什么区别?

我见过像Mat& img = imread("image")和这样的声明Mat img = imread("image")。两者有什么区别 ?

有什么类似的Mat*吗?

我怎样才能IplImage以类似的方式使用Mat&

请帮忙!

0 投票
1 回答
671 浏览

image - 如何在 JavaCV 中将 2 个图像相乘

我目前有一张我用过的二进制黑白图像,cvThreshold我想在图像的白色部分恢复颜色。

据我了解,将原始图像与二进制图像相乘会产生这种效果。但是,我不确定如何做到这一点。我正在使用 JavaCV。我试图:

这并没有真正奏效。如何在mulJavaCV 中使用 openCV 函数?此外,如果有人有关于将 opencv 代码转换为 JavaCV 的提示,我将不胜感激,JavaCV 项目页面上的内容几乎不足以让我维持生计。

0 投票
3 回答
1422 浏览

c++ - 将 IplImage * 传递给函数,原始未更新

我在函数中传递 IplImage* 参数时遇到问题。这是一个学校项目,不幸的是,我不应该编辑调用我的过滤器函数的文件。主要是将图像作为命令行参数引入,然后制作一个副本并将其传递给正确的过滤器函数,如下所示:

这是我的一个过滤器的代码:

问题是,主要显示的过滤图像不反映实际图像。它只显示原始图像。当我将 Mat 风格的图像 matImage 输出到我的过滤器函数中时,它会显示过滤后的图像。在我转换回 IplImage 并将 IplImage* 输入参数设置为等于转换后的过滤版本之后立即。但是这些变化并没有反映主函数中显示的图像。

这使得我很难创建其他一些过滤器,例如 Gaussian 和 Sobel,因为这些过滤器本身在进行操作之前会调用其他函数,而我没有得到编辑后的数据。在如何编辑传递的 IplImage* 变量时,我有什么遗漏吗?

预先感谢您的任何帮助!

0 投票
2 回答
9278 浏览

opencv - IplImage 像素访问 JavaCV

我正在尝试逐个像素地访问 IplImage 的像素。我使用 Java 和处理,有时我需要逐像素访问。到目前为止我已经这样做了,但我不知道出了什么问题:

在Karlphilip sugestion 之后,我来到这里,仍然无法正常工作。当我尝试显示时,它给了我一个 nullPointer 异常:

0 投票
1 回答
898 浏览

qt - 图像宽度和宽度步长,现在呢?

我有一个关于使用图像宽度和宽度步长的问题。

我将尺寸和图像数据作为 QByteArray。我也有宽度步。我的问题是如何使用 widthstep 正确填充 Ipl 图像,因为我的图像宽度是 4095,它不是 8 的整数倍。我已经成功填充了宽度为 8 整数倍的图像,但现在我被困住了手头的问题。任何使用 widthstep 填充 IplImage 的通用代码都将受到欢迎和高度赞赏。:D

这是我的开关盒中起作用的部分;8 图像宽度的默认整数倍:

0 投票
2 回答
4389 浏览

java - 不能将 IplImage 与 OpenCV 2.4.4 一起使用

我刚刚下载并安装了新的 opencv 版本。它本机支持 java 的事实非常令人兴奋。但是我在移植我的 javacv 代码时遇到了一些麻烦。我似乎无法再使用 IplImage,因为它无法解决,即使我已经导入了 org.opencv.core.*;切换到 Mat 似乎并不理想,因为我使用的许多 opencv 函数都需要 IplImage。

例子:

那么我需要对旧代码进行哪些更改才能与新版本的 opencv for java 一起使用?

抱歉,如果这是一个愚蠢的问题,对于图像处理领域来说还是新手。