Implementation has begun!
The last week has been very productive on the software side of things. Over the weekend, Tyler was able to develop the main GUI design that we will be using. This includes a tabbed window where each tab is its own class as a QWidget. This was a great step in further development. On my side of things, I spent a good chunk of the week working on intrinsic calibration. I found some resources for doing this in the C++ version of opencv, including one from docs.opencv.org, that I used (while also having the opencv book open). I also followed the format we found last week for getting video from opencv to show up in the GUI. This is done by getting an image from the camera as a matrix, converting the matrix to a QImage, and setting the pixmap of a QLabel to the QImage. So we have video!
I feel we are getting close to being able to test intrinsic calibration. I have gotten it to successfully call the findChessboardCorners method; this was difficult as I was closing the video capture thread for testing, which deallocated memory, essentially making the matrix a null pointer. But I finally found the error and corrected it. So at this point, hopefully we can test the intrinsic calibration next week.
We also have spent some time both cleaning up the GUI code and further implementing our MVC architecture, which will continue to be developed as we go.
On the hardware end, Grady has been having trouble debugging the serial port as it doesn't give an error but doesn't do anything. He sent/will send an email to the board developer to try and set up a phonecall; if it is unsuccessful, we may just purchase a USB version of the board.
Next week should allow continued implementation of the intrinsic calibration and possibly allow for some extrinsic calibration coding as well. I may start coding some of the math processes soon. Also, unit testing would be good, so that may be something we discuss next week.
Overall a good week. Glad to see things rolling!
No comments:
Post a Comment