- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
根据 OpenCV 文档,cvLoadImage 必须返回指向 IplImage 的指针,但看起来它返回的是 int。
当我运行下面的程序时,我收到一些警告,如下程序所示
#include "highgui.h"
#include <stdio.h>
int main(int argc, char** argv)
{
IplImage *img = cvLoadImage ("/path/to/file/face.jpg");
if(img != NULL)
printf("%d", img->width);
}
此外,当我运行上面的代码时,我遇到了段错误,我猜测因为 img 是一个 int,所以当我尝试访问 img->width 时它会导致崩溃,编译上面的代码时会出现警告
/usr/local/Cellar/opencv/3.3.0_3/include/opencv2/core/types_c.h:929:13: warning:
implicit declaration of function 'cvRound' is invalid in C99
[-Wimplicit-function-declaration]
ipt.x = cvRound(point.x);
^
main.c:7:21: warning: implicit declaration of function 'cvLoadImage' is invalid
in C99 [-Wimplicit-function-declaration]
IplImage *img = cvLoadImage ("/path/to/file/face.jpg");
^
main.c:7:15: warning: incompatible integer to pointer conversion initializing
'IplImage *' (aka 'struct _IplImage *') with an expression of type 'int'
[-Wint-conversion]
IplImage *img = cvLoadImage ("/path/to/file/face.jpg");
警告说 int 的转换不兼容,因此我将 IplImage 更改为 int,它工作正常,并且为 img 输入一些负整数值
#include "highgui.h"
#include <stdio.h>
int main(int argc, char** argv)
{
printf("%s\n","hello world");
int img = cvLoadImage ("/path/to/file/face.jpg");
printf("%d", img);
}
我收到上述程序的以下警告
implicit declaration of function 'cvRound' is invalid in C99
[-Wimplicit-function-declaration]
ipt.x = cvRound(point.x);
^
main.c:7:15: warning: implicit declaration of function 'cvLoadImage' is invalid
in C99 [-Wimplicit-function-declaration]
int img = cvLoadImage ("/path/to/file/face.jpg");
我失眠了,google也帮不上忙,这和OpenCV版本还是C版本有关吗?,我用的是Opencv2 3.3.0,请随时询问是否需要任何信息
最佳答案
第一个代码没有任何问题,如果使用 g++ 而不是 gcc 编译,应该可以正常运行。
您从 IplImage*
隐式转换为 int
的第二个代码是错误的,不会运行。
有关 cvRound()
函数的警告和错误与 OpenCV C API 有关,该 API 已经有一段时间没有更新了,很可能会在未来的版本中删除。大多数新的 OpenCV 功能仅存在于 C++ API 中。
其他帖子提到了有关 C API 中的 cvRound()
函数的错误:
https://github.com/opencv/opencv/issues/6076
https://github.com/opencv/opencv/issues/8438
https://github.com/opencv/opencv/issues/8658
将来尝试使用 OpenCV C++ API 以获得最佳结果。
关于cvLoadImage 返回 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45916209/
#include "cv.h" #include "highgui.h" #include int main(int argc, char* argv[]){ cvNamedWindow("
我正在使用 CvLoadImage(C 编程语言)。 不是传递我的路径或名称,比方说,.jpg 文件作为函数的参数,我可以使用一个列表(动态结构),它包含每个 .jpg 图片我要打开? 例如,我认为代
根据 OpenCV 文档,cvLoadImage 必须返回指向 IplImage 的指针,但看起来它返回的是 int。 当我运行下面的程序时,我收到一些警告,如下程序所示 #include "high
我从事图像识别程序已有一段时间了,但突然我注意到,当我长时间测试我的程序时,函数 cvLoadImage 有时会停止返回图像。我看不到发生这种情况的明确模式或时间,但在它失败一次后,它将在程序的其余部
我想知道是否有办法强制将图像加载为 8U。我在 OpenCV 文档中看到您可以指定是将图像加载为单 channel 还是三 channel ,但没有提及颜色深度。有什么建议吗? 感谢您的帮助!!! :
我尝试在我的代码中使用 OpenCV C Api。我在 usr/include 下有 opencv 和 opencv2 文件夹。我可以使用 OpenCV C++ Api。 C++代码和编译链接命令如下
我在 pictureBox 中制作了一个强度计。为了制作这个强度计,我使用了一张图片作为 Dialer(Dialer.bmp) 并使用一条线制作针。我正在使用 openCV 执行此操作。并更改指针指针
我是 OpenCV 的新手,在尝试使用 cvLoadImage() 函数加载图像时遇到了问题。 以下代码尝试使用 (1) 工作目录(注释掉的代码行)或 (2) 桌面上文件的显式路径加载图像“testI
我正在尝试获取 this 中提供的算法在 Windows 上工作的存储库。在无数问题之后,我只剩下一个无法识别的函数 cvLoadImage ,它已被贬低。我被指示使用 c++ API,但问题是我还必
我在 Ubuntu 12.04、32 位平台上工作,在 eclipse ide 上使用 OpenCV 2.4.1 版。即使将图像放在我拥有 cpp 文件的项目的当前位置后,cvLoadImage()
我正在使用 cvloadimage 在我的程序中打开图像。图像位于外部目录中,使用文件名中的当前时间生成。 当我尝试以这种方式加载图像时: IplImage *image = cvLoadImage(
我正在尝试使用 OpenCV 2.1 处理 16 位单 channel 未压缩 TIFF 图像,但是当我调用 cvLoadImage 时,显然它们被转换为 8 位: IplImage* img = c
我安装了 JavaCV/OpenCV 库,但基本示例代码有问题。 根据我看过的几个例子,这段代码应该加载一张图片: IplImage image = cvLoadImage("C:\\img.jpg"
我找到了那个方便的 opencv 库,并尝试使用 C 语言用它编写一个简单的图像修改器。当我开始编译我的代码时,我遇到了一些错误,这些错误有点令人困惑,因为它们似乎没有意义。这是我第一次使用 netb
我在 Windows 上使用 OpenCV 2.1 中的 cvLoadImage 加载 .bmp 文件。 (遗留应用程序,维护代码,而不是新开发。) 它是以 RGB 还是 BGR 顺序加载的?文档 h
我有两个文件: 测试.cpp : #include "highgui.h" #include int main( int argc, char** argv ) { IplImage* im
我正在尝试使用 cvLoadImage 函数加载 JPEG 图像,但它失败了。我得到输出“图像未加载”(参见下面的代码)。但是出现一个窗口但没有图片。当尝试加载 png 图片时,cvLoadImage
我使用的是 OS X 10.7.1。我已经下载了最新的 JavaCV 二进制文件,并从当前的颠覆检查中构建了 OpenCV。 cvLoadImage() 函数返回 null,无论我传递给它什么。我已经
我有个问题。 这是错误: undefined symbols for architecture x86_64 " cvloadimage" ,referenced from:_main in main
这是我的代码,它将检测图像中的面部并在面部周围绘制矩形。 CvHaarClassifierCascade *cascade; CvMemStorage *storage; void detectFac
我是一名优秀的程序员,十分优秀!