人脸检测后JavaCV工作/写入BufferdImage

人脸检测后JavaCV工作/写入BufferdImage,java,opencv,face-detection,javacv,Java,Opencv,Face Detection,Javacv,我正在使用JavaCV成功地检测人脸,虽然不完全准确,但目前已经足够好了 然而,出于测试目的和展望未来,这只是一个更大的团队项目的一部分,我想使用BuffereImage和Graphics.drawRect将矩形写入面上 我知道您可以使用JavaCV和静态方法将矩形绘制到面,但这不是我需要/想要做的。 如果在扫描过程之后,我尝试使用ImageIO加载图像并尝试向其写入RECT,则应用程序将以本机错误结束 我有没有办法命令openCV释放图像,因为我认为这就是问题的根源,openCV没有释放图像文

我正在使用JavaCV成功地检测人脸,虽然不完全准确,但目前已经足够好了

然而,出于测试目的和展望未来,这只是一个更大的团队项目的一部分,我想使用BuffereImage和Graphics.drawRect将矩形写入面上

我知道您可以使用JavaCV和静态方法将矩形绘制到面,但这不是我需要/想要做的。 如果在扫描过程之后,我尝试使用ImageIO加载图像并尝试向其写入RECT,则应用程序将以本机错误结束

我有没有办法命令openCV释放图像,因为我认为这就是问题的根源,openCV没有释放图像文件

提前谢谢

编辑:错误代码:

# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007fc705dafac4, pid=8216, tid=140493568964352
#
# JRE version: 7.0_21-b02
# Java VM: OpenJDK 64-Bit Server VM (23.7-b01 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C  [libjpeg.so.8+0x1eac4]  jpeg_save_markers+0x84
编辑:


没有太多帮助

你可以画没有图形的简单矩形; 在java中,有一种设置BuffereImage像素的好方法

试一试{ BuffereImage img=ImageIO.readnew Fileimg.png; int x,y; 内部宽度,内部高度; 颜色=颜色。黑色; y=50; x=50; 宽度=90; 高=90;
forint i=x;i检查您的操作系统运行情况,如果您的lap运行在64位操作系统上,请安装64位opencv。这可能会对您有很大帮助

 cvReleaseImage(inputImage);
            cvReleaseImage(grayImage);
            cvClearMemStorage(storage);