0

コードを実行すると、正常に動作する場合もありますが、約1回は正常に動作します。7実行apperarsエラー。エラーメッセージ :

javacv cvReleaseDataの不正な引数(認識されない、またはサポートされていない配列型)

私のコード:

File imageFile = new File("/home/user/java.jpg");  
BufferedImage bufferedImage= ImageIO.read(imageFile);  
IplImage poColorPhoto = IplImage.createFrom(bufferedImage); // here sometimes appear error  
IplImage poGrayPhoto = cvCreateImage(cvGetSize(poColorPhoto), IPL_DEPTH_8U, 1); 
cvCvtColor(poColorPhoto, poGrayPhoto, CV_BGR2GRAY); 
poColorPhoto.release();
4

2 に答える 2

0

次のように、BufferedImage と同じ幅と高さの IplImage を作成して試すことができます。

IplImage ipl_image = IplImage.create(your_buffered_image.getWidth(), your_buffered_image.getHeight(), IPL_DEPTH_8U, 1);

次に、次のように BufferedImage を IplImage に割り当てます。

ipl_image = IplImage.createFrom(your_buffered_image);

お役に立てれば。

于 2014-09-25T11:09:07.017 に答える
0

最初の 3 行を次のように置き換えることができます。 IplImage poColorPhoto = opencv_highgui.cvLoadImage("yourImage.png");

于 2012-05-17T14:54:21.207 に答える