MvCameraControl.dll is not found in the Python sample program for CS/EG series cameras

When executing the Python program of CS/EG series cameras, the following error message may be displayed and cannot be executed.

 

FileNotFoundError: Could not find module ‘MvCameraControl.dll’

 

This is due to the fact that the folder where the MvCameraControl.dll resides is not passed through the Windows path.

 

MvCamCtrldll = WinDLL(“MvCameraControl.dll”)

 

In the case of Windows, adding the path to the MvCameraControl.dll to the environment variable solves the problem, but it is easier to change the line where the error occurs as follows.

 

・Changes for 32-bit environments

MvCamCtrldll = WinDLL(“C:\Program Files (x86)\Common Files\MVS\Runtime\Win32_i86\ MvCameraControl.dll”)

 

 

・Changes for 64-bit environments

MvCamCtrldll = WinDLL(“C:\Program Files (x86)\Common Files\MVS\Runtime\Win64_x64\ MvCameraControl.dll”)

 

I WANT TO USE OPENCV WITH A PYTHON MR./MS. PROGRAM FOR CS/EG SERIES CAMERAS (IN THE CASE OF MONOCHROME)

The Python program for CS/EG series cameras is not coded for use with OpenCV. This is because it does not depend on any specific library and is a generic code.

The following is an example of “GrabImage.py”.

Python-OpenCV uses numpy, and the image data is treated as a numpy array. In GrabImage.py, we use MV_CC_GetOneFrameTimeout() within work_thread() to get the image, but the image data is passed in pData.

However, this is a pointer in C and cannot be used in OpenCV as is. That’s why we need to convert this pData to a numpy array.

1) Add the following two lines of import statements:

import numpy as np
import cv2

 

2) __main__ ret = cam. Before the MV_CC_StartGrabbing () line, add the following line to set the image data format output from the camera to monochrome.

ret = cam. MV_CC_SetEnumValueByString(“PixelFormat”,” Mono8″)

 

3) Inside the work_thread(), add code to convert pData to numpy array. (I’ll also add two lines: cv2.imshow() and cv2.waitKey() so you can see the image)

 

def work_thread(cam=0, pData=0, nDataSize=0):

    stFrameInfo = MV_FRAME_OUT_INFO_EX()

    memset(byref(stFrameInfo), 0, sizeof(stFrameInfo))

    while True :

        ret = cam.MV_CC_GetOneFrameTimeout(pData, nDataSize, stFrameInfo, 1000)

        if ret == 0:

            print (“get one frame: Width[%d], Height[%d], nFrameNum[%d]”  % (stFrameInfo.nWidth, stFrameInfo.nHeight, stFrameInfo.nFrameNum))

            image = np.asarray(pData._obj)

            image = image.reshape((stFrameInfo.nHeight, stFrameInfo.nWidth))

            cv2.imshow(“show”, image)

            cv2.waitKey(1)

        else:

            print (“no data[0x%x]” % ret)

        if g_bExit == True:

            break

 

 

I WANT TO USE OPENCV IN THE PYTHON MR./MS. PROGRAM OF CS/EG SERIES CAMERAS (FOR RGB)

The Python program for CS/EG series cameras is not coded for use with OpenCV. This is because it does not depend on any specific library and is a generic code.

 

In the following, we will use “GrabImage.py” as an example.

Python-OpenCV uses numpy, and image data is treated as a numpy array. In GrabImage.py, the image is acquired by MV_CC_GetOneFrameTimeout () in the work_thread (), and the image data is passed in pData, but this is a pointer in C language, and it cannot be handled by OpenCV as it is. That’s why we need to convert this pData to a numpy array.

 

1) Add the following two lines of import statements:

  • import numpy as np
  • import cv2

2) __main__ ret = cam. Before the MV_CC_GetIntValue(“PayloadSize”, stParam) line, add the following line to set the image data format output from the camera to RGB.

 

  • ret = cam.MV_CC_SetEnumValueByString(“PixelFormat”, “RGB8Packed”)

The RGB8Packed part varies depending on the camera, so open MVS, connect the camera, and select the appropriate string from Feature Tree → Image Fromat Control → Pixel Format.

 

Display in MVS Corresponding string
RGB 8 RGB8Packed
BGR 8 BGR8Packed

 

 

RGB

 

 

3) Inside the work_thread(), insert the code that converts pData to numpy arrays. (I’ll also add two lines, cv2.imshow() and cv2.waitKey(), so you can see the image.) 

 

def work_thread(cam=0, pData=0, nDataSize=0):

    stFrameInfo = MV_FRAME_OUT_INFO_EX()

    memset(byref(stFrameInfo), 0, sizeof(stFrameInfo))

    while True :

        ret = cam.MV_CC_GetOneFrameTimeout(pData, nDataSize, stFrameInfo, 1000)

        if ret == 0:

            print (“get one frame: Width[%d], Height[%d], nFrameNum[%d]”  % (stFrameInfo.nWidth, stFrameInfo.nHeight, stFrameInfo.nFrameNum))

            image = np.asarray(pData._obj)

            image = image.reshape((stFrameInfo.nHeight, stFrameInfo.nWidth,3))

            cv2.imshow(“show”, image)

            cv2.waitKey(1)

        else:

            print (“no data[0x%x]” % ret)

        if g_bExit == True:

            break

 

 

