Random watermarks with python

Hi

I’m using CVBpy on ARM (V1.0) to capture images from a Dalsa Genie Nano. It works very well for a while but then watermarks appear in every other image as if there is no license. I have no clue how this could happen, can you please give me a hint :slight_smile:. I never noticed this problem on Windows/C++.

Thanks!
Lukas

Hi @lhartu :slight_smile:

so you only see the watermarks when using the Python API? Or are they now also visible in other programs (e.g. in GenICamBrowser) ? If they are everywhere, maybe the :cvb: licensing daemon is not running properly.

How is your CVB licensed anyway? Maybe you are using some tools (e.g. from the Foundation package), that are not included in your license?

If you ordered the Genie Nano from Stemmer Imaging, you should at least have a CameraSuite license, so grabbing images should be possible without watermarks… What does your :cvb: License Manager say?

We did some tests with the GenICamBrowser but couldn’t reproduce the problem there.
The camera is from Stemmer(licensed with the code included) and the License Manager lists two entries:

  • GigE Vision CameraSuite
  • GigE Vision CameraSuite (STEMMER IMAGING Device)

We noticed that the “random watermark” looks a little bit different from the normal one

normal random

The “random watermark” is noise in shape of the logo, the unlicensed watermark is simply white.

I don’t think we use any tools from the Foundation package. The python program only captures images and stores them.

We also noticed that it usually happens in the first few images of a burst. For example if we do not capture images for a while, the first one or two images of the next sequence will contain the noisy watermark.

Hi,

One or two short questions/notes:

  1. Which version of CVB are you using?
  2. I’m 99% certain this is the CVFile.dll/.so (the lib for saving images) watermark (the 1% depends on what you are doing).
    The library is dynamically loaded and unloaded multiple times and then for some reason loses the license flag (hence the watermark), which later is reacquired (and hence the watermark disappears).
  3. Which file format are you using?
  4. Do you have a code snippet for us?
  5. “For example if we do not capture images for a while” …
    Could you give me a hint how long for a while is?

Bye,

Christopher

Hm … i may have to tag you (for notification) … @lhartu

Sorry for the late reply (we had a public holiday last week :wink: )

  1. CVB 2018 64bit ARM 13.01.006

  2. What could be a possible fix?

  3. At the moment .bmp but we will move to .png

  4. `self.stream.start()
    print(‘Worker started’)

     while(1):
         
         try:
             image, status = self.stream.wait()
             if status == cvb.WaitStatus.Ok:
                 fname = datetime.datetime.now().strftime('%Y%m%d_%H%M%S_')
                 filecounter += 1
                 filename = fname + str(filecounter)
                 image.save('/home/odroid/pics/' + filename + '.bmp')
             else:
                 print('Timeout')
         except:
             print('Worker exception')
         finally:
             pass
     print('Worker finished')`
    
  5. Hard to say. The user reported a few minutes, maybe 4-5 minutes.

Hi @lhartu,

Regarding 2.:

usually these issues are fixed via “UpdateLicenses()” from “iCVCImg.h”.
However this is async, i.e. this just signals the service to do something.
‘GetLicenseCount’ then helps to determine license issues.

Sadly these are not exposed in Python.

I would also ask you to provide a log about loading and unloading of libraries. CVCFile.so in this case, with Python this is a little trickier, however if you just attach gdb to your python application (either python itself or your IDE), this should work too.

The alternative to gdb is strace, but thats just a crazy amount of overhead.

Regarding 4.:
I will have to pass this on to a collegue for testing (I’m gone for a few days).

Hi @lhartu,

We will try to reproduce the described behavior, but in the meantime I would like you to install the latest version of :cvb: (13.02) and check if the issue is still present there: https://forum.commonvisionblox.com/c/downloads
This setup also includes a release version of the python API natively.

Since this discussion is already quite long and detailed, I would like to shift the trouble shooting into an email conversation and come back to the forum to mention the solution.

Just contact support@stemmer-imaging.de and refer to this topic. Please also attach the log files and further information about your system (OS, …) if available.

Cheers,
Thomas