我有一个加载图像的应用程序,所以我使用:
image1 = imread("Cam_Pic.jpeg", CV_LOAD_IMAGE_COLOR);
然后我做一些面部检测代码并将其保存到文件中,然后在我的Windows窗体上显示它。如果我只做一次,它的效果非常好。给你一点背景。这就是我的代码的工作原理:
如果我只做一次,那就完美了。如果我再次按下按钮,相机将拍摄照片,但是我的“face_detect”功能会给我一个IMREAD错误,这次它说它无法读取相机拍摄的照片,但它就在那里。这是我的代码或其中的一部分:
void Face_detect()
{
Mat image1;
Mat grayscaleFrame;
//image1 = cam_cap;
//G E T I M A G E
image1 = imread("Cam_Pic.jpeg", CV_LOAD_IMAGE_COLOR);
if (image1.empty())
{
cout << "!!! Failed imread(): image not found" << endl;
}
.
.
.
.
imwrite("Detected_image.jpeg", image1);
}
/////////// W I N D O W S F O R M /////////////////
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
// snap picture
PlaySound(L"Eagle_img_analyzing.wav", NULL, SND_FILENAME | SND_ASYNC);
Eagle.saveImage("Cam_Pic.jpeg");
Face_detect();
PlaySound(L"Eagle_Analysis_complete.wav", NULL, SND_FILENAME | SND_ASYNC);
pictureBox1-> Load("Detected_image.jpeg");
}
知道如何排除故障吗?