I WANT TO USE OPENCV IN THE PYTHON MR./MS. PROGRAM OF CS/EG SERIES CAMERAS (IN THE CASE OF BAYER)

The Python program for CS/EG series cameras is not coded to rely on OpenCV to be compatible with OpenCV. It is a generic code that does not depend on any specific library.

 

In the following, we will use “GrabImage.py” as an example.

 

Python-OpenCV treats image data as numpy arrays, so you need to adapt to its data format. In GrabImage.py, we use MV_CC_GetOneFrameTimeout() in work_thread() to get the image, and the image data is passed in pData, which is equivalent to a pointer in C.

 

As it is, it cannot be handled by OpenCV, so we need to convert this pData to a numpy array. Follow the steps below to do the conversion.

 

1) Add the following two lines of import statements:

  • import numpy as np
  • import cv2

2) __main__ ret = cam. Before the MV_CC_StartGrabbing () line, add the following line to set the image data format output from the camera.

  • ret = cam.MV_CC_SetEnumValueByString(“PixelFormat”,”BayerRG8“)

The BayerRG8 part varies depending on the camera, so open MVS, connect the camera, and select the appropriate string from Feature Tree → Image Fromat Control → Pixel Format.

 

Display in MVS Corresponding string
 Bayer RG 8

 BayerRG8

 Bayer GR 8

 BayerGR8

 Bayer BG 8

 BayerBG8

 Bayer GB 8

 BayerGB8

 

PythonサンプルプログラムでOpenCVを使いたい件01

 

 

3)Inside work_thread(), add code to convert pData to numpy arrays. (I’ll also add two lines, cv2.imshow() and cv2.waitKey(), so that you can check the image.) 

def work_thread(cam=0, pData=0, nDataSize=0):

    stFrameInfo = MV_FRAME_OUT_INFO_EX()

    memset(byref(stFrameInfo), 0, sizeof(stFrameInfo))

    while True :

        ret = cam.MV_CC_GetOneFrameTimeout(pData, nDataSize, stFrameInfo, 1000)

        if ret == 0:

            print (“get one frame: Width[%d], Height[%d], nFrameNum[%d]”  % (stFrameInfo.nWidth, stFrameInfo.nHeight, stFrameInfo.nFrameNum))

            image = np.asarray(pData._obj)

            image = image.reshape((stFrameInfo.nHeight, stFrameInfo.nWidth))

            image = cv2.cvtColor(image, cv2.COLOR_BayerBG2BGR)

            cv2.imshow(“show”, image)

            cv2.waitKey(1)

        else:

            print (“no data[0x%x]” % ret)

        if g_bExit == True:

            break

 

cv2. Enter a character string corresponding to the character string you just entered in the COLOR_BayerBG2BGR part.

 

  Corresponding string
 BayerRG8

 cv2.COLOR_BayerBG2BGR

 BayerGR8

 cv2.COLOR_BayerGB2BGR

 BayerBG8

 cv2.COLOR_BayerRG2BGR

 BayerGB8

 cv2.COLOR_BayerGR2BGR

 

The notation of the second argument of cv2.cvtColor() does not match the intuitive Bayer sequence.

This is an OpenCV specification.

 

Specifications can be found below.

 

PythonサンプルプログラムでOpenCVを使いたい件02

 

 

If the color of the video is incorrect, you may have made a mistake in the second argument of cv2.cvtColor().

 

THE CAMERA CANNOT BE FOUND USING SOFTWARE THAT USES DIRECTSHOW WITH AN ACCOUNT THAT DOES NOT HAVE ADMINISTRATOR PRIVILEGES.

DirectShow source filters will not be enabled if you set up the driver with an account that does not have administrator privileges.

 

If you have set up the driver with an account that does not have administrator privileges, you can enable the DirectShow source filter by following the steps below.

 

1) Sign in again with an account that has administrator privileges.

 

2) Connect the camera and wait until the driver is installed.
The important thing is to connect the camera using an account with administrator privileges at least once after setting up the driver.

 

3) Restart Windows.

 

4) After restarting, sign in again using an account with administrator privileges.
At this time, the DirectShow source filter is enabled.

 

After performing this step, even if the account does not have administrator privileges,
DirectShow source filter can now be used.

High-performance image processing/image analysis software with Standard Material option WinROOF 2023

Easily digitize the evaluation of metal materials according to various industrial standards with one software!

In addition to various measurement functions, four measurements for metal material evaluation are possible!

<Measurement items>
・Graphite nodularity measurement
・DAS measurement
・Nonmetallic inclusion measurement
・Crystal grain size measurement

 

・Eliminates variation in measurement results!

・Compatible with new standards!

BRINELL HARDNESS TEST SOFTWARE (DENT DIAMETER READING SOFTWARE) BHN MESURE (MANUFACTURED BY NIPPON STEEL TECHNOLOGY CO., LTD.)

Brinell hardness measurement is possible with high precision and little individual variation

●Image processing technology enables highly accurate Brinell hardness measurement with little individual variation.

●Conforms to JIS Z 2243 and ASTM E10-08 Standard Test Method for Brinell Hardness of Metallic Materials, hardness value calculation and display conforms to JIS standards

●Easy operation with optional hand switch

