Welcome to Raspberry Pi 5 repository
7.Contour moment
7.Contour moment
Moment functions are widely used in image analysis, such as pattern recognition, target classification, target recognition and orientation estimation, image encoding and reconstruction, etc. The moment set calculated from an image can not only describe the global characteristics of the image shape, but also provide a large amount of different geometric feature information about the image, such as size, position, direction and shape. The description ability of image moments is widely used in target recognition and orientation estimation in various fields of image processing, computer vision and robotics.
First moment: related to shape;
Second moment: shows how much the curve extends around the mean of the straight line;
Third-order moment: a symmetry measurement about the mean value; 7 invariant moments can be derived from the second-order moment and the third-order moment. The invariant moment is a statistical characteristic of the image, which satisfies the invariance of translation, expansion and contraction, and rotation, and is widely used in the field of image recognition.
7.1 Use
Source code launch file path:/opt/ros/noetic/share/opencv_apps/launch
Step 1: Start the camera
roslaunch dofbot_visual opencv_apps.launch img_flip:=false
img_flip parameter: whether the image needs to be flipped horizontally, the default is false.
The [usb_cam-test.launch] file opens the [web_video_server] node by default, and you can directly use the [IP:8080] web page to view images in real time.
Step 2: Start the corner detection function of Opencv_apps
xxxxxxxxxxroslaunch opencv_apps contour_moments.launch # Contour momentEach functional case will have a parameter [debug_view], Boolean type, whether to use Opencv to display images, which is displayed by default.
If no display is required, set it to [False], for example
xxxxxxxxxxroslaunch opencv_apps contour_moments.launch debug_view:=FalseHowever, after starting in this way, some cases cannot be displayed in other ways, because in the source code, some [debug_view] is set to [False], which will turn off image processing.
7.2 Display method
rqt_image_view
Enter the following command to select the corresponding topic
xxxxxxxxxxrqt_image_view
opencv
The system displays it by default, no need to do anything.
Web viewing
(Same as under LAN) Enter IP+port in the browser, for example:
xxxxxxxxxx192.168.2.116:8080
For specific IP, use your current virtual machine IP.
7.3 Effect display
Contour moments use parameters. There will be a topic for subscribing images and publishing images.
| Parameter | Type | Default | Analyze |
|---|---|---|---|
| ~use_camera_info | bool | true | Subscribe to the topic [camera_info] to get the default coordinate system ID, otherwise use the image information directly. |
| ~debug_view | bool | false | Whether to create a window to display the node image |
| ~canny_low_threshold | int | 0 | Canny edge detection low threshold |
| ~queue_size | int | 3 | Queue size |
Effect picture:
