組み込みターゲット ボード (FriendlyARM mini6410、Linux カーネル 2.6.38 を実行するプロセッサ アーム 1176) で OpenCV を使用しています。ボードに提供されているツールチェーンを使用して OpenCV 2.4.4 ライブラリをコンパイルしました。これは ftp にあります ( FriendlyARMのWeb サイトを参照してください)。GTK、ffmpeg を無効にし、v4l を有効にしました。ライブラリが正常にコンパイルされました。
次に、コードを記述します。
#include <opencv.hpp>
#include <highgui/highgui.hpp>
#include <imgproc/imgproc.hpp>
#include <iostream>
#include <stdio.h>
using namespace cv;
using namespace std;
int main()
{
int i;
cout << "initialise" << endl;
IplImage* img=0;
cout << "capturing ..." << endl;
CvCapture* capture = cvCaptureFromCAM(2);
cout << "get here" << endl;
if(!capture){
cout << "not capture" << endl;
return -1;
}
cout << "captured" << endl;
img=cvQueryFrame(capture);
IplImage* img1 = cvCreateImage(cvGetSize(img),8,3);
// cvCvtColor(img,img1,CV_RGB2GRAY);
cvCopy(img, img1);
cvSaveImage("cam_snap.jpg",img1);
cvReleaseImage( &img1 );
cvReleaseImage( &img );
cvReleaseCapture( &capture );
cout << "exit" << endl;
return 0;
}
コードが正常にビルドされました。カメラ (PS3 の目) に接続されたターゲット ボードで .elf 実行可能ファイルを実行しますが、結果の画像は壊れたテレビのように見えます (ノイズのようなもの)。
私のホストでは、結果の画像は期待どおりです (カメラの前のシーン)。何がうまくいかなかったのか、またはどこからデバッグを開始すればよいのか、提案をいただけますか?