I WANT TO PROGRAM A CS/ EG SERIES CAMERA IN PYTHON.

Python is one of the programming languages and has the following characteristics.

1. Simple syntax: Python’s syntax is very simple and easy to read, making it easy to learn even for beginners in programming.

2. Extensive libraries: Python has a large number of libraries that make it easy to perform a variety of tasks.

3. Multiplatform: Python runs on a variety of platforms, including Windows and Linux.

4. Open source: Python is open source and free to use, so anyone can use it.

5. Versatile: Python is suitable for a variety of applications, including web development, data analytics, machine learning, artificial intelligence, automation, and game development.

 

For these reasons, Python is now widely used by beginners and professional developers alike.

We also lend out cameras, so download the driver and check how it works (SDK is also included).

Even if it is a distribution that has been confirmed by us, please check the operation.

■ For Windows

Follow the setup instructions in the downloaded folder to complete the setup.

The Python Mr./ Ms. code can be found in the following location, so please refer to it when creating your program.

 

pythonサンプルコード1

 

 

 

■ For Linux

Also, since there are various variants of Linux, it is not possible to provide drivers for all distributions.

Even our verified distributions do not guarantee 100% operation.

Follow the setup instructions in the downloaded folder. The Python Mr./Ms. code can be found here:

Choose 32-bit or 64-bit according to your CPU. Please refer to the Mr./Ms. code to create a program.

 

pythonサンプルコード2

 

 

 

THINGS TO CHECK WHEN IT SUDDENLY STOPS WORKING

If your camera suddenly stops working, first check the following.
a) Try disconnecting and reconnecting the cable.

 

b) Is the camera correctly recognized as an imaging device in Device Manager?

Imaging devices have the following names.
For USB2.0 camera, “NET ICube_CVam Device USB20”
For USB3.0 camera, “NET ICube_CVam Device USB30”
There is no imaging device in the device manager or the name icon above!
It will not work if it is marked with or x.
In this case, try setting up the driver again
using an account with administrator privileges.

 

c) If it is recognized in b), does the name of the connected camera exist in the camera model on the top left in iControl?
“NET3 4133 CU” “NET 1044 CU” etc.

 

d) If the name of the camera is in iControl in c), is it possible to obtain an image by pressing the Start button?
(Connect the camera, start it, and see if an image appears)

 

e) If the image is not output in step d) and the image is pitch black,
and the frame value at the bottom has not increased, shut down the PC,
restart it, and perform step d) again.
If the frames value is increasing, the aperture may not be wide enough or the amount of light may be insufficient.

 

f) Is it possible to improve by lowering the clock value?

CAMERA CURRENT CONSUMPTION

<Target model>
DN2G-30 / DN2G-30K / DN2G-30BU / DN2G-30BUK
DN2RG-130 / DN2RG-130K / DN2RG-130BU / DN2RG-130BUK
DN2RG-200 / DN2RG-200K / DN2RG-200BU / DN2RG-200BUK

DN3G-30 / DN3G-30K / DN3G-30BU / DN3G-30BUK
DN3RG-130 / DN3RG-130K / DN3RG-130BU / DN3RG-130BUK
DN3RG-200 / DN3RG-200K / DN3RG-200BU / DN3RG-200BUK

200mA or less

 

 

<Target model>
DN2R-300 / DN2R-300K
DN2R-500 / DN2R-500K / DN2R-500BU / DN2R-500BUK
DN2R-1000 / DN2R-1000K / DN2R-1000BU / DN2G-1000BUK

DN3R-300 / DN3R-300K
DN3R-500 / DN3R-500K / DN3R-500BU / DN3G-500BUK
DN3R-1000 / DN3R-1000K / DN3R-1000BU / DN3G-1000BUK

DN3V-300 / DN3V-300K
DN3V-500 / DN3V-500K / DN3V-500BU / DN3V-500BUK
DN3V-1000 / DN3V-1000K / DN3V-1000BU / DN3V-1000BUK

300mA or less

I WANT TO PROGRAM A CS/EG SERIES CAMERA ON LINUX.

We recommend using a UVC camera when programming in a Linux environment.

In general, UVC cameras are recognized and easy to use on Linux without installing any drivers.

In addition, in combination with OpenCV, it is relatively easy to program.

 

However, UVC cameras may not be available for the following reasons:

・When long-distance wiring is required.

If you want to use a camera with a resolution that is not included in our industrial UVC camera lineup.

・ When it is difficult to distinguish the dropped frame.

・ If OpenCV does not have a white balance function (there is a solution).

・If you want to actively use camera functions that cannot be set by OpenCV (e.g., trigger delay setting, etc.).

 

In this case, you need to set up a driver for Linux for your industrial camera and make it available on Linux.

There are various derivatives of Linux. As a result, there are very few applications that work on all Linux distributions.

Our industrial cameras (CS/EG series) also do not provide drivers for all distributions.

You can check the Linux distributions that have been confirmed to work from the following.

You can also borrow a camera, so download the driver and check the operation (SDK is also included).

In addition, even if it is a distribution that has been confirmed by us, please check the operation.

 

Shodensha’s Industrial USB Camera GigE Camera Lineup

 

 

USB Camera

Lineup list

 

400,000 pixels ~ 20,000,000 pixels
Color/Monochrome

We have a good lineup.

 

 

 

 

