Sony Ps3 Eye Cl-eye-driver-4.0.2.1017.exe

Hi Samuel,

Thanks for answer. I was aware of 4-channel image. My testing
implementation now works with following conclusions:

a) Idea of
int[] img_data; // PS3 camera frame, RGB, 4-channel

PlayStation®3 System Software Update 4.87. An update to the PlayStation 3 system software was released on 12/03/20. In order to download PS3 system software version 4.87, you will need a minimum 200MB of free space on either the PS3 Hard Disk Drive (System Update) or on removable storage media (PC Update). I purchase the PS3 Eye in December as a replacement so my daughter could have here Eyetoy 2 back;). The macam driver has now been developed to include the PS3 Eye. Excellent video, satisfactory sound. The 'Disat' box in settings must be unchecked in my operating environment for the PS3 Eye to be recognised as a camera outside of macam.


IplImage img = IplImage.create(imageWidth, imageHeight, IPL_DEPTH_8U,
4);
reorder_channels(img_data);
frame_buffer = new java.jni.ByteBuffer().wrap(.......);
frame_buffer.asIntBuffer().put(img_data);
img.imageData(new BytePointer(frame_buffer));

is not feasible because RGB --> BRG conversion is needed. I did not
find RGB channels reordering to show “normal color” image. Image was
shown but colors were always corrupted.

b) Current solution/performance issues (based on my current
knowledge):
- I have to go through “int[] img_data; // PS3 camera frame, 4-
channel” pixel by pixel and create another array “byte[] ipl_data” in
3-channel BRG format

- every such ipl_data frame have to be set to image by calling
img.imageData(new BytePointer(ByteBuffer.wrap(ipl_data)));
as a side effect content of ipl_data is copied into internally
allocated buffer of the image

- javacpp.BytePointer/java.jni.ByteBuffer implementation (see
constructor of BytePointer) does not allow “wrapping” of IplImage
around user accessible image data buffer because of side effect
mentioned above

- BytePointer/ByteBuffer implementation does not allow getting of
address of the existing IplImage internal data buffer. (Eg.
ByteBuffer.hasArray() returns null.)

To put thinks another way: image data needs to be copied twice before
the IplImage is created. There is no bulk copy and 'for' cycle element-
by-element needs to by used. That is not very efficient for low level
image grabber.

My knowledge of all these subtle details of low level implementation
is rather limited and I can see couple of pros in separating
structure data. But from the performance perspective it is limiting.

Any suggestions, thoughts, ideas?

Regards,

Ps3 Eye Driver Windows 7

Eye

Playstation Eye Driver

Jiri