Haikang vision platform VisionMaster operator tool learning--01

Hikvision VisionMaster will be referred to as VM hereafter.

In my opinion, the VM is well designed. But VM's help documentation, routines. It's pretty sloppy. It is entirely the result of coping.

So I am here to open a series to explain the commonly used operators and introduce the application scenarios.

VM has a total of more than 100 operator tools. I will follow my understanding. Classify and explain.

1) Communication category: data receiving, data sending, protocol analysis, communication management, trigger tools.

2) Logic flow class: condition detection, branch module, conditional branch, loop.

3) Positioning category: matching, position correction.

4) Find points and find edges: find circles, find straight lines, etc. 

5) Calculation category: measurement of points, wires, lines, etc. Straight line, circle fitting. Angle bisector, perpendicular calculation. Rotate calculations.

6) Calibration: N point calibration, calibration plate calibration.

7) Auxiliary classes: formatting, geometry creation, and rendering display settings.

8) Independent tools: barcode detection, character defect detection. And deep learning also falls into this category

9) Image processing: image operation, color, morphology, etc.


1) Communication class: This type of operator has nothing to do with image processing. I think the key is to understand binary. After understanding binary, various communication issues are easy to understand. I wrote about it in a previous post. I won't repeat it here. yo link below.

3 Hikvision Vision Platform VisionMaster Getting Started Series: Communication_HuangGong2022's Blog-CSDN Blog

2) Logic flow class: refers to, when you spend logic flow charts, you need to use: sequential execution, conditional execution, and loop execution. Corresponding operator. This type of operator has nothing to do with image processing. But it's important. To make a metaphor, communication and logic tools are used to build the skeleton of the visual program. It is the very foundation of the program. All kinds of ingenious image algorithms belong to the skin and appearance. There is something wrong with the skeleton, no matter how good the skin is. It is also disabled after all. Therefore, we must not look down on these foundations.

I think VM is well designed. It is very important that the logic flow is very convenient for the VM to establish communication. Writing a program flow is exactly the same as writing a detailed ppt flow chart.

a. Sequential execution: The execution sequence of VM modules is based on the direction of the arrow, which can be seen directly, which is very intuitive.

b. Conditional execution: It is the interpretation of the flow chart (the diamond in the flow chart of ppt), according to whether the condition is true, let the process go in the direction that does not work. As shown in Figure 1 below, through the <Condition Detection> tool module, multiple conditions can be combined with, or, and not.

 As shown in the figure below, using <Branch Module> can perform multi-branch selection according to the result of the previous <Condition Detection>.

 The above is the most basic use of conditional execution.

c. Loop execution: As shown in the figure below, the VM loop is implemented through gruop. Corresponding tool <Group>

Click the small wrench icon to set the cycle enable. Loop conditions can be set.

Double-click the Group icon to enter the editing cycle content. Inside the loop is a complete process. Any process can be edited.

My suggestion for recycling is that if you can use it without it, you don't need it. The reason is that the Group module has a bug.

First, after the group loop is enabled, single-step debugging cannot be performed. Very unfriendly for debugging.

Second, when the internal exception of a single group prevents the loop from being terminated, the program is stuck. The loop cannot be forcibly terminated outside. You can only force quit the program.

In most cases, the loop can be realized by triggering the process itself.

There is only one case where a loop must be used: when the template matches multiple objects and the same processing needs to be done on multiple objects.

Only in this case, the group loop must be used. It is recommended to turn off the loop when debugging. Manually pass in the serial number of the template object to debug.

 


That's all for this post. Continue to the next post.

PS:

Communication, the logical flow, is the skeleton of the vision program. Be sure to hold firmly. Don't be put off by the simplicity. The result is that when working on a project, a lot of time is wasted to check the process logic and the communication is abnormal.

It's like elementary school students learning mathematics, first master the four operations and the 99 multiplication table. Don't leave a tail. Don't wait until you learn to solve equations and make mistakes all the time.

 

 

Guess you like

Origin blog.csdn.net/HuangGong2022/article/details/131223472