Watermarks in images when using genicam harvester

Hi,

I have made a python program to acquire images from a JAI AP-3200T-PGE over GiGe, using the e harvester module and the GenTL producer file supplied with CVB.

This works well, except for the watermark present in the top left corner:
image

The camera suite license have been activated in the CVB license manager, and the required services seems to be running.
image

When acquiring images using the genicambrowser, the watermark does NOT appear.

Attempted fixes so far include:

  1. Re-installing CVB
  2. Installing CVB on another machine
  3. Registering a trial CVB foundation license
  4. disabling windows firewall

I’ve been in contact with Stemmer support but so far no solution has been found. Any suggestions on how to fix this issue would be very welcome.

Kind Regards,

Jesper

Hi Jesper,

can you try to call the GetLicenseCount() function from the CVCImg.dll? You should get a count of 1. Or maybe even easier, could you open the CVB LogGUI and then click:

  • View → Configuration
  • In configuration top right: Insert → Module: GEVTL, Debug
  • Top right save the settings
  • Hit the play button to start logging
  • Start the harvester and get an image
  • Stop logging and File → Save Log as JSON

Please upload the log/send it to me and/or send it to the support. They should have an open case and it should be easiest for us to do the communication over the support case. We can then post the solution.

1 Like

Hi Jesper,

Seing that you were sent here, I would continue publicly :wink:

Thanks for the log file! You can get camera communication errors from time to time. These can have various reasons but normally are not to worry about. Optimizing the NIC is always a good starting point :slight_smile:

Regarding the licensing issue: It looks like there is a problem loading the image library and calling the function “GetLicenseInfo” as expected. The error Unable to open DriverDLL: Unable to load shared library can be ignored as it is a fallback for something similar but not directly related to this issue.
I think you are on windows, right? If so, please try this python script:

import ctypes
import cvb
import os
import sys

if sys.platform == "win32":
    hllDll = ctypes.WinDLL(os.path.join(cvb.install_path(), "CVCImg.dll"))
    hllApiProto = ctypes.WINFUNCTYPE(ctypes.c_int)
    hllApi = hllApiProto (("GetLicenseInfo", hllDll))
    print("Found license info " + str(hllApi()))
else:
    hllApiProto = ctypes.CDLL(os.path.join(cvb.install_path(), "lib", "libCVCImg.so"))
    hllApi = hllApiProto.GetLicenseInfo()
    print("Found license info " + str(hllApi))

Check the error you’ll get.
Either the CVCImg library cannot be loaded
→ Check where it is and maybe delete the file and call repair with the CVB installer
or the function GetLicenseInfo has a problem
→ maybe try to add the CVCImgDLO module (again as debug) to the LogGui and run the python script. If everything goes smoothly and you get 0 as return from GetLicenseInfo there is another problem detecting the correct license type, but that’s less probable.

If you are on Linux, check if the libCVCImg.so is found and linked correctly
ldconfig -p | grep libCVCImg.so
and make sure you installed CVB as user, not as admin using sudo as CVB is installed for the corresponding user and the harvester might be used as the other user.

Best regards
Nico

Hi Nico,

Thanks again for the reply. I am indeed on Windows 10, and running the script you provided i get no error but the following output: “Found license info 8”.

I do not get the CVCImgDLO module as an option in LogGui:
image
Do I need to install an additional package?

In the meantime, I found a workaround for the watermark issue; if the raw buffer is decoded manually, the resulting image does not contain the watermark. I have done this to resolve an issue with acquiring images with higher bit depth than 8-bit for the camera im using: https://forum.commonvisionblox.com/t/acquiring-10-12-bit-rgb-images-from-a-jai-ap-3200t-pge/1430.
EDIT: i was wrong, the watermark persists in the manually decoded images.

Kind regards,

Jesper

You shoud get the log module when the module first ran. Maybe after opening the camera over the CVB Viewer or GenICam Browser.
Please try to add the CVB installation path to python with sys.path.append(). It could be that the DLL is not found because the path is not available with only the harvester used. The same could be accommplished by import cvb before the harvester.
You could also check if you get a watermark in the images when using CVB for acquisition. The watermarking should be the same.

If that does not work, I would ask you to get in contact with our support staff again. At this point it should be their responsibility to help you out. They should not refer you back to the forum. If they say otherwise feel free to refer to my post. Sorry for all the referrals.

2 Likes

Hi Nico,

Adding import cvb on the line above harvester import did the trick!!! Thank you very much for the help.

Kind Regards,

Jesper

2 Likes