Answer the question
In order to leave comments, you need to log in
How to determine in which function the file is being saved?
There is an open-source library openbr .
The procedure for determining faces from a photograph is called, everything is as in the example:
transform = br::Transform::fromAlgorithm("FaceRecognition");
br::Globals->enrollAll = true;
query = br::TemplateList::fromGallery("http://127.0.0.1:8093/1.bmp");
query >> *transform;
The code works great, faces are determined, everyone is happy. query >> *transform;
a parasitic img.jpg file is created in the current project directory. futures.waitForFinished();
the ill-fated file is created. Answer the question
In order to leave comments, you need to log in
It turned out that this is not openbr at all, but a stupid QCameraImageCapture, which is also present in the program, with ::CaptureToBuffer written quite well
capturer = new QCameraImageCapture(camera); // создаем экземпляр класса, который умеет взаимодействовать с камерой и получать от нее изображения
capturer->setCaptureDestination(QCameraImageCapture::CaptureToBuffer); // говорим этому классу, что изображения нужно брать не в файл, а в буфер
anyway, every time you callcapturer->capture();
stubbornly created the img.jpg file in the program folder. capturer->capture("/dev/null");
In general, the task of "finding out who did what" is handled by an API interceptor, such as Microsoft's Process Monitor (procmon.exe).
technet.microsoft.com/ru-ru/sysinternals/bb896645.aspx
1) Run Process Monitor
2) set the filter to the desired process/file/…
3) reproduce the problem
4) find the corresponding. event in the Process Monitor log (for example, file creation)
5) by double clicking on the event, you can find the call stack. Everything.
Otherwise, you will have to honestly catch it with a debugger, of course (in the old fashioned way, put a breakpoint on NtCreateFile).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question