L4T Multimedia API Reference

28.1 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
multimedia_api/ll_samples/docs/l4t_mm_camera_caffe_guide.md
Go to the documentation of this file.
1 Copyright (c) 2014-2017, NVIDIA CORPORATION. All rights reserved.
2 <!-- Sample is in the 11_camera_object_identification directory. -->
3 
4 @page l4t_mm_camera_caffe_group 11_camera_object_identification
5 @{
6 
7  - [Overview](#overview)
8  - [Building and Running](#build_and_run)
9  - [Flow](#flow)
10  - [Key Structure and Classes](#key)
11 
12 
13 - - - - - - - - - - - - - - -
14 <a name="overview">
15 ## Overview ##
16 
17 The camera with CAFFE object identification sample demonstrates how to capture the image
18 from the camera, convert the data through [NvVideoConverter](classNvVideoConverter.html) without memory copy, feed
19 the memory pointer to OpenCV, and run CAFFE model zoo for the object identication algorithm.
20 
21 This sample adds zoo object identification into part of the consumer thread. This is
22 achieved via the `opencv_img_processing()` function invoked by the capture plane callback.
23 The code is located under `opencv_consumer_lib` to integrate deep learning function as a
24 sample. Frame rate is not part of the key consideration.
25 
26 #### Additional Details
27 
28 CAFFE object identication uses OpenCV Mat as the input and output structure. For more
29 information, see:
30 
31 * http://caffe.berkeleyvision.org/model_zoo.html
32 
33 
34 <a name="build_and_run">
35 - - - - - - - - - - - - - - -
36 ## Building and Running
37 
38 See [Building and Running](11_camera_object_identification_build_and_run.html)
39 <!-- I can't get the @ref to work for this link, so resorting to direct HTML link. -->
40 
41 <a name="flow">
42 - - - - - - - - - - - - - - -
43 ## Flow
44 The following diagram shows the flow of data in this sample.
45 
46 ![Data Flow](l4t_mm_camera_caffe.jpg)
47 
48 <a name="key">
49 - - - - - - - - - - - - - - -
50 ## Key Structure and Classes ##
51 
52 The `struct context_t` global structure manages all of the resources in the application.
53 
54 The [NvVideoConverter](classNvVideoConverter.html) class packages all video converting related elements and functions. The
55 sample uses the following key members:
56 
57 | %NvVideoConverter | Description |
58 | ---------------- | ----------- |
59 | [output_plane](classNvV4l2Element.html#aaba251827cef1b23e7c42f776e95fee5) | Specifies the output plane. |
60 | [capture_plane](classNvV4l2Element.html#a91806d7ed13b4b2c48758e8a02f46c6d) | Specifies the capture plane. |
61 | [waitForIdle](classNvVideoConverter.html#a2f5d1a234427862adf9cae7323b5e24c) | - |
62 | setOutputPlaneFormat | Sets the output plane format. |
63 | setCapturePlaneFormat | Sets the capture plane format. |
64 
65 
66 
67 
68 
69 @}
70 
Defines a helper class for V4L2 Video Converter.