After a few days after coming back from home, although it looks very busy every day, it is to organize what I have done, mainly DirectShow. I have forgotten a lot.
Today, I will do the final finishing work, and I have to start writing some programs as tomorrow.
In order to make a double visual experiment on the Windows desktop platform (I initially planned to begin in mid-March, because in the experiment process, there will be a lot of questions, I have to make a lot of modifications, so the last late March is to start ), Need two parts preparations. One is the software platform for the test has not been built, one is the algorithm for the test, and there is no specific writing, let alone verification. So, my preliminary plan is to build software platforms used in binocular vision test in February, which will use DirectShow technology, there will be multi-threaded synchronization issues. The last semester, but only the capture of a video stream of the camera. In principle, the video stream capture of the two cameras and video streams of a camera should be almost the same, but there are more links in Filter Graph, but in the actual programming process, it will definitely encounter a lot. problem. As for, control the multi-threaded knowledge you want to use while reading the data, you have seen this multithreaded synchronization program, but it is still difficult to integrate into a program. When the software platform for the experiment is built, the study of the algorithm to perform image processing is made. The last semester, this is also done, but it is not inserted and a bit of a very general sense. So, to complete the task, although the part of the image processing is not very difficult in the part of the image processing involved here, it may not be too satisfied with the effect, so there is enough time to leave enough time. Commissioning, testing and modification. Therefore, this part of the image processing should have a result of March 10, making something, and cannot drag to the 15th.
Software platforms for experiments must certainly have problems. Considering your own technology, it is still not possible, you need to explore, so it is intended to be a few steps. The first is to digest digestion with a single camera video stream capture, and put the program that intercepts the picture. (Because I am going to extract each frame of data first, then save to memory, Finally, the image data in the memory is followed, and the result is displayed.)
Implement this so-called rough software platform for binocular vision, the large score is complete:
1. Write a program that captures both images of two cameras. The implementation is that two USB cameras simultaneously capture video streams to preview and save captured video streams. In this program, for simple, the synchronization problem between the two cameras is not considered.
2. Writing a program that can have two camera capture images (saving the image data that is intercepted as a BMP picture), do not consider the synchronization problem between the camera.
3. The program written at this time should implement synchronization between two cameras. The key is that the test is known that the synchronization between the two cameras can be achieved. My initial idea is to adjust the two cameras to sign the same change, using the way to shoot, but I want to think so, the key is how the scene changes to the test? Moreover, how to determine the experiment is successful or failed? If you can have a way to get a photo, it is fine. If you don't have to take pictures, but, call the two camera taking pictures in a separate thread, and this separate thread can record the time or other information, these are not quite understanding. Suddenly, it can actually change the filter graph of the capture video stream to the Filter Graph playing the same media file, then control the image that needs frame when playing the file, and save it as a BMP format, this to determine two cameras. Synchronization is not possible. In fact, it is to replace the captured part of the playback section, and the remaining parts should be similar on the overall framework. Therefore, it is necessary to design a solution that can be comparable.