From ed801d3e6523e593d94ae75c5d9857239bdd86e4 Mon Sep 17 00:00:00 2001 From: Bernat Gabor Date: Mon, 8 Aug 2011 05:58:10 +0000 Subject: [PATCH] Added the "Interoperability with OpenCV 1" tutorial. --- .../images/outputInteropOpenCV1.jpg | Bin 0 -> 25948 bytes .../interoperability_with_OpenCV_1.rst | 132 +++++++++++++++++++++ .../images/interopOpenCV1.png | Bin 0 -> 11928 bytes .../table_of_content_core.rst | 24 +++- .../interoperability_with_OpenCV_1.cpp} | 2 +- 5 files changed, 156 insertions(+), 2 deletions(-) create mode 100644 doc/tutorials/core/interoperability_with_OpenCV_1/images/outputInteropOpenCV1.jpg create mode 100644 doc/tutorials/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.rst create mode 100644 doc/tutorials/core/table_of_content_core/images/interopOpenCV1.png rename samples/cpp/tutorial_code/core/{switching_to_the_new_interface/switching_to_the_new_interface.txt => interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp} (96%) diff --git a/doc/tutorials/core/interoperability_with_OpenCV_1/images/outputInteropOpenCV1.jpg b/doc/tutorials/core/interoperability_with_OpenCV_1/images/outputInteropOpenCV1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b94b0ec92791223e2a5226d7e13931fce1b9332d GIT binary patch literal 25948 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 + #include + #include + + +All the OpenCV related stuff is put into the *cv* namespace to avoid name conflicts with other libraries data structures and functions. Therefore, either you need to prepend the *cv::* keyword before everything that comes from OpenCV or after the includes, you just add a directive to use this: + +.. code-block:: cpp + + using namespace cv; // The new C++ interface API is inside this namespace. Import it. + +Because the functions are already in a namespace there is no need for them to contain the *cv* prefix in their name. As such all the new C++ compatible functions don't have this and they follow the camel case naming rule. This means the first letter is small (unless it's a name, like Canny) and the subsequent words start with a capital letter (like *copyMakeBorder*). + +Now, remember that you need to link to your application all the modules you use, and in case you are on Windows using the *DLL* system you will need to add, again, to the path all the binaries. For more in-depth information if you're on Windows read :ref:`Windows_Visual_Studio_How_To` and for Linux an example usage is explained in :ref:`Linux_Eclipse_Usage`. + +Now for converting the *Mat* object you can use either the *IplImage* or the *CvMat* operators. While in the C interface you used to work with pointers here it's no longer the case. In the C++ interface we have mostly *Mat* objects. These objects may be freely converted to both *IplImage* and *CvMat* with simple assignment. For example: + +.. code-block:: cpp + + Mat I; + IplImage pI = I; + CvMat mI = I; + +Now if you want pointers the conversion gets just a little more complicated. The compilers can no longer automatically determinate what you want and as you need to explicitly specify your goal. This is to call the *IplImage* and *CvMat* operators and then get their pointers. For getting the pointer we use the & sign: + +.. code-block:: cpp + + Mat I; + IplImage* pI = &I.operator IplImage(); + CvMat* mI = &I.operator CvMat(); + +One of the biggest complaints of the C interface is that it leaves all the memory management to you. You need to figure out when it is safe to release your unused objects and make sure you do so before the program finishes or you could have troublesome memory leeks. To work around this issue in OpenCV there is introduced a sort of smart pointer. This will automatically release the object when it's no longer in use. To use this declare the pointers as a specialization of the *Ptr* : + +.. code-block:: cpp + + Ptr piI = &I.operator IplImage(); + +Converting from the C data structures to the *Mat* is done by passing these inside its constructor. For example: + +.. code-block:: cpp + + Mat K(piL), L; + L = Mat(pI); + +A case study +============ + +Now that you have the basics done :download:`here's <../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp>` an example that mixes the usage of the C interface with the C++ one. You will also find it in the sample directory of the OpenCV source code library at the :file:`samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp` . To further help on seeing the difference the programs supports two modes: one mixed C and C++ and one pure C++. If you define the *DEMO_MIXED_API_USE* you'll end up using the first. The program separates the color planes, does some modifications on them and in the end merge them back together. + + +.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp + :language: cpp + :linenos: + :tab-width: 4 + :lines: 1-9, 22-25, 27-44 + +Here you can observe that with the new structure we have no pointer problems, although it is possible to use the old functions and in the end just transform the result to a *Mat* object. + +.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp + :language: cpp + :linenos: + :tab-width: 4 + :lines: 46-51 + +Because, we want to mess around with the images luma component we first convert from the default RGB to the YUV color space and then split the result up into separate planes. Here the program splits: in the first example it processes each plane using one of the three major image scanning algorithms in OpenCV (C [] operator, iterator, individual element access). In a second variant we add to the image some Gaussian noise and then mix together the channels according to some formula. + +The scanning version looks like: + +.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp + :language: cpp + :linenos: + :tab-width: 4 + :lines: 55-75 + +Here you can observe that we may go through all the pixels of an image in three fashions: an iterator, a C pointer and an individual element access style. You can read a more in-depth description of these in the :ref:`howToScanImagesOpenCV` tutorial. Converting from the old function names is easy. Just remove the cv prefix and use the new *Mat* data structure. Here's an example of this by using the weighted addition function: + +.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp + :language: cpp + :linenos: + :tab-width: 4 + :lines: 79-112 + +As you may observe the *planes* variable is of type *Mat*. However, converting from *Mat* to *IplImage* is easy and made automatically with a simple assignment operator. + +.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp + :language: cpp + :linenos: + :tab-width: 4 + :lines: 115-127 + +The new *imshow* highgui function accepts both the *Mat* and *IplImage* data structures. Compile and run the program and if the first image below is your input you may get either the first or second as output: + +.. image:: images/outputInteropOpenCV1.jpg + :alt: The output of the sample + :align: center + + +You may observe a runtime instance of this on the `YouTube here `_ and you can :download:`download the source code from here <../../../../samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp>` or find it in the :file:`samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp` of the OpenCV source code library. + +.. raw:: html + +
+ +
+ + + diff --git a/doc/tutorials/core/table_of_content_core/images/interopOpenCV1.png b/doc/tutorials/core/table_of_content_core/images/interopOpenCV1.png new file mode 100644 index 0000000000000000000000000000000000000000..040f50a0032f1172b51d5295ff4c55bae4741bc2 GIT binary patch literal 11928 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 OpenCV 2.0 + + *Author:* |Author_BernatG| + + Did you used OpenCV before its 2.0 version? Do you wanna know what happened with your library with 2.0? Don't you know how to convert your old OpenCV programs to the new C++ interface? Look here to shed light on all this questions. + + =============== ====================================================== + + .. |InterOOpenCV1| image:: images/interopOpenCV1.png + :height: 90pt + :width: 90pt + + + .. raw:: latex \pagebreak @@ -196,4 +217,5 @@ Here you will learn the about the basic building blocks of the library. A must r ../basic_geometric_drawing/basic_geometric_drawing ../random_generator_and_text/random_generator_and_text ../discrete_fourier_transform/discrete_fourier_transform - ../file_input_output_with_xml_yml/file_input_output_with_xml_yml \ No newline at end of file + ../file_input_output_with_xml_yml/file_input_output_with_xml_yml + ../interoperability_with_OpenCV_1/interoperability_with_OpenCV_1 \ No newline at end of file diff --git a/samples/cpp/tutorial_code/core/switching_to_the_new_interface/switching_to_the_new_interface.txt b/samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp similarity index 96% rename from samples/cpp/tutorial_code/core/switching_to_the_new_interface/switching_to_the_new_interface.txt rename to samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp index 4e004e1..5412b7b 100644 --- a/samples/cpp/tutorial_code/core/switching_to_the_new_interface/switching_to_the_new_interface.txt +++ b/samples/cpp/tutorial_code/core/interoperability_with_OpenCV_1/interoperability_with_OpenCV_1.cpp @@ -50,7 +50,7 @@ int main( int argc, char** argv ) vector planes; // Use the STL's vector structure to store multiple Mat objects split(I_YUV, planes); // split the image into separate color planes (Y U V) -#if 0 // change it to 0 if you want to see a blurred and noisy version of this processing +#if 1 // change it to 0 if you want to see a blurred and noisy version of this processing // Mat scanning // Method 1. process Y plane using an iterator MatIterator_ it = planes[0].begin(), it_end = planes[0].end(); -- 2.7.4