OpenCVのドキュメントによると、cvLoadImageはIplImageへのポインタを返す必要がありますが、intを返すようです。cvLoadImageが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->幅にアクセスしようとしているクラッシュを引き起こし、コード上の警告が
/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型から、互換性のないconverstionを言うコンパイルされているので、私はintにIplImageへの変更があり、それがうまく働いたと私tは私はそれを把握するために眠れない行きました上記のプログラム
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");
については、以下の警告を取得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);
}
のためのいくつかの負の整数値をourputs、Googleは助けることができなかった、とは何かでありますOpenCVのバージョン、またはCのバージョン?OpenCv2 3.3.0を使用しています。必要な情報があればお気軽に
ヘッダーファイル(関数の前方宣言)がありません。 –
@Sourav Ghosh、かもしれないが、どちらかが分からないかもしれない –
あなたは 'cv.h'を追加しようとしましたか? –