GigE Camera

Lineup list

 

400,000 pixels ~ 20,000,000 pixels
Color/Monochrome

We have a good lineup.

 

WHO IS THE MANUFACTURER OF THE IMAGE SENSOR?

●DN3G-30 / DN3G-30K / DN3G-30BU / DN3G-30BUK:
MT9V032 ON Semiconductor (formerly Aptina)

 

●DN3RG-130 / DN3RG-130K / DN3RG-130BU / DN3RG-130BUK:
EV76C560 e2v technologies

 

●DN3RG-200 / DN3RG-200K / DN3RG-200BU / DN3RG-200BUK:
EV76C570 e2v technologies

 

●DN3R-300/DN3R-300K:
MT9T001 ON Semiconductor (formerly Aptina)

 

●DN3R-500/DN3R-500K:
MT9P001 ON Semiconductor (formerly Aptina)

 

●DN3R-500BU/DN3R-500BUK:
MT9P031 ON Semiconductor (formerly Aptina)

 

●DN3R-1000 / DN3R-1000K / DN3R-1000BU / DN3R-1000BUK:
MT9J003 ON Semiconductor (formerly Aptina)

WHERE CAN I FIND THE MANUAL FOR MVS?

When you install MVS, the instructions are also installed.

 

This article describes where to find the MVS documentation.

■ For Windows

 

If you installed MVS on Windows, you will be provided with two instructions.

①「pdf.pdf」

One is in PDF format, where you can find detailed information and instructions.

 

②「index.html」

The other one is in HTML format, which allows you to check detailed information and instructions through your browser.

 

■ For Linux

MVSの説明書02

 

If you installed MVS in a Linux environment, one instruction manual is provided.

 

「pdf.pdf」

Its instructions are in PDF format, where you can find detailed information and instructions.

 

HOW TO RECORD VIDEO WITH AN EXTERNAL SIGNAL (TRIGGER SIGNAL)

Our CS series of USB cameras and EG series of GigE cameras are equipped with an external signal input terminal on the camera to support image storage from external signals.

(An optional trigger cable is required to input the signal.) 

 

However, the standard software does not have a built-in function to save from external signals, so you need to use the optional software or create a program using the included SDK.

 

There are two main types of optional software that saves still images with the input of an external signal.

 

The main difference is between the type that always displays live in the external signal standby state and the type that displays still images saved by the most recent signal without live display in the external signal standby state.

The advantage of the always-on live display type is that you can always check the video. Conversely, you can’t check the saved images without accessing the save folder.

Always-Live Display Type HiTriggerQ

The advantage of the still image display type saved by the last signal is that you can always check whether the image is saved normally.

On the other hand, if you want to display live video, you need to cancel the external signal standby state.

Still image storage type saved by the last signal HiTriggerF Pro

If you want to create a program, please use the SDK in the camera driver installation folder.

ドライバーインストールフォルダにあるSDKをご活用ください

 

If you want to save an image with an external trigger on a camera that does not have an external signal input terminal, you can also use a ready-made input box or other method to call the shortcut key of the software from the outside and save it.

 

 

 

ABOUT THE PORT OF THE COMPUTER TO WHICH THE USB 3.0 CAMERA IS CONNECTED

USB 3.0 cameras that support the USB 3.0 standard are characterized by high power supply capability and communication speed. However, when you connect it to your computer, it may not work properly unless you connect it to the appropriate port.

In this article, we will introduce the appropriate port for connecting a USB 3.0 camera to a computer.

USB port when connecting a USB 3.0 camera

 

To use a USB 3.0 camera, you need to connect it to a USB 3.0 (or USB 3.1, USB 3.2) port on your computer.

When a USB 3.0 camera is connected to a USB 2.0 port, it may not work properly due to power supply capacity or communication speed.

 

 

■ Difference between USB 1.1, 2.0 and 3.0

 

Name

Maximum data transfer rate

Power delivery capacity

USB1.1

12Mbps

5V 100mA

USB2.0

480Mbps

5V 500mA

USB3.2 Gen1(USB3.0)

5Gbps

5V 900mA

USB3.2 Gen2

10Gbps

5V 900mA

USB3.2 Gen2x2

20Gbps

5V 900mA

※USB 3.0 was renamed to USB 3.1 Gen 1 in 2013 and USB 3.2 Gen 1 in 2019.

 

As mentioned above, the maximum data transfer speed (communication speed) of USB 2.0 is 40 times that of USB 1.1, and USB 3.0 is about 400 times that of USB 1.1.

 

How to check if the USB port is 3.0

Here are three ways to check if your computer’s port is USB 3.0.

Method 1 Check the color of the port.

The standard color of USB 3.0 ports is blue, and it is generally expected to be blue.

USB3.0ポートの確認1

However, in rare cases, USB 3.0 may have a port of a color other than blue, or a blue port may not be USB 3.0.

In such a case, please refer to [Method 2] and [Method 3].

Method 2】Check the symbol mark of the port

If the symbol mark “SS (SuperSpeed)” is displayed near the USB 3.0 terminal, you know that the port is USB 3.0.

USB3.0ポートの確認2

Check the symbol mark of the port. If the symbol mark “SS (SuperSpeed)” is displayed near the USB 3.0 terminal, you know that the port is USB 3.0.

