Hi, you can resize your image with:
Imgproc.resize
Then you can run your algorithms and display the new results in the original image at full resolution. Of course, by doing this you will have to manually scale up the data to the new resolution, and there will be a loss of precision/need to interpolate data, but for visualization purposes only, this is usually more than enough.
About the frame rate, a quick solution could be to process one frame each two/three, then visualize the data (for example, a bounding box, or the edge map, etc.) for the other frame(s). Note that the final frame rate will depends on how much processing you are performing, and that again you are showing a result of the processing at one frame more times, where the real data would differ a bit but again, if it is for visualization purposes, it can be a rough approximation, and particularly quick to implement.