{
    "camitk": {
        "extensions": {
            "actions": [
                {
                    "classification": {
                        "family": "Python",
                        "tags": [
                            "Tutorial",
                            "Open CV",
                            "Webcam"
                        ]
                    },
                    "componentClass": "",
                    "description": "Acquire an image using a camera. \n\nDuring startup, this action checks the cameras available to the computer and prepares a list with their index. \n\nChoose the camera id in the list, and click \"Apply()\" to acquire an image.\n\nAfter an acquisition, you may select the newly created image component to start video acquisition using the 'Video Capture' action of the Python family.",
                    "gui": "Default Action GUI",
                    "name": "Acquire Image",
                    "parameters": [
                    ]
                },
                {
                    "classification": {
                        "family": "Python",
                        "tags": [
                            "Tutorial",
                            "OpenCV",
                            "Video",
                            "Capture"
                        ]
                    },
                    "componentClass": "ImageComponent",
                    "description": "Video acquisition using OpenCV. It continuously replaces the image data of the selected component using the video feed.\n\nThis action uses a timer to refresh the image.\n\nNote that you need to run the \"Acquire Image\" first in order to get an image with the proper dimensions.",
                    "gui": "Default Action GUI",
                    "name": "Video Capture",
                    "parameters": [
                        {
                            "defaultValue": 0,
                            "description": "Video frame counter (updated each time a new frame is captured).",
                            "group": "",
                            "maximum": 2147483647,
                            "minimum": 0,
                            "name": "Video Frame",
                            "readOnly": true,
                            "singleStep": 1,
                            "type": "int",
                            "unit": ""
                        }
                    ]
                },
                {
                    "classification": {
                        "family": "Python",
                        "tags": [
                            "Tutorial",
                            "OpenCV",
                            "Video",
                            "Capture"
                        ]
                    },
                    "componentClass": "",
                    "description": "Video acquisition using OpenCV.\n\nCreates a new RGB image component and continuously replaces its image data using the video feed.\n\nThis action uses a timer to refresh the image.",
                    "gui": "Default Action GUI",
                    "name": "Acquire Video",
                    "parameters": [
                    ]
                },
                {
                    "classification": {
                        "family": "Python",
                        "tags": [
                            "Tutorial",
                            "OpenCV",
                            "Video",
                            "Capture"
                        ]
                    },
                    "componentClass": "",
                    "description": "Same as 'Acquire Video' action, but using a external python script to detect available cameras (see 'Acquire Image') and grab video image  using OpenCV.\n\nThis demonstrates how you can use a clean design in your action by using an architecture where independent code is glued to CamiTK to offer UI and interoperability.",
                    "gui": "Default Action GUI",
                    "name": "Acquire Video (Using Script)",
                    "parameters": [
                    ]
                },
                {
                    "classification": {
                        "family": "Python",
                        "tags": [
                            "Tutorial",
                            "OpenCV",
                            "Video",
                            "Capture"
                        ]
                    },
                    "componentClass": "",
                    "description": "Video acquisition using OpenCV.\n\nCreates a new  image component and continuously replaces its image data using the video feed. \nThree types of video can be acquired:\n- grayscale video\n- RGB video\n- HSV mode video\n\nYou can pause/restart the video acquisition at any time.\n\nThis action uses a timer to refresh the image.",
                    "gui": "Default Action GUI",
                    "name": "Acquire Video (Color Mode)",
                    "parameters": [
                        {
                            "defaultValue": 0,
                            "description": "Set the output image color mode",
                            "enumValues": [
                                "Color",
                                "Grayscale",
                                "HSV"
                            ],
                            "group": "",
                            "name": "Mode",
                            "readOnly": false,
                            "type": "enum",
                            "unit": ""
                        }
                    ]
                }
            ],
            "applications": [
            ],
            "components": [
            ],
            "contact": {
                "author": "CamiTK team",
                "email": "timc-camitk-contact@univ-grenoble-alpes.fr"
            },
            "description": "A python tutorial to demonstrate video acquisition using opencv and the default image component.\n\nThis tutorial requires opencv-python for the video/image acquisition as well as PySide2 to create timers.",
            "language": "Python",
            "libraries": [
            ],
            "license": "LGPL-3 CamiTK",
            "name": "Python OpenCV Test",
            "requirements": [
                "opencv-python",
                "PySide2"
            ],
            "viewers": [
            ]
        },
        "timestamp": "2025-06-16T14:25:13",
        "version": "camitk-6.0"
    }
}