Method 3】: Check from your computer’s Device Manager.

You can check the USB port standard from your computer’s Device Manager.

(Device Manager > Universal Serial Path Controller)

USB3.0ポートの確認3

※ The image is from Windows 10. Also, the type and number of ports vary depending on the computer you are using.

Precautions when connecting a USB 3.0 camera to a computer

As of 2023, most computers on the market are equipped with USB 3.0 ports.

 

However, some computers with multiple ports are equipped with both “USB 3.0” and “USB 2.0” ports.

USB3.0ポートの確認4

 

Therefore, please keep the following points in mind when connecting the USB 3.0 camera to your computer.

・ Check the USB port of the computer and connect the camera.

・ Connect the camera directly to a computer without using a USB hub.

※ Depending on the hub, the power and communication speed may be insufficient, and it may not operate properly.

Summary

・The USB 3.0 camera is a camera with high power supply capacity and communication speed that supports the USB 3.0 standard.

・Connect to a USB 3.0 (or USB 3.1, USB 3.2) port for proper use.

 

The USB connection type camera provided by our company is a USB 3.0 camera that supports the USB 3.0 standard.

 

 

 

Industrial USB camera

 

 

 

IF YOUR GIGE CAMERA IS NOISY (E.G. BLACK LINES)

Bayer refers to an array of color filters placed on an image sensor in an industrial camera.

In such a case, you can try the following techniques to resolve the issue.

 

Example: When noise occurs with HiTrigger F-PRO

 

If noise occurs, operate “Settings” → “Camera” from the software menu.
Open the camera properties screen below.

 

Decrease the value of the item “Limit Frame Rate” in the red frame and press “OK”.

 

 

Tracking is reduced, but noise has been resolved.

 

WHAT IS BAYER?

Bayer refers to the color filter array placed on the image sensor in industrial cameras.

In a single-plate camera, the image sensor can only detect brightness (black and white or monochrome), so red, green, and blue color filters are placed on top of each pixel to obtain color information.

These color filters consist of R, G, and B filters arranged in a 2×2 matrix.

Specifically, the arrangement is as follows.

 

Bayer RGGB

 

Bayer BGGR

ベイヤーパターン04   ベイヤーパターン01
     

Bayer GBRG

 

Bayer GRBG

ベイヤーパターン02   ベイヤーパターン03

 

These four patterns are called “Bayer patterns” or “Bayer arrays”.

The camera uses one of these patterns, and the color filter covers the entire image sensor in a repetition of this pattern.

The fact that green is among the two patterns takes into account that the human eye is more sensitive to green than red or blue.

Image data obtained through the color filter of the Bayer pattern is called “RAW data” and does not produce a correct color image even if it is displayed as it is.

Eventually, it is properly processed and converted to a color image, such as the RGB image format.

WHO IS THE MANUFACTURER OF THE IMAGE SENSOR?

●DN3G-30 / DN3G-30K / DN3G-30BU / DN3G-30BUK:
MT9V032 ON Semiconductor (formerly Aptina)

 

●DN3RG-130 / DN3RG-130K / DN3RG-130BU / DN3RG-130BUK:
EV76C560 e2v technologies

 

●DN3RG-200 / DN3RG-200K / DN3RG-200BU / DN3RG-200BUK:
EV76C570 e2v technologies

 

●DN3R-300/DN3R-300K:
MT9T001 ON Semiconductor (formerly Aptina)

 

●DN3R-500/DN3R-500K:
MT9P001 ON Semiconductor (formerly Aptina)

 

●DN3R-500BU/DN3R-500BUK:
MT9P031 ON Semiconductor (formerly Aptina)

 

●DN3R-1000 / DN3R-1000K / DN3R-1000BU / DN3R-1000BUK:
MT9J003 ON Semiconductor (formerly Aptina)

WARNING C4996 APPEARS

It has been reported that the following warning appears in the ICubeSDKSample_x32_x64_vs2010 project on Windows [2.0.4.6].

 

a) warning C4996: ‘MBCS_Support_Deprecated_In_MFC’: MBCS support in MFC is deprecated and may be removed in a future version of MFC.
Warnings can be suppressed by adding the following line below “#define VC_EXTRALEAN” in stdafx.h.
#define NO_WARN_MBCS_MFC_DEPRECATION

 

b)warning C4996: ‘CWinApp::Enable3dControlsStatic’: CWinApp::Enable3dControlsStatic is no longer needed. You should remove this call.
This warning appears when “Use MFC” is set to “Use MFC in static library”.
The Enable3dControlsStatic() function is an old specification and is no longer needed, so please comment out the following line in CICubeSDKSampleApp::InitInstance() of ICubeSDKSample.cpp.
Enable3dControlsStatic(); // Diese Funktion bei statischen MFC-Anbindungen aufrufen

WHEN I BUILD AND RUN THE C# SAMPLE CODE USING X64 RELEASE, THE FOLLOWING ERROR MESSAGE APPEARS AND I CANNOT RUN IT.

When I build and run the C# sample code on x64 Release, the following error message appears and I cannot run it.

 

Error: No ICubeSDK.dll available
 

 

On the Build tab of the C# sample code project properties, select Release for Configuration, x64 for Platform, and define _WIN64 for Conditional Compilation Symbol.

STROBE SIGNAL IS OUTPUT ONLY IN TRIGGER MODE.

The Strobe signal output from the rear terminal of the camera is designed to be output only when the program is set to Trigger mode.
 

 

*Trigger mode refers to setting TRIG_HW_START or TRIG_SW_START to ICubeSDK_SetTrigger() and executing ICubeSDK_Start().
 

 

If you set TRIG_STOP to ICubeSDK_SetTrigger() and execute ICubeSDK_Start(), the Strobe signal will not be output.

ABOUT STROBE SIGNALS USING EXTERNAL TRIGGER SIGNALS FOR USB CAMERAS (DN SERIES)

With USB cameras (DN series), you can check the operation of external signals for shooting and strobe signals without programming.

 

In addition to the optional I/O terminal, the DN series has an output terminal exclusively for strobe signals.

 

トリガー端子について

 

You can switch to external trigger mode using the icon below on the standard application software (iControl).

 

外部トリガーモード

 

I checked the actual movement in this mode.

 

外部トリガーモード

 

A 1ms strobe signal is output by default.

 

This is for operation testing only, so if you want to change the signal time, you will need to create a program.

 

You can also check on the screen how the image will be shot in this situation.
(The captured image will be displayed on the application.)
However, this is for TEST purposes only, so if you want to save this video,
you will need to click the save key again to save it.

WHAT IS THE IMAGE SENSOR SIZE AND PIXEL SIZE OF THE DN SERIES?

DN2G-30 / DN2G-30K / DN2G-30BU / DN2G-30BUK
DN3G-30 / DN3G-30K / DN3G-30BU / DN3G-30BUK
DN3V-30 / DN3V-30K / DN3V-30BU / DN3V-30BUK
Resolution:640 × 480
Element size:1/3 inch
Pixel size:6.0 × 6.0 μm

 

DN2RG-130 / DN2RG-130K / DN2RG-130BU / DN2RG-130BUK
DN3RG-130 / DN3RG-130K / DN3RG-130BU / DN3RG-130BUK
DN3V-130  / DN3V-130K  / DN3V-130BU  / DN3V-130BUK
Resolution:1280 × 1024
Element size:1/1.8 inch
Pixel size:5.3 × 5.3 μm

 

DN2RG-200 / DN2RG-200K / DN2RG-200BU / DN2RG-200BUK
DN3RG-200 / DN3RG-200K / DN3RG-200BU / DN3RG-200BUK
DN3V-200  / DN3V-200K  / DN3V-200BU  / DN3V-200BUK
Resolution:1600 × 1200
Element size:1/1.8 inch
Pixel size:4.5 × 4.5 μm

 

DN2R-300 / DN2R-300K
DN3R-300 / DN3R-300K
DN3V-300 / DN3V-300K
Resolution:2048 × 1536
Element size:1/2 inch
Pixel size:3.2 × 3.2 μm

 

DN2R-500 / DN2R-500K / DN2R-500BU / DN2R-500BUK
DN3R-500 / DN3R-500K / DN3R-500BU / DN3R-500BUK
DN3V-500 / DN3V-500K / DN3V-500BU / DN3V-500BUK
Resolution:2592 x 1944
Element size:1/2.5 inch
Pixel size:2.2 × 2.2 μm

 

DN2R-1000 / DN2R-1000K / DN2R-1000BUK / DN2R-1000BUK
DN3R-1000 / DN3R-1000K / DN3R-1000BUK / DN3R-1000BUK
DN3V-1000 / DN3V-1000K / DN3V-1000BUK / DN3V-1000BUK
Resolution:3840 x 2748
Element size:1/2.3 inch
Pixel size:1.67 × 1.67 μm

SOME CAMERA SETTINGS ARE NOT SAVED WHEN USING SOFTWARE THAT WORKS WITH DIRECTSHOW.

When using a DN series USB2.0/3.0 camera with software that runs on DirectShow, some camera property settings (flip V, flip H) may not be saved and may return to their original state the next time the software is started.
 
 
DN series USB2.0/3.0 cameras save most setting values on the camera body, but flip V and flip H are not saved on the camera body, but are saved on Windows for each account using the DirectShow system. ・Hold.
 
 
At this time, if the driver has been set up at least once with that account, property settings (flip V, flip H) that are not saved on the camera body will be saved in Windows, but if the driver is set up with another account, they will be saved. I know it won’t happen.
 
 
If you want to restore the status of Flip V, Flip H for a specific account the next time you start the software, you can do so by following the steps below.
 
 
1) If your account type is not administrator, change it to administrator.
You cannot set up the driver unless you are an administrator.
 
2) Delete the driver once.
 
3) Set up (reset up) the driver.
 
4) Restart your computer.
If the DN series USB2.0/3.0 camera is not found after restarting, restart again.
 
※ If you set up the driver again, the DirectShow module will also be set up again.

I WANT TO MAKE MY OWN TRIGGER CABLE FOR THE DN SERIES CAMERA.

The AUX connector on the camera side is the SH series connector BM08B-SRSS-TB “Base” manufactured by Japan Scrimping Contact Co., Ltd.
For the connector on the cable side, prepare the “contact” and 8-pin “housing” of the SH series connector.
Contact: SSH-003T-P0.2-H
Housing: SHR-08V-S-B (with handle) or SHR-08V-S (without handle)
*For cable creation, a crimping machine is required to crimp the contacts and wires.
Crimping machine: AP-K2N

