问题标签 [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.
android - 如何在opencv android中导入IplImage类?
如何在opencv android中导入和使用IplImage类?或者它只支持 javacv ??
我尝试通过以下方式声明新 val
eclipse 显示 IplImage 无法解析为类型。
我尝试了很多方法来导入,但我找不到解决方案...
谁能帮忙??
谢谢。
c++ - IplImage 与 CvMat
我知道很多人对和之间的技术差异感兴趣。(是的,不是(*),但是。)所以,让我们以实际的重点来清除差异。IplImage
CvMat
cv::Mat
CvMat
是CvMat
refcounted 版本IplImage
吗?CvMat
只有一个包装吗IplImage
?如果是这样,为什么他们也发展了CvMat
?
我问这些问题是因为我发现IplImage
它在整体搜索中最受欢迎,而且我认为它的帖子也最多。
仍然使用 IplImage而不是较新的结构有什么好处?
(*)(我在这里也放了 c++ 标签,因为很多人也将它与 c++ 一起使用,而且还有一些库更喜欢IplImage
。)
c++ - openCv 裁剪图像
我的 openCv IplImage 裁剪遇到问题。假设 tmp 和 img 都是 IplImage* 。使用代码:
当我使用上面的 cvRect 时,我会得到一个大小为 500 x500 的图像,但是当我使用 rect (400,400,500,500) 时,我会得到一个大小为 500 x 320 的图像。
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 的调用不正确。或者可能只是堆已损坏或已满。我是不是很傻?
opencv - 在 Opencv 中使用 Mat& 和 Mat 有什么区别?
我见过像Mat& img = imread("image")
和这样的声明Mat img = imread("image")
。两者有什么区别 ?
有什么类似的Mat*
吗?
我怎样才能IplImage
以类似的方式使用Mat&
?
请帮忙!
image - 如何在 JavaCV 中将 2 个图像相乘
我目前有一张我用过的二进制黑白图像,cvThreshold
我想在图像的白色部分恢复颜色。
据我了解,将原始图像与二进制图像相乘会产生这种效果。但是,我不确定如何做到这一点。我正在使用 JavaCV。我试图:
这并没有真正奏效。如何在mul
JavaCV 中使用 openCV 函数?此外,如果有人有关于将 opencv 代码转换为 JavaCV 的提示,我将不胜感激,JavaCV 项目页面上的内容几乎不足以让我维持生计。
c++ - 将 IplImage * 传递给函数,原始未更新
我在函数中传递 IplImage* 参数时遇到问题。这是一个学校项目,不幸的是,我不应该编辑调用我的过滤器函数的文件。主要是将图像作为命令行参数引入,然后制作一个副本并将其传递给正确的过滤器函数,如下所示:
这是我的一个过滤器的代码:
问题是,主要显示的过滤图像不反映实际图像。它只显示原始图像。当我将 Mat 风格的图像 matImage 输出到我的过滤器函数中时,它会显示过滤后的图像。在我转换回 IplImage 并将 IplImage* 输入参数设置为等于转换后的过滤版本之后立即。但是这些变化并没有反映主函数中显示的图像。
这使得我很难创建其他一些过滤器,例如 Gaussian 和 Sobel,因为这些过滤器本身在进行操作之前会调用其他函数,而我没有得到编辑后的数据。在如何编辑传递的 IplImage* 变量时,我有什么遗漏吗?
预先感谢您的任何帮助!
opencv - IplImage 像素访问 JavaCV
我正在尝试逐个像素地访问 IplImage 的像素。我使用 Java 和处理,有时我需要逐像素访问。到目前为止我已经这样做了,但我不知道出了什么问题:
在Karlphilip sugestion 之后,我来到这里,仍然无法正常工作。当我尝试显示时,它给了我一个 nullPointer 异常:
qt - 图像宽度和宽度步长,现在呢?
我有一个关于使用图像宽度和宽度步长的问题。
我将尺寸和图像数据作为 QByteArray。我也有宽度步。我的问题是如何使用 widthstep 正确填充 Ipl 图像,因为我的图像宽度是 4095,它不是 8 的整数倍。我已经成功填充了宽度为 8 整数倍的图像,但现在我被困住了手头的问题。任何使用 widthstep 填充 IplImage 的通用代码都将受到欢迎和高度赞赏。:D
这是我的开关盒中起作用的部分;8 图像宽度的默认整数倍:
java - 不能将 IplImage 与 OpenCV 2.4.4 一起使用
我刚刚下载并安装了新的 opencv 版本。它本机支持 java 的事实非常令人兴奋。但是我在移植我的 javacv 代码时遇到了一些麻烦。我似乎无法再使用 IplImage,因为它无法解决,即使我已经导入了 org.opencv.core.*;切换到 Mat 似乎并不理想,因为我使用的许多 opencv 函数都需要 IplImage。
例子:
那么我需要对旧代码进行哪些更改才能与新版本的 opencv for java 一起使用?
抱歉,如果这是一个愚蠢的问题,对于图像处理领域来说还是新手。