I was wondering if there was any way to rotate the image 90 degrees. I am particularly interested in streaming the image already rotated (rather than rotating it in my viewer).
Rotating image in the camera is not implemented (yet?), camera now can flip-x and flip-y image relying on the sensor itself. It is possible to implement rotation in the FPGA, but can you provide some reason why is it an important feature? What kind of an application needs this?
I was also thinking this would be a nice feature because you could use the camera in "portrait mode" rather than just "landscape".
I have the camera mounted inside a KinExA instrument to monitor beads being packed in a capillary tube sized flowcell. Due to design restrictions I had to mount the camera sideways to view the flowcell. Other users on the network want to watch the stream, but the image comes out sideways. We've found a way to use mplayer with a rotate option, but our users are viewing through and imbedded Qt viewer built into our control software for the instrument. What I'd really like to do is have a window imbedded in our software so the customer can watch the flowcell while controlling our instrument. The sideways image is causing more problems than I anticipated with our users.
I'll think of making this addition to the FPGA code, but meanwhile it is probably possible to make some mechanical changes. The sensor board is exactly square and the flex cable that connects sensor board with the main one is rather long - 2 inches (http://www.digikey.com part number HFF-30U-02). I believe it is possible to play a little origami and bend the cable so the sensor board can be mounted rotated 90 degrees inside the camera.
Unfortunately I can't rotate the camera. The CMOS chip is rectangular, and I fill the image with the length of the flowcell (very long and thin). When I rotate the camera the top and bottom of the flowcell are not visible, and I can't change the magnification. The lense I use is built in to the flowcell optics housing and immoble, therefore the magnification is locked at 1:1. I actually bought some 6 inch cables and had it installed sideways yesterday, but I realized that this cannot work. I am not a programmer, but one of my co-workers is. We don't have much experience in streaming video, but perhaps there is something we could do? What is the FPGA code?
It is not so easy to add FPGA code to rotate image - frame memory accesses are optimized now only for the non-rotated images. I'll try to implement these additions with some other changes.
And FPGA code - source code is available in each software release for the camera here on Sourceforge, in our project CVS and in each camera file system. To modify it you need free for download tools from Xilinx and - clear understanding what exactly you are doing :-)