HOW TO SAVE DN SERIES VIDEO USING AN EXTERNAL TRIGGER

  Connect the USB camera to your PC.
  Connect the included trigger cable.
  The two from the left are trigger inputs.

 

 

This is a voltage input. The following is a switch box for our demonstration, but you can connect PLC, relay, etc. as you wish.

 

  

 

Launch the trigger software provided by our company.
If you want to save the video using a trigger, select Trigger (save).

 

 

When you open the Basic tag, you can select the save location.

 

 

After making the above settings, press the button on the switch box to save the video.

 

The latest saved video will be displayed on the PC monitor.

 

CAN I USE A DN3 SERIES CAMERA BY CONNECTING IT TO A USB 2.0 TERMINAL?

DN3 series cameras (USB 3.0 specifications) can be used in most cases even when connected to a USB 2.0 terminal
by lowering the camera clock value to less than half of the maximum value.
The data transfer ability of USB2.0 increases the performance of the computer,
so if Bad Frame occurs even if you set the clock value to half of the maximum value,
try lowering the clock value.

CAPACITY WHEN SAVING VIDEOS USING A USB CAMERA

The structure of the video is simply a “flipbook”.
What is used in each page of the “flipbook” is an “image.”

 

For example, with a resolution of 1920 x 1080 (full high-definition) and “30 frames/sec”, 1800 images are required in 1 minute.
If you made this into a video as is, it would be a huge file size of 15GB in 3 minutes.

 

Therefore, if you want to save it as an uncompressed file (extension AVI, etc.), it is common to use a resolution of around 640 x 480 (300,000 pixels).(Even so, the capacity will be about 1MB in 1 second.)

 

If you cannot lower the resolution, you must compress each image one by one using a compression algorithm called a codec to reduce the file size.
Currently, the commonly used “codecs” are H.264 and VP9.
The extension of video files compressed with H.264 is MP4, and the extension of video files compressed with VP9 is webm.

 

By the way, H.264 includes patents, so a license fee will be charged.
For this reason, there are very few free software that has a video recording function that can save videos as MP4 files.
(There seems to be a lot of uncompressed AVI.)

A video that is a series of still images taken at intervals is called a time-lapse, and is also expressed as time-lapse photography.

 

It is the exact opposite of video shot with a high-speed camera (slow-motion video), and is a video that was shot over a long period of time and played back in a short amount of time.

Therefore, unlike long-duration video recording, it is possible to record for a long time with a small amount of storage space.
Also, since each image is a still image, high-resolution photography is possible.

 

<Reference> Below is a sample time-lapse video on YouTube.

https://www.youtube.com/watch?v=UQ_QqtXoyQw

(It can be applied to photographing things that change slowly, such as the movement of microorganisms and tissue culture.)

 

Shooting time-lapse videos is easy, even without special equipment.

 

How to shoot time-lapse

 

(1) Many cameras have a time-lapse shooting function, which makes it easy to take photos.

(2) You can also download a time-lapse compatible app and take pictures with your smartphone.

(3) Take interval shooting and save still images. Use editing software to create a time-lapse video.

 

 

 

How to create time-lapse videos using our products

 

When using our products, use method (3) above.

 

To take interval shots with our USB camera, we use our dedicated software Hi TriggerQ to take pictures of the object and save a large number of still images.

 

 

<Introduction of Hi TriggerQ>

■Interval shooting possible

You can set any time to take interval shots. (1 second to 99999 seconds)

You can also shoot still images, which is useful for creating time-lapse videos.

HiTriggerQ   Hi TriggerQ products

Macro photography using a microscope, line monitoring using a regular fixed focus lens, etc.

No matter what purpose you use, you can use our USB camera to take time-lapse photos.

 

 

 

First, I took interval shots of the inside of my company using the software mentioned above.

 

タイムラプス動画の作成01

 

 

Use editing software to connect these to create a video.

There are editing software such as WindowsLiveMoveMaker, but this time I tried using the free software “Panolapse”.

タイムラプス動画の作成02

 

The free version has resolution limitations, so the resolution of still images has been lowered.

(Restrictions will be removed when you purchase a license.)

 

It will be downloaded in the following format.

 

タイムラプス動画の作成03

 

When you launch Panolapse.exe, a screen like the one below will appear.

 

タイムラプス動画の作成04

 

 

Click “Import to Panolapse” to import all the still images that were taken at intervals earlier.

 

タイムラプス動画の作成05

 

Just click the preview button and it will become a time-lapse video.

 

※Please note※

Time-lapse editing software is not our product.
This will be introduced as an example.

IF THE CS/EG SERIES CAMERA DOES NOT ACHIEVE MAXIMUM FPS

If you are unable to achieve maximum FPS with our industrial cameras (CS/EG series cameras), please check the following items:

 

■ ■ Make sure that the pixel format is not set to RGB or YUV. (Common to CS/EG series)

The maximum FPS listed on our product page is the value when the pixel format is “Bayer 8bit”.

 

Here are two ways to change the pixel format to Bayer.

 

1)Use MVS

If you install the driver for the CS/EG series camera, you can use an application called MVS.

Start MVS and change the pixel format of the camera to “BayerXX 8”.

