how to transfer the image from openMV to PC in real time?

Hey guys! I am working on the flir lapton3.5 with openMV. With the help of openMV, it’s easy for me to get the thermal image from filr lapton3.5, don’t have to concern about the complicated spi/iic agreement. That’s great!

Well, I want to show the real-time thermal image in my PC’s qt program, that means the thermal image need to transfer to the PC in the real time. But unfortunately, I didn’t see an offical protogenetic way to get the image in PC. Though the image can be shown in the openmv ide, openmv doesn’t seem to want me to get the image. So anybody knows how to get the picture from openMV to PC?

Thanks very much and looking for your advice !

We made an interface library. Please use it.

Hey guys… I am working on a project where I need to transfer the images from OpenMV to pc so that I could store the images at a particular location. I am actually new to this field. I went through the interface library and I am confused about it. I have understood it in bits and pieces. I want to transfer the images through Wi-Fi.
I would like to mention what I did:

  1. installed the two libraries, pyserial and pygame.
  2. edited rpc_image_transfer_jpg_streaming_as_the_controller_device.py file, where I changed the ip address with the one of my pc. [For transfer via wifi]
  3. ran the file
    and I am lost here.
    If you could explain how to do it in a systematic order, it would be of great help.

Thank you very much and awaiting your reply…

You need to give the script the IP address of the camera which is running the corresponding script.

In the IDE under examples → Remote control see the corresponding script to the script that needs to run on the PC. Edit that script for it to work over WiFi.

If everything is running fine the camera will print out it’s IP address.

Then enter that IP address into the script on the PC and things will just work.

Hello,
on H7 side I save image_transfer_jpg_as_the_remote_device_for_your_computer.py as main.py
unfortunatelly, MV cam reset from IDE does not work causing IDE freeze, but I do verify that main.py exists
on virtual disk and has correct content.
Then I reboot MV cam manually and launch on PC
python -u rpc_image_transfer_jpg_as_the_controller_device.py from **openmv-master\tools\rpc**.
The SW find MV cam serial port, but produce nothing.
I attach serial traffic snapshot.

Whjat is wrong?

Please make sure to use the Serial master class versus the USB Serial master class if you are talking over hardware serial. The USB Serial class expects a USB VCP port and is less forgiving on the time it takes for a response.

Well, although in your documentation for this examples describes exactly deal with USB VCP
interface = rpc.rpc_usb_vcp_master(“COM3”)
interface = rpc.rpc_usb_vcp_slave()

I triyed to implement Serial but not success.
I used FTDI USB-TTL adapter.
What baud should I use for slave ?
In image_transfer_raw_as_the_remote_device.py it set = 7500000
but PC side sketch opens port at 115200.
If I set OMV side to 115200 I got as attached pics results.
In other words, the result is the same as in my first attempt with usb vcp on OMV side.


Very strange,
I rollback OMV to usb vcp, reboot PC and it works now.

See the uart master:

The timings for it are more forgiving than the USB VCP master. Only use the VCP master for talking to the OpenMV Cam over it’s direct USB serial port.

Hi, I have some trouble in transfering image stream from OpenMV Camera to Raspberry pi 4 through USB line.
I made a example with “rpc_image_transfer_jpg_streaming_as_the_controller_device.py” in raspberry pi 4 and main.py in camera.
The main.py is follow:

import io, rpc, sys

interface = rpc.rpc_usb_vcp_slave()

def remote_function_or_method_name(memoryview_object_argument):
return bytes_object_result

interface.register_callback(remote_function_or_method_name)

interface.loop()

I succeeded to load “Frame Buffer”, but Nothing

Could you help me please… what do I should do more…?

Please run the example with USB unmodified. It should work.

Thank you so much for reply.

Sorry, But I can’t understand what you mean. What part do you think I modified in the example above?

please, Let me explain more detail…
I made an example in Raspberry pi with the “rpc_image_transfer_jpg_streaming_as_the_controller_device.py”. I didn’t modify any part of it.
And then, I made main.py in camera with the example above. I just changed “” to comment, because I didn’t know what I put here.

Save this script as main.py on your camera.

https://github.com/openmv/openmv/blob/master/scripts/examples/OpenMV/34-Remote-Control/image_transfer_jpg_as_the_remote_device_for_your_computer.py