0

当我执行我的代码有时它工作正常,但一次用于 aprox。7 执行出现错误。错误信息 :

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

您可以将前 3 行替换为以下内容: IplImage poColorPhoto = opencv_highgui.cvLoadImage("yourImage.png");

于 2012-05-17T14:54:21.207 回答
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 回答