(XX depends on the camera)

 

CS/EGシリーズカメラで最大FPSが出ない場合01

 

 

2)Use the program

By installing the driver for the CS/EG series camera, you can develop programs using the API.

Change the pixel format to “BayerXX 8” in the program.

(XX depends on the camera)

 

■ Are jumbo packets getting 9K? (EG only)

If you do not exceed 9K (9000 bytes), you will not get the maximum FPS.

 

■ If the maximum FPS is not achieved after following the above steps (EG only)

Try setting “GEV SCPD” to “200” in MVS.

However, setting the value too low can result in packet loss.

 

「Feature Tree」→「Transport Layer Control」→「GEV SCPD」

 

CS/EGシリーズカメラで最大FPSが出ない場合02

 

 

Drivers for CS/EG series cameras can be downloaded from the following links:

 

 

 

 

8MM FIXED FOCAL LENGTH MOTORIZED FOCUS LENS (1.1 INCH, 12MP COMPATIBLE) DL0828UC-MPY

●  Equipped with motor, control board, and USB communication function on the lens body

● You can connect to a PC (Windows / Linux) with a single USB cable to control focus adjustment and aperture adjustment.

● Can be used with general-purpose C-mount cameras (other companies’ C-mount cameras are also possible)

● 12MP compatible high-resolution lens

● Compatible with 1/1.1 inch large elements

● Lens control sample program is included as standard

※ We can develop a lens control program upon request.

HOW TO CONFIGURE JUMBO PACKETS

Below are two ways to set up jumbo packets (jumbo frames).

 

Configuration Method 1: MVS

Our driver comes with MVS, which is installed to set 9K for jumbo packets on the NIC (Network Interface Card).

After installing MVS, the number of NICs may increase by adding PoE boards, etc. In that case, uninstall MVS and install it again, and the jumbo packet will be set to 9K.

 

 

We also sell PoE boards.

 

  EG-IB2    

 

 

Setting Method 2: Control Panel

To change the settings, follow these steps:

“Control Panel” → “Hardware and Sound” → “Device Manager”

 

ジャンボパケット1

 

Double-click the network adapter that contains the NIC (Network Interface Card) to enter its properties interface.

Select the Advanced tab, select Jumbo Packets (Jumbo Frames), and make your changes.

 

 

ジャンボパケット2

SMART CAMERA (COLOR, 6MM LENS) HS3016-06MC | VISUAL INSPECTION CAMERA

Leave the VISUAL INSPECTION to the camera!
With “one camera” and “4 easy steps”, a wide variety of judgments are possible!

● Full of convenient functions for visual inspection!
 ◊ Misalignment judgment
 ◊ Shape judgment
 ◊ Presence or absence judgment
 ◊ Color discrimination
 ◊ OCR function, etc.

● Lens / lighting integrated type! Easy start with one camera

● The waterproof and dustproof standard of the camera is IP67 compliant

※Power supply sold separately
※ LAN cable sold separately

 

HOW TO DISPLAY AND CONTROL IMAGES FROM MULTIPLE USB CAMERAS WITH ONE COMPUTER

There are two ways to display 2 screens or 4 screens (or more multiple screens) with a USB camera.

 

(1)A simple way to use it is to start multiple viewer software that can be started at the same time.
(2)Use software dedicated to displaying multiple screens.

 

1.Launch the viewer software at the same time.

It may also be possible with free software.
However, this may not be possible with the same camera, and stability may be lacking.
We recommend that you try it out before using it.
(Depending on the software, multiple startup itself may be prohibited.)

 

The following is a simple test at our company. (Operation is not guaranteed.)

 

I connected two of our cameras and started up a free software called Amcap multiple times to display two screens.

Amcap   Amcap

 

In the case of two-screen display, only the active screen (the left screen in the above example) can be operated,
so if you want to perform menu operations, you will need to switch screens.

 

2.Use dedicated multi-screen display software.

The software is designed for multiple screen display, so it is stable.
Also, since there is only one menu, operations such as saving are easy.

 

The following is the multiple screen display software created by our company.

 

多画面表示トリガー保存ソフトウェア TriggerQ
3 million pixel color camera and
Example of simultaneous use of 1.3 megapixel monochrome camera

Multi-screen display
trigger save software
Hi TriggerQ

 

Features of Hi TriggerQ

It is possible to control multiple cameras, observe both screens, and save images.
In addition to cameras of the same model number, combinations of different resolutions
and color/monochrome cameras are also possible.
Of course, you can also use it with one camera!
●While live monitoring video, still images from up to 4 cameras (uncompressed bitmap format/JPEG compressed format) can be saved using a trigger signal. (Please contact us if you would like 5 or more units.)
●Camera images are always displayed live. You can shoot while monitoring the video.
●Snapshot function allows you to take still images at any time You can also save still images with a mouse click regardless of the trigger signal.
You can save still images on the spot at any time, such as reference images or scenes of interest.
●You can take interval shots.

 

 

High-performance trigger shooting software
(Multiple device version)
Hi TriggerF PRO4/PRO8

 

Features of Hi TriggerF PRO4/PRO8長

●Save/pause still images (JPEG/BMP) using a trigger signal, just like pressing a camera shutter.

●Positioning and focusing can be done during live display.

●Supports up to 4/8 cameras (please contact us for more!)