I'm able to grab 720p at 60 fps, however, I'm using mjpeg (much smaller), and I had to move the image processing off-board (in my case onto a smartphone). My experience is that the opencv framegrab has a number of issues (including setting the fps correctly) and performance-wise on the Edison, I found it lacking (I even built it from source trying to optimize). Also, aperture priority will lower the achievable framerate if you are in low light (i.e., indoor).
I recommend grabbing using v4l2 and if you really need to use opencv locally, load the buffer into a Mat in opencv and force it onto the other core - this obtained the best results for me. Avoid writing the buffer to flash and be very careful with the memory usage (Mat's can be big and bulky).
Good starting points for this approach are: Capture images using V4L2 on Linux — Jay Rambhia and Modified uvccapture at dreamport | nonoo.hu.
Hope this helps ....