1) Converted all images to JPG to reduce size.
authorBernat Gabor <no@email>
Tue, 19 Jul 2011 22:08:54 +0000 (22:08 +0000)
committerBernat Gabor <no@email>
Tue, 19 Jul 2011 22:08:54 +0000 (22:08 +0000)
2) Added a raw Latex page break directive after each TOC tree. (For the PDF tutorial look).
3) Two finished tutorials:
   a) one describing how the Mat data structure works and its output capabilities (format function) (demonstration YouTube video included).
   b) one describing image scanning operations plus the LUT function (demonstration YouTube video included).
   c) a basic filtering approach (plus multi row image scanning demonstration) in the work.

253 files changed:
doc/conf.py
doc/tutorials/calib3d/table_of_content_calib3d/table_of_content_calib3d.rst
doc/tutorials/core/adding_images/adding_images.rst
doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/basic_geometric_drawing/basic_geometric_drawing.rst
doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.jpg [new file with mode: 0644]
doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.png [deleted file]
doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.jpg [new file with mode: 0644]
doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.png [deleted file]
doc/tutorials/core/basic_linear_transform/basic_linear_transform.rst
doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.jpg [new file with mode: 0644]
doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.png [deleted file]
doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.jpg [new file with mode: 0644]
doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.png [deleted file]
doc/tutorials/core/how_to_scan_images/how_to_scan_images.rst [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut1.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut10.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut11.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut12.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut13.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut14.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut15.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut16.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut2.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut3.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut6.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut7.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut8.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut9.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/images/MatBasicImageForComputer.jpg [new file with mode: 0644]
doc/tutorials/core/mat - the basic image container/mat - the basic image container.rst [new file with mode: 0644]
doc/tutorials/core/mat-mask-operations/mat-mask-operations.rst [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.png [deleted file]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.jpg [new file with mode: 0644]
doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.png [deleted file]
doc/tutorials/core/random_generator_and_text/random_generator_and_text.rst
doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.png [deleted file]
doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.png [deleted file]
doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.png [deleted file]
doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.png [deleted file]
doc/tutorials/core/table_of_content_core/images/howToScanImages.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/images/matTheBasicImageStructure.jpg [new file with mode: 0644]
doc/tutorials/core/table_of_content_core/table_of_content_core.rst
doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.rst
doc/tutorials/general/table_of_content_general/table_of_content_general.rst
doc/tutorials/gpu/table_of_content_gpu/table_of_content_gpu.rst
doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.png [deleted file]
doc/tutorials/highgui/table_of_content_highgui/table_of_content_highgui.rst
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.png [deleted file]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.jpg [new file with mode: 0644]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.png [deleted file]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.jpg [new file with mode: 0644]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.png [deleted file]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.jpg [new file with mode: 0644]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.png [deleted file]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.jpg [new file with mode: 0644]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.png [deleted file]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.jpg [new file with mode: 0644]
doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.png [deleted file]
doc/tutorials/highgui/trackbar/trackbar.rst
doc/tutorials/images/calib3d.jpg [new file with mode: 0644]
doc/tutorials/images/calib3d.png [deleted file]
doc/tutorials/images/core.jpg [new file with mode: 0644]
doc/tutorials/images/core.png [deleted file]
doc/tutorials/images/feature2D.jpg [new file with mode: 0644]
doc/tutorials/images/feature2D.png [deleted file]
doc/tutorials/images/general.jpg [new file with mode: 0644]
doc/tutorials/images/general.png [deleted file]
doc/tutorials/images/gpu.jpg [new file with mode: 0644]
doc/tutorials/images/gpu.png [deleted file]
doc/tutorials/images/highgui.jpg [new file with mode: 0644]
doc/tutorials/images/highgui.png [deleted file]
doc/tutorials/images/imgproc.jpg [new file with mode: 0644]
doc/tutorials/images/imgproc.png [deleted file]
doc/tutorials/images/introduction.jpg [new file with mode: 0644]
doc/tutorials/images/introduction.png [deleted file]
doc/tutorials/images/ml.jpg [new file with mode: 0644]
doc/tutorials/images/ml.png [deleted file]
doc/tutorials/images/objdetect.jpg [new file with mode: 0644]
doc/tutorials/images/objdetect.png [deleted file]
doc/tutorials/images/video.jpg [new file with mode: 0644]
doc/tutorials/images/video.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/erosion_dilatation.rst
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.png [deleted file]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.jpg [new file with mode: 0644]
doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.png [deleted file]
doc/tutorials/imgproc/gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.rst
doc/tutorials/imgproc/imgtrans/filter_2d/filter_2d.rst
doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.jpg [new file with mode: 0644]
doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.png [deleted file]
doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.jpg [new file with mode: 0644]
doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.png [deleted file]
doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.rst
doc/tutorials/imgproc/imgtrans/hough_lines/hough_lines.rst
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.jpg [new file with mode: 0644]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.png [deleted file]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.jpg [new file with mode: 0644]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.png [deleted file]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.jpg [new file with mode: 0644]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.png [deleted file]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.jpg [new file with mode: 0644]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.png [deleted file]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.jpg [new file with mode: 0644]
doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.png [deleted file]
doc/tutorials/imgproc/opening_closing_hats/opening_closing_hats.rst
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.jpg [new file with mode: 0644]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.png [deleted file]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.jpg [new file with mode: 0644]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.png [deleted file]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.jpg [new file with mode: 0644]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.png [deleted file]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.jpg [new file with mode: 0644]
doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.png [deleted file]
doc/tutorials/imgproc/pyramids/pyramids.rst
doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/table_of_content_imgproc/table_of_content_imgproc.rst
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.png [deleted file]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.jpg [new file with mode: 0644]
doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.png [deleted file]
doc/tutorials/imgproc/threshold/threshold.rst
doc/tutorials/introduction/display_image/display_image.rst
doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.jpg [new file with mode: 0644]
doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a0.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a0.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a1.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a1.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a10.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a10.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a11.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a11.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a12.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a12.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a13.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a13.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a14.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a14.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a15.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a15.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a2.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a2.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a3.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a3.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a4.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a4.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a5.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a5.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a6.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a6.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a7.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a7.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a8.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a8.png [deleted file]
doc/tutorials/introduction/linux_eclipse/images/a9.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_eclipse/images/a9.png [deleted file]
doc/tutorials/introduction/linux_eclipse/linux_eclipse.rst
doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.png [deleted file]
doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.jpg [new file with mode: 0644]
doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.png [deleted file]
doc/tutorials/introduction/linux_gcc_cmake/linux_gcc_cmake.rst
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.jpg [new file with mode: 0644]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.png [deleted file]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.jpg [new file with mode: 0644]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.png [deleted file]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.jpg [new file with mode: 0644]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.png [deleted file]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.jpg [new file with mode: 0644]
doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.png [deleted file]
doc/tutorials/introduction/load_save_image/load_save_image.rst
doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.jpg [new file with mode: 0644]
doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.png [deleted file]
doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.jpg [new file with mode: 0644]
doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.png [deleted file]
doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.jpg [new file with mode: 0644]
doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.png [deleted file]
doc/tutorials/introduction/table_of_content_introduction/table_of_content_introduction.rst
doc/tutorials/introduction/windows_install/images/OpenCV_Install_Directory.png [deleted file]
doc/tutorials/ml/table_of_content_ml/table_of_content_ml.rst
doc/tutorials/tutorials.rst
doc/tutorials/video/table_of_content_video/table_of_content_video.rst
samples/cpp/tutorial_code/CxCore/Matrix/Drawing_1.cpp [deleted file]
samples/cpp/tutorial_code/CxCore/Matrix/Drawing_2.cpp [deleted file]
samples/cpp/tutorial_code/introduction/display_image/display_image.cpp

index 7d47a18..297adb5 100644 (file)
@@ -168,9 +168,9 @@ html_use_index = True
 # Output file base name for HTML help builder.
 htmlhelp_basename = 'opencv'
 
-# OpenCV docs use some custom LaTeX macros in the formulae. Make sure we include the definitions
+# OpenCV docs use some custom LaTeX macros in the formula. Make sure we include the definitions
 pngmath_latex_preamble = r"""
-\usepackage{euler}\usepackage[usenames,dvipsnames]{color}\usepackage{amssymb}\usepackage{amsmath}\usepackage{bbm}
+\usepackage{euler}\usepackage[usenames,dvipsnames]{color}\usepackage{amssymb}\usepackage{amsmath}\usepackage{bbm}\usepackage[table]{xcolor}
 \newcommand{\matTT}[9]{
 \[
 \left|\begin{array}{ccc}
@@ -235,6 +235,7 @@ preamble ="""
 \usepackage{euler}
 \usepackage[scaled=0.85]{beramono}
 \usepackage{mymath}\usepackage{amssymb}\usepackage{amsmath}\usepackage{bbm}\setcounter{secnumdepth}{1}
+\usepackage[table]{xcolor}
 """
 
 latex_elements = {'preamble': preamble}
@@ -308,44 +309,48 @@ extlinks = {'cvt_color': ('http://opencv.willowgarage.com/documentation/cpp/imgp
             'threshold': ('http://opencv.willowgarage.com/documentation/cpp/miscellaneous_image_transformations.html#cv-threshold%s', None),
             'filter2d': ('http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-filter2d%s', None),
             'copy_make_border': ('http://opencv.willowgarage.com/documentation/cpp/imgproc_image_filtering.html?#copyMakeBorder%s', None),
-           'sobel': ('http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-sobel%s', None),
-           'scharr': ('http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-scharr%s', None),
+            'sobel': ('http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-sobel%s', None),
+             'scharr': ('http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-scharr%s', None),
             'laplacian': ('http://opencv.willowgarage.com/documentation/cpp/image_filtering.html#cv-laplacian%s', None),
-           'canny': ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#Canny%s', None),
-           'copy_to': ('http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html?#Mat::copyTo%s', None),    
+            'canny': ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#Canny%s', None),
+            'copy_to': ('http://opencv.willowgarage.com/documentation/cpp/core_basic_structures.html?#Mat::copyTo%s', None),   
             'opencv_group' : ('http://tech.groups.yahoo.com/group/OpenCV/%s', None),
-           'hough_lines' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-houghlines%s', None),
-           'hough_lines_p' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-houghlinesp%s', None),
-           'hough_circles' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-houghcircles%s', None),
-           'remap' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#remap%s', None),
-           'warp_affine' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#cv-warpaffine%s' , None),
-           'get_rotation_matrix_2d' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#cv-getrotationmatrix2d%s', None),
+            'hough_lines' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-houghlines%s', None),
+            'hough_lines_p' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-houghlinesp%s', None),
+            'hough_circles' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-houghcircles%s', None),
+            'remap' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#remap%s', None),
+            'warp_affine' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#cv-warpaffine%s' , None),
+            'get_rotation_matrix_2d' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#cv-getrotationmatrix2d%s', None),
             'get_affine_transform' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_geometric_image_transformations.html?#cv-getaffinetransform%s', None),
             'equalize_hist' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html?#equalizeHist%s', None),
-           'split' : ('http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#split%s', None),
-           'calc_hist' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html?#calcHist%s', None),
+            'split' : ('http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#split%s', None),
+            'calc_hist' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html?#calcHist%s', None),
             'normalize' : ('http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#normalize%s', None),
-           'match_template' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_object_detection.html?#matchTemplate%s', None),
-           'min_max_loc' : ('http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#minMaxLoc%s', None),
-           'mix_channels' : ( 'http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#mixChannels%s', None),
-           'calc_back_project' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html?#calcBackProject%s', None),
+            'match_template' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_object_detection.html?#matchTemplate%s', None),
+            'min_max_loc' : ('http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#minMaxLoc%s', None),
+            'mix_channels' : ( 'http://opencv.willowgarage.com/documentation/cpp/core_operations_on_arrays.html?#mixChannels%s', None),
+            'calc_back_project' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html?#calcBackProject%s', None),
             'compare_hist' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_histograms.html?#compareHist%s', None),
-           'corner_harris' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cornerHarris%s', None),
-           'good_features_to_track' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-goodfeaturestotrack%s', None),
-           'corner_min_eigenval' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-cornermineigenval%s', None), 
-           'corner_eigenvals_and_vecs' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-cornereigenvalsandvecs%s', None), 
-           'corner_sub_pix' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-cornersubpix%s', None),
+            'corner_harris' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cornerHarris%s', None),
+            'good_features_to_track' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-goodfeaturestotrack%s', None),
+            'corner_min_eigenval' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-cornermineigenval%s', None), 
+            'corner_eigenvals_and_vecs' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-cornereigenvalsandvecs%s', None), 
+            'corner_sub_pix' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_feature_detection.html?#cv-cornersubpix%s', None),
             'find_contours' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-findcontours%s', None), 
-           'convex_hull' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-convexhull%s', None),
+            'convex_hull' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-convexhull%s', None),
             'draw_contours' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-drawcontours%s', None),
             'bounding_rect' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-boundingrect%s', None),
             'min_enclosing_circle' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-minenclosingcircle%s', None),
-           'min_area_rect' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-minarearect%s', None),
+            'min_area_rect' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-minarearect%s', None),
             'fit_ellipse' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-fitellipse%s', None),
             'moments' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-moments%s', None),
             'contour_area' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-contourarea%s', None),
-            'arc_length' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-arclength%s', None),   
-           'point_polygon_test' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-pointpolygontest%s', None)
+            'arc_length' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-arclength%s', None),
+            'basicstructures' : ('http://opencv.itseez.com/modules/core/doc/basic_structures.html#%s', None),
+            'readwriteimagevideo' : ('http://opencv.itseez.com/modules/highgui/doc/reading_and_writing_images_and_video.html#%s', None),
+            'operationsonarrays' : ('http://opencv.itseez.com/modules/core/doc/operations_on_arrays.html#%s', None),
+            'utilitysystemfunctions':('http://opencv.itseez.com/modules/core/doc/utility_and_system_functions_and_macros.html%s', None),
+            'point_polygon_test' : ('http://opencv.willowgarage.com/documentation/cpp/imgproc_structural_analysis_and_shape_descriptors.html#cv-pointpolygontest%s', None)
            }
 
 
index 45a43a4..21d58f4 100644 (file)
@@ -6,3 +6,7 @@
 Although we got most of our images in a 2D format they do come from a 3D world. Here you will learn how to find out from the 2D images information about the 3D world. 
 
 .. include:: ../../definitions/noContent.rst
+
+.. raw:: latex
+
+   \pagebreak
index 701d573..06b5961 100644 (file)
@@ -114,6 +114,6 @@ Explanation
 Result
 =======
 
-.. image:: images/Adding_Images_Tutorial_Result_0.png
+.. image:: images/Adding_Images_Tutorial_Result_0.jpg
    :alt: Blending Images Tutorial - Final Result
    :align: center 
diff --git a/doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.jpg b/doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..596dd57
Binary files /dev/null and b/doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.png b/doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.png
deleted file mode 100644 (file)
index 1f2a5bb..0000000
Binary files a/doc/tutorials/core/adding_images/images/Adding_Images_Tutorial_Result_0.png and /dev/null differ
index 068ebc1..5e4d565 100644 (file)
@@ -260,6 +260,6 @@ Result
 
 Compiling and running your program should give you a result like this:
 
-.. image:: images/Drawing_1_Tutorial_Result_0.png
+.. image:: images/Drawing_1_Tutorial_Result_0.jpg
    :alt: Drawing Tutorial 1 - Final Result
    :align: center 
diff --git a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.jpg b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..ac01ca4
Binary files /dev/null and b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.png b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.png
deleted file mode 100644 (file)
index 73a9530..0000000
Binary files a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.jpg b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.jpg
new file mode 100644 (file)
index 0000000..b03f4d4
Binary files /dev/null and b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.jpg differ
diff --git a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.png b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.png
deleted file mode 100644 (file)
index dedf7ee..0000000
Binary files a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0a.png and /dev/null differ
diff --git a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.jpg b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.jpg
new file mode 100644 (file)
index 0000000..4dfce32
Binary files /dev/null and b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.jpg differ
diff --git a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.png b/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.png
deleted file mode 100644 (file)
index 649798c..0000000
Binary files a/doc/tutorials/core/basic_geometric_drawing/images/Drawing_1_Tutorial_Result_0b.png and /dev/null differ
index 08e804d..7076159 100644 (file)
@@ -185,7 +185,7 @@ Result
 
   .. code-block:: bash
 
-     $ ./BasicLinearTransforms lena.png
+     $ ./BasicLinearTransforms lena.jpg
      Basic Linear Transforms
      -------------------------
      * Enter the alpha value [1.0-3.0]: 2.2
@@ -193,7 +193,7 @@ Result
 
 * We get this:
 
-.. image:: images/Basic_Linear_Transform_Tutorial_Result_0.png
+.. image:: images/Basic_Linear_Transform_Tutorial_Result_0.jpg
    :height: 400px
    :alt: Basic Linear Transform - Final Result
    :align: center 
diff --git a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.jpg b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..7caffec
Binary files /dev/null and b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.png b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.png
deleted file mode 100644 (file)
index bef4df6..0000000
Binary files a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.jpg b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.jpg
new file mode 100644 (file)
index 0000000..cc805da
Binary files /dev/null and b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.jpg differ
diff --git a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.png b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.png
deleted file mode 100644 (file)
index 978df3f..0000000
Binary files a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_a.png and /dev/null differ
diff --git a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.jpg b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.jpg
new file mode 100644 (file)
index 0000000..fbbf77f
Binary files /dev/null and b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.jpg differ
diff --git a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.png b/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.png
deleted file mode 100644 (file)
index 904dc04..0000000
Binary files a/doc/tutorials/core/basic_linear_transform/images/Basic_Linear_Transform_b.png and /dev/null differ
diff --git a/doc/tutorials/core/how_to_scan_images/how_to_scan_images.rst b/doc/tutorials/core/how_to_scan_images/how_to_scan_images.rst
new file mode 100644 (file)
index 0000000..fd04708
--- /dev/null
@@ -0,0 +1,179 @@
+.. _howToScanImagesOpenCV:\r
+\r
+How to scan images, lookup tables and time measurement with OpenCV\r
+*******************************************************************\r
+\r
+Goal\r
+==== \r
+\r
+We'll seek answers for the following questions: \r
+\r
+.. container:: enumeratevisibleitemswithsquare\r
+\r
+   + How to go through each and every pixel of an image?\r
+   + How is OpenCV matrix values stored?\r
+   + How to measure the performance of our algorithm?\r
+   + What are lookup tables and why use them?\r
+\r
+Our test case\r
+=============\r
+\r
+Let us consider a simple color reduction method. Using the unsigned char C and C++ type for matrix item storing a channel of pixel may have up to 256 different values. For a three channel image this can allow the formation of way too many colors (16 million to be exact). Working with so many color shades may give a heavy blow to our algorithm performance. However, sometimes it is enough to work with a lot less of them to get the same final result. \r
+\r
+In this cases it's common that we make a *color space reduction*. This means that we divide the color space current value with a new input value to end up with fewer colors. For instance every value between zero and nine takes the new value zero, every value between ten and nineteen the value ten and so on. \r
+\r
+When you divide an *uchar* (unsigned char - aka values between zero and 255) value with an *int* value the result will be also *char*. These values may only be char values. Therefore, any fraction will be rounded down. Taking advantage of this fact the upper operation in the *uchar* domain may be expressed as: \r
+\r
+.. math::\r
+\r
+   I_{new} = (\frac{I_{old}}{10}) * 10\r
+\r
+A simple color space reduction algorithm would consist of just passing through every pixel of an image matrix and applying this formula. It's worth noting that we do a divide and a multiplication operation. These operations are bloody expensive for a system. If possible it's worth avoiding them by using cheaper operations such as a few subtractions, addition or in best case a simple assignment. Furthermore, note that we only have a limited number of input values for the upper operation. In case of the *uchar* system this is 256 to be exact.\r
+\r
+Therefore, for larger images it would be wise to calculate all possible values beforehand and during the assignment just make the assignment, by using a lookup table. Lookup tables are simple arrays (having one or more dimensions) that for a given input value variation holds the final output value. Its strength lies that we do not need to make the calculation, we just need to read the result. \r
+\r
+Our test case program (and the sample presented here) will do the following: read in a console line argument image (that may be either color or gray scale - console line argument too) and apply the reduction with the given console line argument integer value. In OpenCV, at the moment they are three major ways of going through an image pixel by pixel. To make things a little more interesting will make the scanning for each image using all of these methods, and print out how long it took. \r
+\r
+You can download the full source code :download:`here <../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp>` or look it up in the samples directory of OpenCV at the cpp tutorial code for the core section. Its basic usage is: \r
+\r
+.. code-block:: bash\r
+\r
+   how_to_scan_images imageName.jpg intValueToReduce [G]\r
+\r
+The final argument is optional. If given the image will be loaded in gray scale format, otherwise the RGB color way is used. The first thing is to calculate the lookup table.\r
+\r
+.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp\r
+   :language: cpp\r
+   :tab-width: 4\r
+   :lines: 48-60 \r
+\r
+Here we first use the C++ *stringstream* class to convert the third command line argument from text to an integer format. Then we use a simple look and the upper formula to calculate the lookup table. No OpenCV specific stuff here.\r
+\r
+Another issue is how do we measure time? Well OpenCV offers two simple functions to achieve this :UtilitySystemFunctions:`getTickCount() <gettickcount>` and :UtilitySystemFunctions:`getTickFrequency() <gettickfrequency>`. The first returns the number of ticks of your systems CPU from a certain event (like since you booted your system). The second returns how many times your CPU emits a tick during a second. So to measure in seconds the number of time elapsed between two operations is easy as: \r
+\r
+.. code-block:: cpp\r
+\r
+   double t = (double)getTickCount();\r
+   // do something ...\r
+   t = ((double)getTickCount() - t)/getTickFrequency(); \r
+   cout << "Times passed in seconds: " << t << endl;\r
+\r
+How the image matrix is stored in the memory?\r
+=============================================\r
+\r
+As you could already read in my :ref:`matTheBasicImageContainer` tutorial the size of the matrix depends of the color system used. More accurately, it depends from the number of channels used. In case of a gray scale image we have something like: \r
+\r
+.. math::\r
+\r
+   \newcommand{\tabItG}[1] { \textcolor{black}{#1} \cellcolor{gray}}\r
+   \begin{tabular} {ccccc}\r
+   ~ & \multicolumn{1}{c}{Column 0} &   \multicolumn{1}{c}{Column 1} &   \multicolumn{1}{c}{Column ...} & \multicolumn{1}{c}{Column m}\\\r
+   Row 0 & \tabItG{0,0} & \tabItG{0,1} & \tabItG{...}  & \tabItG{0, m} \\\r
+   Row 1 & \tabItG{1,0} & \tabItG{1,1} & \tabItG{...}  & \tabItG{1, m} \\\r
+   Row ... & \tabItG{...,0} & \tabItG{...,1} & \tabItG{...} & \tabItG{..., m} \\\r
+   Row n & \tabItG{n,0} & \tabItG{n,1} & \tabItG{n,...} & \tabItG{n, m} \\\r
+   \end{tabular}\r
+\r
+For multichannel images the columns contain as many sub columns as the number of channels. For example in case of an RGB color system:\r
+\r
+.. math::\r
+\r
+   \newcommand{\tabIt}[1] { \textcolor{yellow}{#1} \cellcolor{blue} &  \textcolor{black}{#1} \cellcolor{green} & \textcolor{black}{#1} \cellcolor{red}}\r
+   \begin{tabular} {ccccccccccccc}\r
+   ~ & \multicolumn{3}{c}{Column 0} &   \multicolumn{3}{c}{Column 1} &   \multicolumn{3}{c}{Column ...} & \multicolumn{3}{c}{Column m}\\\r
+   Row 0 & \tabIt{0,0} & \tabIt{0,1} & \tabIt{...}  & \tabIt{0, m} \\\r
+   Row 1 & \tabIt{1,0} & \tabIt{1,1} & \tabIt{...}  & \tabIt{1, m} \\\r
+   Row ... & \tabIt{...,0} & \tabIt{...,1} & \tabIt{...} & \tabIt{..., m} \\\r
+   Row n & \tabIt{n,0} & \tabIt{n,1} & \tabIt{n,...} & \tabIt{n, m} \\\r
+   \end{tabular}\r
+\r
+Note that the order of the channels is inverse: BGR instead of RGB. Because in many cases the memory is large enough to store the rows in a successive fashion the rows may follow one after another, creating a single long row. Because everything is in a single place following one after another this may help to speed up the scanning process. We can use the :basicstructures:`isContinuous() <mat-iscontinuous>` function to *ask* the matrix if this is the case. Continue on to the next section to find an example.\r
+\r
+The efficient way\r
+=================\r
+\r
+When it comes to performance you cannot beat the classic C style operator[] (pointer) access. Therefore, the most efficient method we can recommend for making the assignment is: \r
+\r
+.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp\r
+   :language: cpp\r
+   :tab-width: 4\r
+   :lines: 116-143\r
+\r
+Here we basically just acquire a pointer to the start of each row and go through it until it ends. In the special case that the matrix is stored in a continues manner we only need to request the pointer a single time and go all the way to the end. We need to look out for color images: we have three channels so we need to pass through three times more items in each row. \r
+\r
+There's another way of this. The *data* data member of a *Mat* object returns the pointer to the first row, first column. If this pointer is null you have no valid input in that object. Checking this is the simplest method to check if your image loading was a success. In case the storage is continues we can use this to go through the whole data pointer. In case of a gray scale image this would look like:\r
+\r
+.. code-block:: cpp\r
+\r
+   uchar* p = I.data;\r
+\r
+   for( unsigned int i =0; i < ncol*nrows; ++i)\r
+       *p++ = table[*p];\r
+\r
+You would get the same result. However, this code is a lot harder to read later on. It gets even harder if you have some more advanced technique there. Moreover, in practice I've observed you'll get the same performance result (as most of the modern compilers will probably make this small optimization trick automatically for you).\r
+\r
+The iterator (safe) method \r
+==========================\r
+\r
+In case of the efficient way making sure that you pass through the right amount of *uchar* fields and to skip the gaps that may occur between the rows was your responsibility. The iterator method is considered a safer way as it takes over these tasks from the user. All you need to do is ask the begin and the end of the image matrix and then just increase the begin iterator until you reach the end. To acquire the value *pointed* by the iterator use the * operator (add it before it). \r
+\r
+.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp\r
+   :language: cpp\r
+   :tab-width: 4\r
+   :lines: 145-173\r
+\r
+In case of color images we have three uchar items per column. This may be considered a short vector of uchar items, that has been baptized in OpenCV with the *Vec3b* name. To access the n-th sub column we use simple operator[] access. It's important to remember that OpenCV iterators go through the columns and automatically skip to the next row. Therefore in case of color images if you use a simple *uchar* iterator you'll be able to access only the blue channel values. \r
+\r
+Random Pixel Access\r
+===================\r
+\r
+The final method isn't recommended for scanning. It was made to acquire or modify random elements in the image. Its basic usage is to specify the row and column number of the item you want to access. During our earlier scanning methods you could already observe that is important through what type we are looking at the image. It's no different here as you need manually to specify what type to use at the automatic lookup. You can observe this in case of the gray scale images for the following source code (the usage of the + :basicstructures:`at() <mat-at>` function):\r
+\r
+.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp\r
+   :language: cpp\r
+   :tab-width: 4\r
+   :lines: 175-207\r
+\r
+If you need to multiple lookups using this method for an image it may be troublesome and time consuming to enter the type and the at keyword for each of the accesses. To solve this problem OpenCV has a :basicstructures:`Mat_ <id3>` data type. It's the same as Mat with the extra need that at definition you need to specify the data type through what to look at the data matrix, however in return you can use the operator() for fast access of items. To make things even better this is easily convertible from and to the usual :basicstructures:`Mat <id3>` data type. A sample usage of this you can see in case of the color images of the upper function. Nevertheless, it's important to note that the same operation (with the same runtime speed) could have been done with the :basicstructures:`at() <mat-at>` function. It's just a less to write for the lazy programmer trick.\r
+\r
+The Core Function\r
+=================\r
+\r
+This is a bonus method of achieving lookup table modification in an image. Because in image processing it's quite common that you want to replace all of a given image value to some other value OpenCV has a function that makes the modification without the need from you to write the scanning of the image. We use the :operationsOnArrays:`LUT() <lut>` function of the core module. First we build a Mat type of the lookup table:\r
+\r
+.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp\r
+   :language: cpp\r
+   :tab-width: 4\r
+   :lines: 98-101\r
+\r
+Finally call the function (I is our input image and J the output one):\r
+\r
+.. literalinclude:: ../../../../samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp\r
+   :language: cpp\r
+   :tab-width: 4\r
+   :lines: 106\r
+\r
+Performance Difference\r
+======================\r
+\r
+For the best result compile the program and run it on your own speed. For showing off better the differences I've used a quite large (2560 X 1600) image. The performance presented here are for color images. For a more accurate value I've averaged the value I got from the call of the function for hundred times.\r
+\r
+============= ====================\r
+Efficient Way 79.4717 milliseconds\r
+\r
+Iterator      83.7201 milliseconds\r
+\r
+Random Access 93.7878 milliseconds\r
+\r
+LUT function  32.5759 milliseconds\r
+============= ====================\r
+\r
+We can conclude a couple of things. If possible, use the already made functions of OpenCV (instead reinventing these). The fastest method turns out to be the LUT function. This is because the OpenCV library is multi-thread enabled via Intel Threaded Building Blocks. However, if you need to write a simple image scan prefer the pointer method. The iterator is a safer bet, however quite slower. Using the random access method for full image scan is the most costly. Your compiler might observe what you want to do and optimize it out somewhat, however in general case this approach is with a little slower than the iterator method.\r
+\r
+Finally, you may watch a sample run of the program on the `video posted <https://www.youtube.com/watch?v=fB3AN5fjgwc>`_ on our YouTube channel.\r
+\r
+.. raw:: html\r
+\r
+  <div align="center">\r
+  <iframe title="Install OpenCV by using its source files - Part 1" width="560" height="349" src="http://www.youtube.com/embed/fB3AN5fjgwc?rel=0&loop=1" frameborder="0" allowfullscreen align="middle"></iframe>\r
+  </div>\r
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut1.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut1.jpg
new file mode 100644 (file)
index 0000000..0f559bc
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut1.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut10.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut10.jpg
new file mode 100644 (file)
index 0000000..4647737
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut10.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut11.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut11.jpg
new file mode 100644 (file)
index 0000000..cc2adf6
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut11.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut12.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut12.jpg
new file mode 100644 (file)
index 0000000..57f333d
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut12.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut13.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut13.jpg
new file mode 100644 (file)
index 0000000..29d89ee
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut13.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut14.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut14.jpg
new file mode 100644 (file)
index 0000000..c32d300
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut14.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut15.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut15.jpg
new file mode 100644 (file)
index 0000000..6bfcd0d
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut15.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut16.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut16.jpg
new file mode 100644 (file)
index 0000000..b4f5902
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut16.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut2.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut2.jpg
new file mode 100644 (file)
index 0000000..a9012c4
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut2.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut3.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut3.jpg
new file mode 100644 (file)
index 0000000..ef79387
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut3.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut6.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut6.jpg
new file mode 100644 (file)
index 0000000..e79bd99
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut6.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut7.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut7.jpg
new file mode 100644 (file)
index 0000000..7aec2d3
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut7.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut8.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut8.jpg
new file mode 100644 (file)
index 0000000..56e8322
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut8.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut9.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut9.jpg
new file mode 100644 (file)
index 0000000..9138b86
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicContainerOut9.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/images/MatBasicImageForComputer.jpg b/doc/tutorials/core/mat - the basic image container/images/MatBasicImageForComputer.jpg
new file mode 100644 (file)
index 0000000..8fb8cde
Binary files /dev/null and b/doc/tutorials/core/mat - the basic image container/images/MatBasicImageForComputer.jpg differ
diff --git a/doc/tutorials/core/mat - the basic image container/mat - the basic image container.rst b/doc/tutorials/core/mat - the basic image container/mat - the basic image container.rst
new file mode 100644 (file)
index 0000000..6da3eed
--- /dev/null
@@ -0,0 +1,308 @@
+.. _matTheBasicImageContainer:\r
+\r
+Mat - The Basic Image Container\r
+*******************************\r
+\r
+Goal\r
+====\r
+\r
+We have multiple ways to acquire digital images from the real world: digital cameras, scanners, computed tomography or magnetic resonance imaging to just name a few. In every case what we (humans) see are images. However, when transforming this to our digital devices what we record are numerical values for each of the points of the image.\r
+\r
+.. image:: images/MatBasicImageForComputer.jpg\r
+   :alt: A matrix of the mirror of a car\r
+   :align: center\r
+\r
+For example in the above image you can see that the mirror of the care is nothing more than a matrix containing all the intensity values of the pixel points. Now, how we get and store the pixels values may vary according to what fits best our need, in the end all images inside a computer world may be reduced to numerical matrices and some other information's describing the matric itself. *OpenCV* is a computer vision library whose main focus is to process and manipulate these information to find out further ones. Therefore, the first thing you need to learn and get accommodated with is how OpenCV stores and handles images.\r
+\r
+*Mat*\r
+=====\r
+\r
+OpenCV has been around ever since 2001. In those days the library was built around a *C* interface. In those days to store the image in the memory they used a C structure entitled *IplImage*. This is the one you'll see in most of the older tutorials and educational materials. The problem with this is that it brings to the table all the minuses of the C language. The biggest issue is the manual management. It builds on the assumption that the user is responsible for taking care of memory allocation and deallocation. While this is no issue in case of smaller programs once your code base start to grove larger and larger it will be more and more a struggle to handle all this rather than focusing on actually solving your development goal.\r
+\r
+Luckily C++ came around and introduced the concept of classes making possible to build another road for the user: automatic memory management (more or less). The good news is that C++ if fully compatible with C so no compatibility issues can arise from making the change. Therefore, OpenCV with its 2.0 version introduced a new C++ interface that by taking advantage of these offers a new way of doing things. A way, in which you do not need to fiddle with memory management; making your code concise (less to write, to achieve more). The only main downside of the C++ interface is that many embedded development systems at the moment support only C. Therefore, unless you are targeting this platform, there's no point on using the *old* methods (unless you're a masochist programmer and you're asking for trouble). \r
+\r
+The first thing you need to know about *Mat* is that you no longer need to manually allocate its size and release it as soon as you do not need it. While doing this is still a possibility, most of the OpenCV functions will allocate its output data manually. As a nice bonus if you pass on an already existing *Mat* object, what already has allocated the required space for the matrix, this will be reused. In other words we use at all times only as much memory as much we must to perform the task.\r
+\r
+*Mat* is basically a class having two data parts: the matrix header (containing information such as the size of the matrix, the method used for storing, at which address is the matrix stored and so on) and a pointer to the matrix containing the pixel values (may take any dimensionality depending on the method chosen for storing) . The matrix header size is constant. However, the size of the matrix itself may vary from image to image and usually is larger by order of magnitudes. Therefore, when you're passing on images in your program and at some point you need to create a copy of the image the big price you will need to build is for the matrix itself rather than its header. OpenCV is an image processing library. It contains a large collection of image processing functions. To solve a computational challenge most of the time you will end up using multiple functions of the library. Due to this passing on images to functions is a common practice. We should not forget that we are talking about image processing algorithms, which tend to be quite computational heavy. The last thing we want to do is to further decrease the speed of your program by making unnecessary copies of potentially *large* images.\r
+\r
+To tackle this issue OpenCV uses a reference counting system. The idea is that each *Mat* object has its own header, however the matrix may be shared between two instance of them by having their matrix pointer point to the same address. Moreover, the copy operators **will only copy the headers**, and as also copy the pointer to the large matrix too, however not the matrix itself. \r
+\r
+.. code-block:: cpp\r
+   :linenos:\r
+\r
+   Mat A, C;                                 // creates just the header parts\r
+   A = imread(argv[1], CV_LOAD_IMAGE_COLOR); // here we'll know the method used (allocate matrix)\r
+\r
+   Mat B(A);                                 // Use the copy constructor\r
+\r
+   C = A;                                    // Assignment operator\r
+\r
+All the above objects, in the end point to the same single data matrix. Their headers are different, however making any modification using either one of them will affect all the other ones too. In practice the different objects just provide different access method to the same underlying data. Nevertheless, their header parts are different. The real interesting part comes that you can create headers that refer only to a subsection of the full data. For example, to create a region of interest (*ROI*) in an image you just create a new header with the new boundaries: \r
+\r
+.. code-block:: cpp\r
+   :linenos:\r
+\r
+   Mat D (A, Rect(10, 10, 100, 100) ); // using a rectangle\r
+   Mat E = A(Range:all(), Range(1,3)); // using row and column boundaries \r
+\r
+Now you may ask if the matrix itself may belong to multiple *Mat* objects who will take responsibility for its cleaning when it's no longer needed. The short answer is: the last object that used it. For this a reference counting mechanism is used. Whenever somebody copies a header of a *Mat* object a counter is increased for the matrix. Whenever a header is cleaned this counter is decreased. When the counter reaches zero the matrix too is freed. Because, sometimes you will still want to copy the matrix itself too, there exists the :basicstructures:`clone() <mat-clone>` or the :basicstructures:`copyTo() <mat-copyto>` function.\r
+\r
+.. code-block:: cpp\r
+   :linenos:\r
+\r
+   Mat F = A.clone(); \r
+   Mat G; \r
+   A.copyTo(G);\r
+\r
+Now modifying *F* or *G* will not affect the matrix pointed by the *Mat* header. What you need to remember from all this is that:\r
+\r
+.. container:: enumeratevisibleitemswithsquare\r
+\r
+   * Output image allocation for OpenCV functions is automatic (unless specified otherwise).\r
+   * No need to think about memory freeing with OpenCVs C++ interface.\r
+   * The assignment operator and the copy constructor (*ctor*)copies only the header.\r
+   * Use the :basicstructures:`clone()<mat-clone>` or the :basicstructures:`copyTo() <mat-copyto>` function to copy the underlying matrix of an image.\r
+\r
+*Storing* methods\r
+================= \r
+\r
+This is about how you store the pixel values. You can select the color space and the data type used. The color space refers to how we combine color components in order to code a given color. The simplest one is the gray scale. Here the colors at our disposal are black and white. The combination of these allows us to create many shades of gray. \r
+\r
+For *colorful* ways we have a lot more of methods to choose from. However, every one of them breaks it down to three or four basic components and the combination of this will give all others. The most popular one of this is RGB, mainly because this is also how our eye builds up colors in our eyes. Its base colors are red, green and blue. To code the transparency of a color sometimes a fourth element: alpha (A) is added. \r
+\r
+However, they are many color systems each with their own advantages:\r
+\r
+.. container:: enumeratevisibleitemswithsquare\r
+\r
+   * RGB is the most common as our eyes use something similar, our display systems also compose colors using these.\r
+   * The HSV and HLS decompose colors into their hue, saturation and value/luminance components, which is a more natural way for us to describe colors. Using you may for example dismiss the last component, making your algorithm less sensible to light conditions of the input image. \r
+   * YCrCb is used by the popular JPEG image format. \r
+   * CIE L*a*b* is a perceptually uniform color space, which comes handy if you need to measure the *distance* of a given color to another color.\r
+\r
+Now each of the building components has their own valid domains. This leads to the data type used. How we store a component defines just how fine control we have over its domain. The smallest data type possible is *char*, which means one byte or 8 bits. This may be signed (so can store values from 0 to 255) or unsigned (values from -127 to +127). Although in case of three components this already gives 16 million possible colors to represent (like in case of RGB) we may acquire an even finer control by using the float (4 byte = 32 bit) or double (8 byte = 64 bit) data types for each component. Nevertheless, remember that increasing the size of a component also increases the size of the whole picture in the memory. \r
+\r
+Creating explicitly a *Mat* object\r
+==================================\r
+\r
+In the :ref:`Load_Save_Image` tutorial you could already see how to write a matrix to an image file by using the :readWriteImageVideo:` imwrite() <imwrite>` function. However, for debugging purposes it's much more convenient to see the actual values. You can achieve this via the << operator of *Mat*. However, be aware that this only works for two dimensional matrices. \r
+\r
+Although *Mat* is a great class as image container it is also a general matrix class. Therefore, it is possible to create and manipulate multidimensional matrices. You can create a Mat object in multiple ways:\r
+\r
+.. container:: enumeratevisibleitemswithsquare\r
+\r
+   + :basicstructures:`Mat() <mat-mat>` Constructor \r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+        :language: cpp\r
+        :tab-width: 4\r
+        :lines:  27-28\r
+\r
+    .. image:: images/MatBasicContainerOut1.jpg\r
+       :alt: Demo image of the matrix output\r
+       :align: center\r
+\r
+    For two dimensional and multichannel images we first define their size: row and column count wise.\r
+\r
+    Then we need to specify the data type to use for storing the elements and the number of channels per matrix point. To do this we have multiple definitions made according to the following convention: \r
+\r
+    .. code-block:: cpp\r
+\r
+       CV_[The number of bits per item][Signed or Unsigned][Type Prefix]C[The channel number]\r
+\r
+    For instance, *CV_8UC3* means we use unsigned char types that are 8 bit long and each pixel has three items of this to form the three channels. This are predefined for up to four channel numbers. The :basicstructures:`Scalar <scalar>` is four element short vector. Specify this and you can initialize all matrix points with a custom value. However if you need more you can create the type with the upper macro and putting the channel number in parenthesis as you can see below.\r
+\r
+   + Use C\\C++ arrays and initialize via constructor\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+        :language: cpp\r
+        :tab-width: 4\r
+        :lines:  35-36\r
+\r
+     The upper example shows how to create a matrix with more than two dimensions. Specify its dimension, then pass a pointer containing the size for each dimension and the rest remains the same.      \r
+\r
+\r
+   + Create a header for an already existing IplImage pointer:\r
+\r
+     .. code-block:: cpp\r
+\r
+        IplImage* img = cvLoadImage("greatwave.jpg", 1);\r
+        Mat mtx(img); // convert IplImage* -> Mat\r
+\r
+   + :basicstructures:`Create() <mat-create>` function:\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+        :language: cpp\r
+        :tab-width: 4\r
+        :lines:  31-32\r
+\r
+    .. image:: images/MatBasicContainerOut2.jpg\r
+       :alt: Demo image of the matrix output\r
+       :align: center\r
+\r
+    You cannot initialize the matrix values with this construction. It will only reallocate its matrix data memory if the new size will not fit into the old one.\r
+\r
+   + MATLAB style initializer: :basicstructures:`zeros() <mat-zeros>`, :basicstructures:`ones() <mat-ones>`, ::basicstructures:`eyes() <mat-eye>`. Specify size and data type to use:\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+        :language: cpp\r
+        :tab-width: 4\r
+        :lines:  40-47\r
+\r
+    .. image:: images/MatBasicContainerOut3.jpg\r
+       :alt: Demo image of the matrix output\r
+       :align: center\r
+\r
+   + For small matrices you may use comma separated initializers:\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+        :language: cpp\r
+        :tab-width: 4\r
+        :lines:  50-51\r
+\r
+    .. image:: images/MatBasicContainerOut6.jpg\r
+       :alt: Demo image of the matrix output\r
+       :align: center\r
+\r
+   + Create a new header for an existing *Mat* object and :basicstructures:`clone() <mat-clone>` or :basicstructures:`copyTo() <mat-copyto>` it.\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+        :language: cpp\r
+        :tab-width: 4\r
+        :lines:  53-54\r
+\r
+     .. image:: images/MatBasicContainerOut7.jpg\r
+        :alt: Demo image of the matrix output\r
+        :align: center\r
+\r
+Print out formatting\r
+====================\r
+\r
+.. note:: \r
+\r
+   You can fill out a matrix with random values using the :operationsOnArrays:`randu() <randu>` function. You need to give the lover and upper value between what you want the random values:\r
+\r
+   .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+      :language: cpp\r
+      :tab-width: 4\r
+      :lines:  57-58\r
+\r
+In the above examples you could see the default formatting option. Nevertheless, OpenCV allows you to format your matrix output format to fit the rules of: \r
+\r
+.. container:: enumeratevisibleitemswithsquare\r
+\r
+   + Default \r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 61\r
+\r
+     .. image:: images/MatBasicContainerOut8.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+   + Python\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 62\r
+\r
+     .. image:: images/MatBasicContainerOut16.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+   + Comma separated values (CSV) \r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 64\r
+\r
+     .. image:: images/MatBasicContainerOut10.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+   + Numpy\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 63\r
+\r
+     .. image:: images/MatBasicContainerOut9.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+   + C\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 65\r
+\r
+     .. image:: images/MatBasicContainerOut11.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+Print for other common items\r
+============================\r
+\r
+OpenCV offers support for print of other common OpenCV data structures too via the << operator like:\r
+\r
+.. container:: enumeratevisibleitemswithsquare\r
+\r
+   + 2D Point \r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 67-68\r
+\r
+     .. image:: images/MatBasicContainerOut12.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+\r
+   + 3D Point\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 70-71\r
+\r
+     .. image:: images/MatBasicContainerOut13.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+   + std::vector via cv::Mat\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 74-77\r
+\r
+     .. image:: images/MatBasicContainerOut14.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+   + std::vector of points\r
+\r
+     .. literalinclude:: ../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp\r
+       :language: cpp\r
+       :tab-width: 4\r
+       :lines: 79-83\r
+\r
+     .. image:: images/MatBasicContainerOut15.jpg\r
+        :alt: Default Output\r
+        :align: center\r
+\r
+Most of the samples here have been included into a small console application. You can download it from :download:`here <../../../../samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp>` or in the core section of the cpp samples.\r
+\r
+A quick video demonstration of this you can find on `YouTube <https://www.youtube.com/watch?v=1tibU7vGWpk>`_.\r
+\r
+.. raw:: html\r
+\r
+  <div align="center">\r
+  <iframe title="Install OpenCV by using its source files - Part 1" width="560" height="349" src="http://www.youtube.com/embed/1tibU7vGWpk?rel=0&loop=1" frameborder="0" allowfullscreen align="middle"></iframe>\r
+  </div>\r
diff --git a/doc/tutorials/core/mat-mask-operations/mat-mask-operations.rst b/doc/tutorials/core/mat-mask-operations/mat-mask-operations.rst
new file mode 100644 (file)
index 0000000..dd2b15e
--- /dev/null
@@ -0,0 +1,24 @@
+.. _maskOperations:\r
+\r
+Mask operations on matrixes\r
+***************************\r
+\r
+Mask operations on matrixes are quite simple. The idea is that we recalculate each pixels value in an image according to a matrix mask. This mask holds values that will just how much influence have neighbor pixel values (and the pixel value itself) to the new pixel value. From a mathematical point of view we make a weighted average, with our specified values. \r
+\r
+Our test case\r
+=============\r
+\r
+Let us consider the issue of an image contrast enchancement method. Basically we want to apply for every pixel of the image the following formula: \r
+\r
+.. math::\r
+\r
+   I(i,j) = 5*I(i,j) - [ I(i-1,j) + I(i+1,j) + I(i,j-1) + I(i,j+1)] \r
+\r
+       \iff I(i,j)*M, \text{where }\r
+       M = \bordermatrix{ _i\backslash ^j  & -1 &  0 & -1 \cr\r
+                                               -1 &  0 & -1 &  0 \cr\r
+                                                0 & -1 &  5 & -1 \cr\r
+                                               +1 &  0 & -1 &  0 \cr\r
+                                         }\r
+\r
+The first notation is by using a formula, while the second is a compacted version of the first by using a mask. You use the mask by puting the center of the mask matrix (in the upper case noted by the zero-zero index) on the pixel you want to calculate and sum up the pixel values multiplicated with the overlapped matrix values. It's the same thing, however in case of large matrices the later notation is a lot easier to look over. \r
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..f483af9
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.png
deleted file mode 100644 (file)
index 003f44d..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.jpg
new file mode 100644 (file)
index 0000000..07b7c26
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.png
deleted file mode 100644 (file)
index 0334503..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_1.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.jpg
new file mode 100644 (file)
index 0000000..97767e3
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.png
deleted file mode 100644 (file)
index 9287b20..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_2.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.jpg
new file mode 100644 (file)
index 0000000..ca1218c
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.png
deleted file mode 100644 (file)
index 482c3bf..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_3.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.jpg
new file mode 100644 (file)
index 0000000..4588115
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.png
deleted file mode 100644 (file)
index e0e6381..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_4.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.jpg
new file mode 100644 (file)
index 0000000..204ccb1
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.png
deleted file mode 100644 (file)
index b0482fd..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_5.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.jpg
new file mode 100644 (file)
index 0000000..fa6078c
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.png
deleted file mode 100644 (file)
index 40a0792..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_6.png and /dev/null differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.jpg b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.jpg
new file mode 100644 (file)
index 0000000..3cc9414
Binary files /dev/null and b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.jpg differ
diff --git a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.png b/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.png
deleted file mode 100644 (file)
index b47a588..0000000
Binary files a/doc/tutorials/core/random_generator_and_text/images/Drawing_2_Tutorial_Result_7.png and /dev/null differ
index fda9b04..8a9b0de 100644 (file)
@@ -229,56 +229,56 @@ As you just saw in the Code section, the program will sequentially execute diver
 
 #. First a random set of *NUMBER* lines will appear on screen such as it can be seen in this screenshot:
 
-   .. image:: images/Drawing_2_Tutorial_Result_0.png
+   .. image:: images/Drawing_2_Tutorial_Result_0.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 0
       :align: center 
 
 #. Then, a new set of figures, these time *rectangles* will follow:
 
-   .. image:: images/Drawing_2_Tutorial_Result_1.png
+   .. image:: images/Drawing_2_Tutorial_Result_1.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 1
       :align: center 
 
 #. Now some ellipses will appear, each of them with random position, size, thickness and arc length:
 
-   .. image:: images/Drawing_2_Tutorial_Result_2.png
+   .. image:: images/Drawing_2_Tutorial_Result_2.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 2
       :align: center 
 
 #. Now, *polylines* with 03 segments will appear on screen, again in random configurations.
 
-   .. image:: images/Drawing_2_Tutorial_Result_3.png
+   .. image:: images/Drawing_2_Tutorial_Result_3.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 3
       :align: center 
 
 #. Filled polygons (in this example triangles) will follow:
 
-   .. image:: images/Drawing_2_Tutorial_Result_4.png
+   .. image:: images/Drawing_2_Tutorial_Result_4.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 4
       :align: center 
 
 #. The last geometric figure to appear: circles!
 
-   .. image:: images/Drawing_2_Tutorial_Result_5.png
+   .. image:: images/Drawing_2_Tutorial_Result_5.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 5
       :align: center 
 
 #. Near the end, the text *"Testing Text Rendering"* will appear in a variety of fonts, sizes, colors and positions.
 
-   .. image:: images/Drawing_2_Tutorial_Result_6.png
+   .. image:: images/Drawing_2_Tutorial_Result_6.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 6
       :align: center 
 
 #. And the big end (which by the way expresses a big truth too):
 
-   .. image:: images/Drawing_2_Tutorial_Result_7.png
+   .. image:: images/Drawing_2_Tutorial_Result_7.jpg
       :height: 300px
       :alt: Drawing Tutorial 2 - Final Result 7
       :align: center 
diff --git a/doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.jpg b/doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..2775154
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.png b/doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.png
deleted file mode 100644 (file)
index e86aee1..0000000
Binary files a/doc/tutorials/core/table_of_content_core/images/Adding_Images_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.jpg b/doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..54d3419
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.png b/doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.png
deleted file mode 100644 (file)
index 3d2fcdc..0000000
Binary files a/doc/tutorials/core/table_of_content_core/images/Basic_Linear_Transform_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.jpg b/doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..e3718a4
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.png b/doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.png
deleted file mode 100644 (file)
index 9cfbef6..0000000
Binary files a/doc/tutorials/core/table_of_content_core/images/Drawing_1_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.jpg b/doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.jpg
new file mode 100644 (file)
index 0000000..cd04700
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.png b/doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.png
deleted file mode 100644 (file)
index 2711552..0000000
Binary files a/doc/tutorials/core/table_of_content_core/images/Drawing_2_Tutorial_Result_7.png and /dev/null differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.jpg b/doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..cdb78d3
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.png b/doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.png
deleted file mode 100644 (file)
index 2f9b038..0000000
Binary files a/doc/tutorials/core/table_of_content_core/images/Morphology_1_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.jpg b/doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..f6cd160
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.png b/doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.png
deleted file mode 100644 (file)
index 3152ea5..0000000
Binary files a/doc/tutorials/core/table_of_content_core/images/Smoothing_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/core/table_of_content_core/images/howToScanImages.jpg b/doc/tutorials/core/table_of_content_core/images/howToScanImages.jpg
new file mode 100644 (file)
index 0000000..a269eb6
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/howToScanImages.jpg differ
diff --git a/doc/tutorials/core/table_of_content_core/images/matTheBasicImageStructure.jpg b/doc/tutorials/core/table_of_content_core/images/matTheBasicImageStructure.jpg
new file mode 100644 (file)
index 0000000..013180b
Binary files /dev/null and b/doc/tutorials/core/table_of_content_core/images/matTheBasicImageStructure.jpg differ
index 7f47aac..9049ad3 100644 (file)
@@ -12,6 +12,45 @@ Here you will learn the about the basic building blocks of the library. A must r
   .. cssclass:: toctableopencv
 
   =============== ======================================================
+   |MatBasicIma|  **Title:** :ref:`matTheBasicImageContainer`
+
+                  *Compatibility:* > OpenCV 2.0
+
+                  *Author:* |Author_BernatG|
+
+                  You will learn how to store images in the memory and how to print out their content to the console.
+
+  =============== ======================================================
+
+  .. |MatBasicIma| image:: images/matTheBasicImageStructure.jpg
+                   :height: 90pt
+                   :width:  90pt
+
++
+  .. tabularcolumns:: m{100pt} m{300pt}
+  .. cssclass:: toctableopencv
+
+  =============== ======================================================
+   |HowScanImag|  **Title:** :ref:`howToScanImagesOpenCV`
+
+                  *Compatibility:* > OpenCV 2.0
+
+                  *Author:* |Author_BernatG|
+
+                  You'll find out how to scan images (go through each of the image pixels) with OpenCV. Bonus: time measurement with OpenCV.
+
+  =============== ======================================================
+
+  .. |HowScanImag| image:: images/howToScanImages.jpg
+                   :height: 90pt
+                   :width:  90pt
+                   
+
++
+  .. tabularcolumns:: m{100pt} m{300pt}
+  .. cssclass:: toctableopencv
+
+  =============== ======================================================
    |Beginners_4|  **Title:** :ref:`Adding_Images`
 
                   *Compatibility:* > OpenCV 2.0
@@ -22,7 +61,7 @@ Here you will learn the about the basic building blocks of the library. A must r
 
   =============== ======================================================
 
-  .. |Beginners_4| image:: images/Adding_Images_Tutorial_Result_0.png
+  .. |Beginners_4| image:: images/Adding_Images_Tutorial_Result_0.jpg
                    :height: 90pt
                    :width:  90pt
 
@@ -41,7 +80,7 @@ Here you will learn the about the basic building blocks of the library. A must r
 
   =============== ====================================================
 
-  .. |Bas_Lin_Tran| image:: images/Basic_Linear_Transform_Tutorial_Result_0.png
+  .. |Bas_Lin_Tran| image:: images/Basic_Linear_Transform_Tutorial_Result_0.jpg
                               :height: 90pt
                               :width:  90pt
 
@@ -62,7 +101,7 @@ Here you will learn the about the basic building blocks of the library. A must r
 
   =============== ======================================================
 
-  .. |Beginners_6| image:: images/Drawing_1_Tutorial_Result_0.png
+  .. |Beginners_6| image:: images/Drawing_1_Tutorial_Result_0.jpg
                    :height: 90pt
                    :width:  90pt
 
@@ -81,14 +120,21 @@ Here you will learn the about the basic building blocks of the library. A must r
 
   =============== ======================================================
 
-  .. |Beginners_7| image:: images/Drawing_2_Tutorial_Result_7.png
+  .. |Beginners_7| image:: images/Drawing_2_Tutorial_Result_7.jpg
                    :height: 90pt
                    :width:  90pt
 
+.. raw:: latex
+
+   \pagebreak
+
 .. toctree::
    :hidden:
-
+   
+   ../mat - the basic image container/mat - the basic image container
+   ../how_to_scan_images/how_to_scan_images
    ../adding_images/adding_images
    ../basic_linear_transform/basic_linear_transform
    ../basic_geometric_drawing/basic_geometric_drawing
-   ../random_generator_and_text/random_generator_and_text
\ No newline at end of file
+   ../random_generator_and_text/random_generator_and_text
+   ../mat-mask-operations/mat-mask-operations.rst
\ No newline at end of file
index 778a59b..a8a249e 100644 (file)
@@ -86,6 +86,10 @@ Learn about how to use the feature points  detectors, descriptors and matching f
                      :height: 90pt
                      :width:  90pt
 
+.. raw:: latex
+
+   \pagebreak
+
 .. toctree::
    :hidden:
 
index 36dbac2..2a6d57f 100644 (file)
@@ -6,3 +6,8 @@ General tutorials
 These tutorials are the bottom of the iceberg as they link together multiple of the modules presented above in order to solve complex problems.
 
 .. include:: ../../definitions/noContent.rst
+
+.. raw:: latex
+
+   \pagebreak
+
index 1c2e91d..cadbcfd 100644 (file)
@@ -6,3 +6,7 @@
 Squeeze out every little computation power from your system by using the power of your video card to run the OpenCV algorithms.\r
 \r
 .. include:: ../../definitions/noContent.rst\r
+\r
+.. raw:: latex\r
+\r
+   \pagebreak\r
diff --git a/doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.jpg b/doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..27f6dbf
Binary files /dev/null and b/doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.png b/doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.png
deleted file mode 100644 (file)
index d3b85ba..0000000
Binary files a/doc/tutorials/highgui/table_of_content_highgui/images/Adding_Trackbars_Tutorial_Cover.png and /dev/null differ
index 56f80ce..1926e92 100644 (file)
@@ -5,11 +5,6 @@
 \r
 This section contains valuable tutorials about how to read/save your image/video files and how to use the built-in graphical user interface of the library. \r
 \r
-.. toctree::\r
-   :hidden:\r
-   \r
-   ../trackbar/trackbar\r
-\r
 * :ref:`Adding_Trackbars`\r
 \r
      =============== ======================================================\r
@@ -21,6 +16,15 @@ This section contains valuable tutorials about how to read/save your image/video
     \r
      =============== ======================================================\r
     \r
-     .. |Beginners_5| image:: images/Adding_Trackbars_Tutorial_Cover.png\r
+     .. |Beginners_5| image:: images/Adding_Trackbars_Tutorial_Cover.jpg\r
                       :height: 100pt\r
                       :width:  100pt\r
+\r
+.. raw:: latex\r
+\r
+   \pagebreak\r
+\r
+.. toctree::\r
+   :hidden:\r
+\r
+   ../trackbar/trackbar\r
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.jpg b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..f79f147
Binary files /dev/null and b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.png b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.png
deleted file mode 100644 (file)
index 8dfab5b..0000000
Binary files a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.jpg b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.jpg
new file mode 100644 (file)
index 0000000..5c7c59c
Binary files /dev/null and b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.jpg differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.png b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.png
deleted file mode 100644 (file)
index 29149f0..0000000
Binary files a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_0.png and /dev/null differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.jpg b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.jpg
new file mode 100644 (file)
index 0000000..cbd5ff4
Binary files /dev/null and b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.jpg differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.png b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.png
deleted file mode 100644 (file)
index 4c8aba3..0000000
Binary files a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1.png and /dev/null differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.jpg b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.jpg
new file mode 100644 (file)
index 0000000..dfc91fd
Binary files /dev/null and b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.jpg differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.png b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.png
deleted file mode 100644 (file)
index feec159..0000000
Binary files a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1a.png and /dev/null differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.jpg b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.jpg
new file mode 100644 (file)
index 0000000..fd3c718
Binary files /dev/null and b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.jpg differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.png b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.png
deleted file mode 100644 (file)
index 5873859..0000000
Binary files a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Result_1b.png and /dev/null differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.jpg b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.jpg
new file mode 100644 (file)
index 0000000..cde081f
Binary files /dev/null and b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.jpg differ
diff --git a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.png b/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.png
deleted file mode 100644 (file)
index a74327f..0000000
Binary files a/doc/tutorials/highgui/trackbar/images/Adding_Trackbars_Tutorial_Trackbar.png and /dev/null differ
index c5b77ab..1a4b801 100644 (file)
@@ -7,7 +7,7 @@ Adding a Trackbar to our applications!
 
 * Well, it is time to use some fancy GUI tools. OpenCV provides some GUI utilities (*highgui.h*) for you. An example of this is a **Trackbar** 
 
-  .. image:: images/Adding_Trackbars_Tutorial_Trackbar.png
+  .. image:: images/Adding_Trackbars_Tutorial_Trackbar.jpg
      :alt: Trackbar example
      :align: center 
 
@@ -145,13 +145,13 @@ Result
 
 * Our program produces the following output:
 
-  .. image:: images/Adding_Trackbars_Tutorial_Result_0.png
+  .. image:: images/Adding_Trackbars_Tutorial_Result_0.jpg
      :alt: Adding Trackbars - Windows Linux
      :align: center 
 
 * As a manner of practice, you can also add 02 trackbars for the program made in :ref:`Basic_Linear_Transform`. One trackbar to set :math:`\alpha` and another for :math:`\beta`. The output might look like:
 
-  .. image:: images/Adding_Trackbars_Tutorial_Result_1.png
+  .. image:: images/Adding_Trackbars_Tutorial_Result_1.jpg
      :alt: Adding Trackbars - Lena
      :height: 500px
      :align: center 
diff --git a/doc/tutorials/images/calib3d.jpg b/doc/tutorials/images/calib3d.jpg
new file mode 100644 (file)
index 0000000..d54050c
Binary files /dev/null and b/doc/tutorials/images/calib3d.jpg differ
diff --git a/doc/tutorials/images/calib3d.png b/doc/tutorials/images/calib3d.png
deleted file mode 100644 (file)
index 89c84a8..0000000
Binary files a/doc/tutorials/images/calib3d.png and /dev/null differ
diff --git a/doc/tutorials/images/core.jpg b/doc/tutorials/images/core.jpg
new file mode 100644 (file)
index 0000000..8845228
Binary files /dev/null and b/doc/tutorials/images/core.jpg differ
diff --git a/doc/tutorials/images/core.png b/doc/tutorials/images/core.png
deleted file mode 100644 (file)
index 9e43df0..0000000
Binary files a/doc/tutorials/images/core.png and /dev/null differ
diff --git a/doc/tutorials/images/feature2D.jpg b/doc/tutorials/images/feature2D.jpg
new file mode 100644 (file)
index 0000000..bf6f44b
Binary files /dev/null and b/doc/tutorials/images/feature2D.jpg differ
diff --git a/doc/tutorials/images/feature2D.png b/doc/tutorials/images/feature2D.png
deleted file mode 100644 (file)
index 429b493..0000000
Binary files a/doc/tutorials/images/feature2D.png and /dev/null differ
diff --git a/doc/tutorials/images/general.jpg b/doc/tutorials/images/general.jpg
new file mode 100644 (file)
index 0000000..6ab3054
Binary files /dev/null and b/doc/tutorials/images/general.jpg differ
diff --git a/doc/tutorials/images/general.png b/doc/tutorials/images/general.png
deleted file mode 100644 (file)
index 1910b7a..0000000
Binary files a/doc/tutorials/images/general.png and /dev/null differ
diff --git a/doc/tutorials/images/gpu.jpg b/doc/tutorials/images/gpu.jpg
new file mode 100644 (file)
index 0000000..7f81e4c
Binary files /dev/null and b/doc/tutorials/images/gpu.jpg differ
diff --git a/doc/tutorials/images/gpu.png b/doc/tutorials/images/gpu.png
deleted file mode 100644 (file)
index 0ad2284..0000000
Binary files a/doc/tutorials/images/gpu.png and /dev/null differ
diff --git a/doc/tutorials/images/highgui.jpg b/doc/tutorials/images/highgui.jpg
new file mode 100644 (file)
index 0000000..522183c
Binary files /dev/null and b/doc/tutorials/images/highgui.jpg differ
diff --git a/doc/tutorials/images/highgui.png b/doc/tutorials/images/highgui.png
deleted file mode 100644 (file)
index 9dcf344..0000000
Binary files a/doc/tutorials/images/highgui.png and /dev/null differ
diff --git a/doc/tutorials/images/imgproc.jpg b/doc/tutorials/images/imgproc.jpg
new file mode 100644 (file)
index 0000000..c55abbe
Binary files /dev/null and b/doc/tutorials/images/imgproc.jpg differ
diff --git a/doc/tutorials/images/imgproc.png b/doc/tutorials/images/imgproc.png
deleted file mode 100644 (file)
index 598a2c8..0000000
Binary files a/doc/tutorials/images/imgproc.png and /dev/null differ
diff --git a/doc/tutorials/images/introduction.jpg b/doc/tutorials/images/introduction.jpg
new file mode 100644 (file)
index 0000000..b6e4a8f
Binary files /dev/null and b/doc/tutorials/images/introduction.jpg differ
diff --git a/doc/tutorials/images/introduction.png b/doc/tutorials/images/introduction.png
deleted file mode 100644 (file)
index 6fcc6a5..0000000
Binary files a/doc/tutorials/images/introduction.png and /dev/null differ
diff --git a/doc/tutorials/images/ml.jpg b/doc/tutorials/images/ml.jpg
new file mode 100644 (file)
index 0000000..2d53479
Binary files /dev/null and b/doc/tutorials/images/ml.jpg differ
diff --git a/doc/tutorials/images/ml.png b/doc/tutorials/images/ml.png
deleted file mode 100644 (file)
index d99497f..0000000
Binary files a/doc/tutorials/images/ml.png and /dev/null differ
diff --git a/doc/tutorials/images/objdetect.jpg b/doc/tutorials/images/objdetect.jpg
new file mode 100644 (file)
index 0000000..06216a8
Binary files /dev/null and b/doc/tutorials/images/objdetect.jpg differ
diff --git a/doc/tutorials/images/objdetect.png b/doc/tutorials/images/objdetect.png
deleted file mode 100644 (file)
index 0311269..0000000
Binary files a/doc/tutorials/images/objdetect.png and /dev/null differ
diff --git a/doc/tutorials/images/video.jpg b/doc/tutorials/images/video.jpg
new file mode 100644 (file)
index 0000000..9400622
Binary files /dev/null and b/doc/tutorials/images/video.jpg differ
diff --git a/doc/tutorials/images/video.png b/doc/tutorials/images/video.png
deleted file mode 100644 (file)
index 69a925f..0000000
Binary files a/doc/tutorials/images/video.png and /dev/null differ
index aa7b7b3..0493462 100644 (file)
@@ -34,7 +34,7 @@ Morphological Operations
 
 * We will explain dilation and erosion briefly, using the following image as an example:
 
-  .. image:: images/Morphology_1_Tutorial_Theory_Original_Image.png
+  .. image:: images/Morphology_1_Tutorial_Theory_Original_Image.jpg
      :alt: Original image
      :height: 100px
      :align: center 
@@ -48,7 +48,7 @@ Dilation
 
 * As the kernel :math:`B` is scanned over the image, we compute the maximal pixel value overlapped by :math:`B` and replace the image pixel in the anchor point position with that maximal value. As you can deduce, this maximizing operation causes bright regions within an image to "grow" (therefore the name *dilation*). Take as an example the image above. Applying dilation we can get:
 
-  .. image:: images/Morphology_1_Tutorial_Theory_Dilation.png
+  .. image:: images/Morphology_1_Tutorial_Theory_Dilation.jpg
      :alt: Dilation result - Theory example
      :height: 100px
      :align: center 
@@ -64,7 +64,7 @@ Erosion
 
 * Analagously to the example for dilation, we can apply the erosion operator to the original image (shown above). You can see in the result below that the bright areas of the image (the background, apparently), get thinner, whereas the dark zones (the "writing"( gets bigger.
 
-  .. image:: images/Morphology_1_Tutorial_Theory_Erosion.png
+  .. image:: images/Morphology_1_Tutorial_Theory_Erosion.jpg
      :alt: Erosion result - Theory example
      :height: 100px
      :align: center 
@@ -266,14 +266,14 @@ Results
 
 * Compile the code above and execute it with an image as argument. For instance, using this image:
 
-  .. image:: images/Morphology_1_Tutorial_Original_Image.png
+  .. image:: images/Morphology_1_Tutorial_Original_Image.jpg
      :alt: Original image
      :height: 200px
      :align: center 
 
   We get the results below. Varying the indices in the Trackbars give different output images, naturally. Try them out! You can even try to add a third Trackbar to control the number of iterations.
 
-  .. image:: images/Morphology_1_Tutorial_Cover.png
+  .. image:: images/Morphology_1_Tutorial_Cover.jpg
      :alt: Dilation and Erosion application
      :height: 400px
      :align: center 
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..6542612
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.png
deleted file mode 100644 (file)
index 90e8c22..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.jpg
new file mode 100644 (file)
index 0000000..ed262da
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.png
deleted file mode 100644 (file)
index 9c86e5f..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Dilation_Result.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.jpg
new file mode 100644 (file)
index 0000000..d3f2f61
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.png
deleted file mode 100644 (file)
index 501f7f8..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Erosion_Result.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.jpg
new file mode 100644 (file)
index 0000000..727df90
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.png
deleted file mode 100644 (file)
index fafe56c..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Original_Image.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.jpg
new file mode 100644 (file)
index 0000000..ed27a49
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.png
deleted file mode 100644 (file)
index 475d9c7..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Dilation.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.jpg
new file mode 100644 (file)
index 0000000..cfa497f
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.png
deleted file mode 100644 (file)
index da734df..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Erosion.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.jpg b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.jpg
new file mode 100644 (file)
index 0000000..c734bb0
Binary files /dev/null and b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.jpg differ
diff --git a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.png b/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.png
deleted file mode 100644 (file)
index ed04720..0000000
Binary files a/doc/tutorials/imgproc/erosion_dilatation/images/Morphology_1_Tutorial_Theory_Original_Image.png and /dev/null differ
index d5e8671..37e2377 100644 (file)
@@ -149,7 +149,7 @@ Code
       namedWindow( window_name, CV_WINDOW_AUTOSIZE );
 
       /// Load the source image
-      src = imread( "../images/lena.png", 1 ); 
+      src = imread( "../images/lena.jpg", 1 ); 
 
       if( display_caption( "Original Image" ) != 0 ) { return 0; }
 
@@ -318,7 +318,7 @@ Results
 
 .. container:: enumeratevisibleitemswithsquare
 
-   * The code opens an image (in this case *lena.png*) and display it under the effects of the 4 filters explained. 
+   * The code opens an image (in this case *lena.jpg*) and display it under the effects of the 4 filters explained. 
 
    * Here is a snapshot of the image smoothed using *medianBlur*:
 
index a746d45..648148f 100644 (file)
@@ -25,7 +25,7 @@ What is a kernel?
 ------------------
 A kernel is essentially a fixed size array of numerical coefficeints along with an *anchor point* in that array, which is tipically located at the center. 
 
-.. image:: images/filter_2d_tutorial_kernel_theory.png
+.. image:: images/filter_2d_tutorial_kernel_theory.jpg
         :alt: kernel example
         :align: center 
 
@@ -194,6 +194,6 @@ Results
 
 #. After compiling the code above, you  can execute it giving as argument the path of an image. The result should be a window that shows an image blurred by a normalized filter. Each 0.5 seconds the kernel size should change, as can be seen in the series of snapshots below:
 
-   .. image:: images/filter_2d_tutorial_result.png
+   .. image:: images/filter_2d_tutorial_result.jpg
            :alt: kernel example
            :align: center
diff --git a/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.jpg b/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.jpg
new file mode 100644 (file)
index 0000000..d26066c
Binary files /dev/null and b/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.jpg differ
diff --git a/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.png b/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.png
deleted file mode 100644 (file)
index 70d4e2d..0000000
Binary files a/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_kernel_theory.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.jpg b/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.jpg
new file mode 100644 (file)
index 0000000..5f326f5
Binary files /dev/null and b/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.jpg differ
diff --git a/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.png b/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.png
deleted file mode 100644 (file)
index 416d84d..0000000
Binary files a/doc/tutorials/imgproc/imgtrans/filter_2d/images/filter_2d_tutorial_result.png and /dev/null differ
index 2705e2f..862243c 100644 (file)
-.. _hough_circle:
-
-Hough Circle Transform
-***********************
-
-Goal
-=====
-In this tutorial you will learn how to:
-
-* Use the OpenCV function :hough_circles:`HoughCircles <>` to detect circles in an image.
-
-Theory
-=======
-
-Hough Circle Transform
-------------------------
-
-* The Hough Circle Transform works in a *roughly* analogous way to the Hough Line Transform explained in the previous tutorial.
-* In the line detection case, a line was defined by two parameters :math:`(r, \theta)`. In the circle case, we need three parameters to define a circle:
-  .. math::
-     
-     C : ( x_{center}, y_{center}, r ) 
-
-  where :math:`(x_{center}, y_{center})` define the center position (gree point) and :math:`r` is the radius, which allows us to completely define a circle, as it can be seen below:
-
-  .. image:: images/Hough_Circle_Tutorial_Theory_0.jpg
-          :alt: Result of detecting circles with Hough Transform
-          :height: 200pt
-          :align: center 
-
-* For sake of efficiency, OpenCV implements a detection method slightly trickier than the standard Hough Transform: *The Hough gradient method*. For more details, please check the book *Learning OpenCV* or your favorite Computer Vision bibliography
-
-Code
-======
-
-#. **What does this program do?**
-   * Loads an image and blur it to reduce the noise
-   * Applies the *Hough Circle Transform* to the blurred image . 
-   * Display the detected circle in a window.
-
+.. _hough_circle:\r
+\r
+Hough Circle Transform\r
+***********************\r
+\r
+Goal\r
+=====\r
+In this tutorial you will learn how to:\r
+\r
+* Use the OpenCV function :hough_circles:`HoughCircles <>` to detect circles in an image.\r
+\r
+Theory\r
+=======\r
+\r
+Hough Circle Transform\r
+------------------------\r
+\r
+* The Hough Circle Transform works in a *roughly* analogous way to the Hough Line Transform explained in the previous tutorial.\r
+* In the line detection case, a line was defined by two parameters :math:`(r, \theta)`. In the circle case, we need three parameters to define a circle:\r
\r
+  .. math::\r
+     \r
+     C : ( x_{center}, y_{center}, r ) \r
+\r
+  where :math:`(x_{center}, y_{center})` define the center position (gree point) and :math:`r` is the radius, which allows us to completely define a circle, as it can be seen below:\r
+\r
+  .. image:: images/Hough_Circle_Tutorial_Theory_0.jpg\r
+          :alt: Result of detecting circles with Hough Transform\r
+          :height: 200pt\r
+          :align: center \r
+\r
+* For sake of efficiency, OpenCV implements a detection method slightly trickier than the standard Hough Transform: *The Hough gradient method*. For more details, please check the book *Learning OpenCV* or your favorite Computer Vision bibliography\r
+\r
+Code\r
+======\r
+\r
+#. **What does this program do?**\r
\r
+   * Loads an image and blur it to reduce the noise\r
+   * Applies the *Hough Circle Transform* to the blurred image . \r
+   * Display the detected circle in a window.\r
+\r
    .. |TutorialHoughCirclesSimpleDownload| replace:: here\r
    .. _TutorialHoughCirclesSimpleDownload: https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/houghlines.cpp\r
    .. |TutorialHoughCirclesFancyDownload| replace:: here\r
    .. _TutorialHoughCirclesFancyDownload: https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp\r
-
-#. The sample code that we will explain can be downloaded from |TutorialHoughCirclesSimpleDownload|_. A slightly fancier version (which shows both Hough standard and probabilistic with trackbars for changing the threshold values) can be found |TutorialHoughCirclesFancyDownload|_.
-
-.. code-block:: cpp 
-
-   #include "opencv2/highgui/highgui.hpp"
-   #include "opencv2/imgproc/imgproc.hpp"
-   #include <iostream>
-   #include <stdio.h>
-
-   using namespace cv;
-
-   /** @function main */
-   int main(int argc, char** argv)
-   {
-     Mat src, src_gray;
-
-     /// Read the image
-     src = imread( argv[1], 1 );
-
-     if( !src.data )
-       { return -1; }
-
-     /// Convert it to gray 
-     cvtColor( src, src_gray, CV_BGR2GRAY );
-
-     /// Reduce the noise so we avoid false circle detection
-     GaussianBlur( src_gray, src_gray, Size(9, 9), 2, 2 );
-
-     vector<Vec3f> circles;
-
-     /// Apply the Hough Transform to find the circles
-     HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/8, 200, 100, 0, 0 );
-
-     /// Draw the circles detected
-     for( size_t i = 0; i < circles.size(); i++ )
-     {
-         Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
-         int radius = cvRound(circles[i][2]);
-         // circle center
-         circle( src, center, 3, Scalar(0,255,0), -1, 8, 0 );
-         // circle outline
-         circle( src, center, radius, Scalar(0,0,255), 3, 8, 0 );
-      }
-
-     /// Show your results 
-     namedWindow( "Hough Circle Transform Demo", CV_WINDOW_AUTOSIZE );
-     imshow( "Hough Circle Transform Demo", src );
-
-     waitKey(0);
-     return 0;
-   }
-
-
-Explanation
-============
-
-
-#. Load an image
-
-   .. code-block:: cpp
-
-     src = imread( argv[1], 1 );
-
-     if( !src.data )
-       { return -1; }
-
-#. Convert it to grayscale:
-
-   .. code-block:: cpp
-
-      cvtColor( src, src_gray, CV_BGR2GRAY );
-
-#. Apply a Gaussian blur to reduce noise and avoid false circle detection:
-    
-   .. code-block::  cpp
-
-      GaussianBlur( src_gray, src_gray, Size(9, 9), 2, 2 );
-
-#. Proceed to apply Hough Circle Transform:
-
-   .. code-block:: cpp
-
-      vector<Vec3f> circles;
-
-      HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/8, 200, 100, 0, 0 );
-
-   with the arguments:
-
-   * *src_gray*: Input image (grayscale)
-   * *circles*: A vector that stores sets of 3 values: :math:`x_{c}, y_{c}, r` for each detected circle.
-   * *CV_HOUGH_GRADIENT*: Define the detection method. Currently this is the only one available in OpenCV
-   * *dp = 1*: The inverse ratio of resolution
-   * *min_dist = src_gray.rows/8*: Minimum distance between detected centers
-   * *param_1 = 200*: Upper threshold for the internal Canny edge detector
-   * *param_2* = 100*: Threshold for center detection. 
-   * *min_radius = 0*: Minimum radio to be detected. If unknown, put zero as default. 
-   * *max_radius = 0*: Maximum radius to be detected. If unknown, put zero as default
-   
-#. Draw the detected circles:
-
-   .. code-block:: cpp
-
-      for( size_t i = 0; i < circles.size(); i++ )
-      {
-         Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));
-         int radius = cvRound(circles[i][2]);
-         // circle center
-         circle( src, center, 3, Scalar(0,255,0), -1, 8, 0 );
-         // circle outline
-         circle( src, center, radius, Scalar(0,0,255), 3, 8, 0 );
-       }       
-
-   You can see that we will draw the circle(s) on red and the center(s) with a small green dot
-
-#. Display the detected circle(s):
-
-   .. code-block:: cpp
-   
-      namedWindow( "Hough Circle Transform Demo", CV_WINDOW_AUTOSIZE );
-      imshow( "Hough Circle Transform Demo", src );
-
-#. Wait for the user to exit the program
-
-   .. code-block:: cpp
-
-      waitKey(0);
-
-
-Result
-=======
-
-The result of running the code above with a test image is shown below: 
-
-.. image:: images/Hough_Circle_Tutorial_Result.jpg
-   :alt: Result of detecting circles with Hough Transform
-   :align: center 
+\r
+#. The sample code that we will explain can be downloaded from |TutorialHoughCirclesSimpleDownload|_. A slightly fancier version (which shows both Hough standard and probabilistic with trackbars for changing the threshold values) can be found |TutorialHoughCirclesFancyDownload|_.\r
+\r
+.. code-block:: cpp \r
+\r
+   #include "opencv2/highgui/highgui.hpp"\r
+   #include "opencv2/imgproc/imgproc.hpp"\r
+   #include <iostream>\r
+   #include <stdio.h>\r
+\r
+   using namespace cv;\r
+\r
+   /** @function main */\r
+   int main(int argc, char** argv)\r
+   {\r
+     Mat src, src_gray;\r
+\r
+     /// Read the image\r
+     src = imread( argv[1], 1 );\r
+\r
+     if( !src.data )\r
+       { return -1; }\r
+\r
+     /// Convert it to gray \r
+     cvtColor( src, src_gray, CV_BGR2GRAY );\r
+\r
+     /// Reduce the noise so we avoid false circle detection\r
+     GaussianBlur( src_gray, src_gray, Size(9, 9), 2, 2 );\r
+\r
+     vector<Vec3f> circles;\r
+\r
+     /// Apply the Hough Transform to find the circles\r
+     HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/8, 200, 100, 0, 0 );\r
+\r
+     /// Draw the circles detected\r
+     for( size_t i = 0; i < circles.size(); i++ )\r
+     {\r
+         Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));\r
+         int radius = cvRound(circles[i][2]);\r
+         // circle center\r
+         circle( src, center, 3, Scalar(0,255,0), -1, 8, 0 );\r
+         // circle outline\r
+         circle( src, center, radius, Scalar(0,0,255), 3, 8, 0 );\r
+      }\r
+\r
+     /// Show your results \r
+     namedWindow( "Hough Circle Transform Demo", CV_WINDOW_AUTOSIZE );\r
+     imshow( "Hough Circle Transform Demo", src );\r
+\r
+     waitKey(0);\r
+     return 0;\r
+   }\r
+\r
+\r
+Explanation\r
+============\r
+\r
+\r
+#. Load an image\r
+\r
+   .. code-block:: cpp\r
+\r
+     src = imread( argv[1], 1 );\r
+\r
+     if( !src.data )\r
+       { return -1; }\r
+\r
+#. Convert it to grayscale:\r
+\r
+   .. code-block:: cpp\r
+\r
+      cvtColor( src, src_gray, CV_BGR2GRAY );\r
+\r
+#. Apply a Gaussian blur to reduce noise and avoid false circle detection:\r
+    \r
+   .. code-block::  cpp\r
+\r
+      GaussianBlur( src_gray, src_gray, Size(9, 9), 2, 2 );\r
+\r
+#. Proceed to apply Hough Circle Transform:\r
+\r
+   .. code-block:: cpp\r
+\r
+      vector<Vec3f> circles;\r
+\r
+      HoughCircles( src_gray, circles, CV_HOUGH_GRADIENT, 1, src_gray.rows/8, 200, 100, 0, 0 );\r
+\r
+   with the arguments:\r
+\r
+   * *src_gray*: Input image (grayscale)\r
+   * *circles*: A vector that stores sets of 3 values: :math:`x_{c}, y_{c}, r` for each detected circle.\r
+   * *CV_HOUGH_GRADIENT*: Define the detection method. Currently this is the only one available in OpenCV\r
+   * *dp = 1*: The inverse ratio of resolution\r
+   * *min_dist = src_gray.rows/8*: Minimum distance between detected centers\r
+   * *param_1 = 200*: Upper threshold for the internal Canny edge detector\r
+   * *param_2* = 100*: Threshold for center detection. \r
+   * *min_radius = 0*: Minimum radio to be detected. If unknown, put zero as default. \r
+   * *max_radius = 0*: Maximum radius to be detected. If unknown, put zero as default\r
+   \r
+#. Draw the detected circles:\r
+\r
+   .. code-block:: cpp\r
+\r
+      for( size_t i = 0; i < circles.size(); i++ )\r
+      {\r
+         Point center(cvRound(circles[i][0]), cvRound(circles[i][1]));\r
+         int radius = cvRound(circles[i][2]);\r
+         // circle center\r
+         circle( src, center, 3, Scalar(0,255,0), -1, 8, 0 );\r
+         // circle outline\r
+         circle( src, center, radius, Scalar(0,0,255), 3, 8, 0 );\r
+       }       \r
+\r
+   You can see that we will draw the circle(s) on red and the center(s) with a small green dot\r
+\r
+#. Display the detected circle(s):\r
+\r
+   .. code-block:: cpp\r
+   \r
+      namedWindow( "Hough Circle Transform Demo", CV_WINDOW_AUTOSIZE );\r
+      imshow( "Hough Circle Transform Demo", src );\r
+\r
+#. Wait for the user to exit the program\r
+\r
+   .. code-block:: cpp\r
+\r
+      waitKey(0);\r
+\r
+\r
+Result\r
+=======\r
+\r
+The result of running the code above with a test image is shown below: \r
+\r
+.. image:: images/Hough_Circle_Tutorial_Result.jpg\r
+   :alt: Result of detecting circles with Hough Transform\r
+   :align: center \r
index ebd756a..147f293 100644 (file)
@@ -91,13 +91,19 @@ b. **The Probabilistic Hough Line Transform**
 Code
 ======
 
+.. |TutorialHoughLinesSimpleDownload| replace:: here\r
+.. _TutorialHoughLinesSimpleDownload: https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/houghlines.cpp\r
+.. |TutorialHoughLinesFancyDownload| replace:: here\r
+.. _TutorialHoughLinesFancyDownload: https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp\r
+
+
 #. **What does this program do?**
  
    * Loads an image
    * Applies either a *Standard Hough Line Transform* or a *Probabilistic Line Transform*. 
    * Display the original image and the detected line in two windows.
 
-#. The sample code that we will explain can be downloaded from `here <https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/houghlines.cpp>`_. A slightly fancier version (which shows both Hough standard and probabilistic with trackbars for changing the threshold values) can be found  `here <https://code.ros.org/svn/opencv/trunk/opencv/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp>`_
+#. The sample code that we will explain can be downloaded from  |TutorialHoughLinesSimpleDownload|_. A slightly fancier version (which shows both Hough standard and probabilistic with trackbars for changing the threshold values) can be found  |TutorialHoughLinesFancyDownload|_.
 
 .. code-block:: cpp 
 
@@ -113,12 +119,12 @@ Code
    {
     cout << "\nThis program demonstrates line finding with the Hough transform.\n"
             "Usage:\n"
-            "./houghlines <image_name>, Default is pic1.png\n" << endl;
+            "./houghlines <image_name>, Default is pic1.jpg\n" << endl;
    }
 
    int main(int argc, char** argv)
    {
-    const char* filename = argc >= 2 ? argv[1] : "pic1.png";
+    const char* filename = argc >= 2 ? argv[1] : "pic1.jpg";
 
     Mat src = imread(filename, 0);
     if(src.empty())
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.jpg b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..25cd4fb
Binary files /dev/null and b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.png b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.png
deleted file mode 100644 (file)
index 5a7ba11..0000000
Binary files a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.jpg b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.jpg
new file mode 100644 (file)
index 0000000..05ef881
Binary files /dev/null and b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.jpg differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.png b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.png
deleted file mode 100644 (file)
index ceb4e6e..0000000
Binary files a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_BlackHat.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.jpg b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.jpg
new file mode 100644 (file)
index 0000000..0279812
Binary files /dev/null and b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.jpg differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.png b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.png
deleted file mode 100644 (file)
index faa7859..0000000
Binary files a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Closing.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.jpg b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.jpg
new file mode 100644 (file)
index 0000000..80e7416
Binary files /dev/null and b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.jpg differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.png b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.png
deleted file mode 100644 (file)
index 7de2bc3..0000000
Binary files a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Gradient.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.jpg b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.jpg
new file mode 100644 (file)
index 0000000..a301409
Binary files /dev/null and b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.jpg differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.png b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.png
deleted file mode 100644 (file)
index d40b9bb..0000000
Binary files a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_Opening.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.jpg b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.jpg
new file mode 100644 (file)
index 0000000..c000766
Binary files /dev/null and b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.jpg differ
diff --git a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.png b/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.png
deleted file mode 100644 (file)
index 98d0a92..0000000
Binary files a/doc/tutorials/imgproc/opening_closing_hats/images/Morphology_2_Tutorial_Theory_TopHat.png and /dev/null differ
index 896a564..f233f06 100644 (file)
@@ -43,7 +43,7 @@ Opening
 
 * For instance, check out the example below. The image at the left is the original and the image at the right is the result after applying the opening transformation. We can observe that the small spaces in the corners of the letter tend to dissapear.
 
-  .. image:: images/Morphology_2_Tutorial_Theory_Opening.png
+  .. image:: images/Morphology_2_Tutorial_Theory_Opening.jpg
      :height: 150pt
      :alt: Opening
      :align: center  
@@ -59,7 +59,7 @@ Closing
 
 * Useful to remove small holes (dark regions). 
 
-  .. image:: images/Morphology_2_Tutorial_Theory_Closing.png
+  .. image:: images/Morphology_2_Tutorial_Theory_Closing.jpg
      :height: 150pt
      :alt: Closing example
      :align: center  
@@ -76,7 +76,7 @@ Morphological Gradient
 
 * It is useful for finding the outline of an object as can be seen below:
 
-  .. image:: images/Morphology_2_Tutorial_Theory_Gradient.png
+  .. image:: images/Morphology_2_Tutorial_Theory_Gradient.jpg
      :height: 150pt
      :alt: Gradient
      :align: center  
@@ -91,7 +91,7 @@ Top Hat
    
      dst = tophat( src, element ) = src - open( src, element )
 
-  .. image:: images/Morphology_2_Tutorial_Theory_TopHat.png
+  .. image:: images/Morphology_2_Tutorial_Theory_TopHat.jpg
      :height: 150pt
      :alt: Top Hat
      :align: center  
@@ -105,7 +105,7 @@ Black Hat
  
      dst = blackhat( src, element ) = close( src, element ) - src
 
-  .. image:: images/Morphology_2_Tutorial_Theory_BlackHat.png
+  .. image:: images/Morphology_2_Tutorial_Theory_BlackHat.jpg
      :height: 150pt
      :alt: Black Hat
      :align: center    
@@ -279,7 +279,7 @@ Results
 
 * And here are two snapshots of the display window. The first picture shows the output after using the operator **Opening** with a cross kernel. The second picture (right side, shows the result of using a **Blackhat** operator with an ellipse kernel.
  
-  .. image:: images/Morphology_2_Tutorial_Cover.png
+  .. image:: images/Morphology_2_Tutorial_Cover.jpg
      :height: 300pt
      :alt: Morphology 2: Result sample
      :align: center 
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.jpg b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..2a1f597
Binary files /dev/null and b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.png b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.png
deleted file mode 100644 (file)
index 2a60585..0000000
Binary files a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.jpg b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.jpg
new file mode 100644 (file)
index 0000000..a9857ce
Binary files /dev/null and b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.jpg differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.png b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.png
deleted file mode 100644 (file)
index ddf6681..0000000
Binary files a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Original_Image.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.jpg b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.jpg
new file mode 100644 (file)
index 0000000..71f30a7
Binary files /dev/null and b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.jpg differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.png b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.png
deleted file mode 100644 (file)
index ab34b72..0000000
Binary files a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrDown_Result.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.jpg b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.jpg
new file mode 100644 (file)
index 0000000..d2acb7c
Binary files /dev/null and b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.jpg differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.png b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.png
deleted file mode 100644 (file)
index 17f5e18..0000000
Binary files a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_PyrUp_Result.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.jpg b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.jpg
new file mode 100644 (file)
index 0000000..573b87d
Binary files /dev/null and b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.jpg differ
diff --git a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.png b/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.png
deleted file mode 100644 (file)
index 8321c36..0000000
Binary files a/doc/tutorials/imgproc/pyramids/images/Pyramids_Tutorial_Pyramid_Theory.png and /dev/null differ
index 764463f..90190c6 100644 (file)
@@ -41,7 +41,7 @@ Gaussian Pyramid
 
 * Imagine the pyramid as a set of layers in which the higher the layer, the smaller the size. 
 
-  .. image:: images/Pyramids_Tutorial_Pyramid_Theory.png
+  .. image:: images/Pyramids_Tutorial_Pyramid_Theory.jpg
      :alt: Pyramid figure
      :align: center 
 
@@ -103,7 +103,7 @@ This tutorial code's is shown lines below. You can also download it from `here <
      printf( " * [ESC] -> Close program \n \n" );
 
      /// Test image - Make sure it s divisible by 2^{n}
-     src = imread( "../images/chicky_512.png" );
+     src = imread( "../images/chicky_512.jpg" );
      if( !src.data )
        { printf(" No data! -- Exiting the program \n");
          return -1; }
@@ -148,7 +148,7 @@ Explanation
      .. code-block:: cpp
 
         /// Test image - Make sure it s divisible by 2^{n}
-        src = imread( "../images/chicky_512.png" );
+        src = imread( "../images/chicky_512.jpg" );
         if( !src.data )
           { printf(" No data! -- Exiting the program \n");
             return -1; }
@@ -235,21 +235,21 @@ Explanation
 Results
 ========
 
-* After compiling the code above we can test it. The program calls an image **chicky_512.png** that comes in the *tutorial_code/image* folder. Notice that this image is :math:`512 \times 512`, hence a downsample won't generate any error (:math:`512 = 2^{9}`). The original image is shown below:
+* After compiling the code above we can test it. The program calls an image **chicky_512.jpg** that comes in the *tutorial_code/image* folder. Notice that this image is :math:`512 \times 512`, hence a downsample won't generate any error (:math:`512 = 2^{9}`). The original image is shown below:
 
-  .. image:: images/Pyramids_Tutorial_Original_Image.png
+  .. image:: images/Pyramids_Tutorial_Original_Image.jpg
      :alt: Pyramids: Original image    
      :align: center 
 
 * First we apply two successive :pyr_down:`pyrDown <>` operations by pressing 'd'. Our output is:
  
-  .. image:: images/Pyramids_Tutorial_PyrDown_Result.png
+  .. image:: images/Pyramids_Tutorial_PyrDown_Result.jpg
      :alt: Pyramids: PyrDown Result
      :align: center 
 
 * Note that we should have lost some resolution due to the fact that we are diminishing the size of the image. This is evident after we apply :pyr_up:`pyrUp <>` twice (by pressing 'u'). Our output is now:
  
-  .. image:: images/Pyramids_Tutorial_PyrUp_Result.png
+  .. image:: images/Pyramids_Tutorial_PyrUp_Result.jpg
      :alt: Pyramids: PyrUp Result
      :align: center 
 
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.jpg b/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..cdb78d3
Binary files /dev/null and b/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.png b/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.png
deleted file mode 100644 (file)
index 2f9b038..0000000
Binary files a/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_1_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.jpg b/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..27685b8
Binary files /dev/null and b/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.png b/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.png
deleted file mode 100644 (file)
index 6e6aed9..0000000
Binary files a/doc/tutorials/imgproc/table_of_content_imgproc/images/Morphology_2_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.jpg b/doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..da24ffb
Binary files /dev/null and b/doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.png b/doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.png
deleted file mode 100644 (file)
index 2fbee16..0000000
Binary files a/doc/tutorials/imgproc/table_of_content_imgproc/images/Pyramids_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.jpg b/doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..28f24bd
Binary files /dev/null and b/doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.png b/doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.png
deleted file mode 100644 (file)
index 015e8c3..0000000
Binary files a/doc/tutorials/imgproc/table_of_content_imgproc/images/Threshold_Tutorial_Cover.png and /dev/null differ
index 3d6cd24..80ee5b7 100644 (file)
@@ -42,7 +42,7 @@ In this section you will learn about the image processing (manipulation) functio
   \r
   ===================== ==============================================\r
   \r
-  .. |ImageProcessing_2| image:: images/Morphology_1_Tutorial_Cover.png\r
+  .. |ImageProcessing_2| image:: images/Morphology_1_Tutorial_Cover.jpg\r
                          :height: 90pt\r
                          :width:  90pt\r
      \r
@@ -61,7 +61,7 @@ In this section you will learn about the image processing (manipulation) functio
   \r
   ================= ==================================================\r
   \r
-  .. |Morphology_2| image:: images/Morphology_2_Tutorial_Cover.png\r
+  .. |Morphology_2| image:: images/Morphology_2_Tutorial_Cover.jpg\r
                      :height: 90pt\r
                      :width:  90pt\r
   \r
@@ -81,7 +81,7 @@ In this section you will learn about the image processing (manipulation) functio
   \r
   ===================== ==============================================\r
   \r
-  .. |Pyramids| image:: images/Pyramids_Tutorial_Cover.png\r
+  .. |Pyramids| image:: images/Pyramids_Tutorial_Cover.jpg\r
                       :height: 90pt\r
                       :width:  90pt\r
   \r
@@ -101,7 +101,7 @@ In this section you will learn about the image processing (manipulation) functio
   \r
   ===================== ==============================================\r
   \r
-  .. |Threshold| image:: images/Threshold_Tutorial_Cover.png\r
+  .. |Threshold| image:: images/Threshold_Tutorial_Cover.jpg\r
                       :height: 90pt\r
                       :width:  90pt\r
   \r
@@ -507,7 +507,9 @@ In this section you will learn about the image processing (manipulation) functio
                 :height: 90pt\r
                 :width:  90pt\r
 \r
+.. raw:: latex\r
 \r
+   \pagebreak\r
 \r
 .. toctree::\r
    :hidden:\r
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.jpg
new file mode 100644 (file)
index 0000000..54622de
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.png
deleted file mode 100644 (file)
index e0161bd..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Cover.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.jpg
new file mode 100644 (file)
index 0000000..a9857ce
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.png
deleted file mode 100644 (file)
index ddf6681..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Original_Image.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.jpg
new file mode 100644 (file)
index 0000000..8b9e38f
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.png
deleted file mode 100644 (file)
index 72e36fa..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Binary_Inverted.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.jpg
new file mode 100644 (file)
index 0000000..2f25cab
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.png
deleted file mode 100644 (file)
index ce1bfeb..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Result_Zero.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.jpg
new file mode 100644 (file)
index 0000000..dea9229
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.png
deleted file mode 100644 (file)
index 5078bba..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Base_Figure.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.jpg
new file mode 100644 (file)
index 0000000..cbf7700
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.png
deleted file mode 100644 (file)
index a06972d..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.jpg
new file mode 100644 (file)
index 0000000..7c74247
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.png
deleted file mode 100644 (file)
index cfd7cc3..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Binary_Inverted.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.jpg
new file mode 100644 (file)
index 0000000..bbc32e5
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.png
deleted file mode 100644 (file)
index e834992..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Example.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.jpg
new file mode 100644 (file)
index 0000000..7f6357e
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.png
deleted file mode 100644 (file)
index 6e4c657..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Truncate.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.jpg
new file mode 100644 (file)
index 0000000..e71d595
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.png
deleted file mode 100644 (file)
index 6ab10a7..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero.png and /dev/null differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.jpg b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.jpg
new file mode 100644 (file)
index 0000000..494a25a
Binary files /dev/null and b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.jpg differ
diff --git a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.png b/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.png
deleted file mode 100644 (file)
index f8cb3b3..0000000
Binary files a/doc/tutorials/imgproc/threshold/images/Threshold_Tutorial_Theory_Zero_Inverted.png and /dev/null differ
index 1db9781..b4a6443 100644 (file)
@@ -28,7 +28,7 @@ What is Thresholding?
 
 * Once we have separated properly the important pixels, we can set them with a determined value to identify them (i.e. we can assign them a value of :math:`0` (black), :math:`255` (white) or any value  that suits your needs).
 
-  .. image:: images/Threshold_Tutorial_Theory_Example.png
+  .. image:: images/Threshold_Tutorial_Theory_Example.jpg
      :alt: Threshold simple example
      :height: 150pt
      :align: center 
@@ -42,7 +42,7 @@ Types of Thresholding
 
 * To illustrate how these thresholding processes work, let's consider that we have a source image with pixels with intensity values :math:`src(x,y)`. The plot below depicts this. The horizontal blue line represents the threshold :math:`thresh` (fixed).
 
-  .. image:: images/Threshold_Tutorial_Theory_Base_Figure.png
+  .. image:: images/Threshold_Tutorial_Theory_Base_Figure.jpg
      :alt: Threshold Binary
      :height: 100pt
      :align: center 
@@ -58,7 +58,7 @@ Threshold Binary
  
 * So, if the intensity of the pixel :math:`src(x,y)` is higher than :math:`thresh`, then the new pixel intensity is set to a :math:`MaxVal`. Otherwise, the pixels are set to :math:`0`.
 
-  .. image:: images/Threshold_Tutorial_Theory_Binary.png
+  .. image:: images/Threshold_Tutorial_Theory_Binary.jpg
      :alt: Threshold Binary
      :height: 100pt
      :align: center 
@@ -75,7 +75,7 @@ Threshold Binary, Inverted
 
 * If the intensity of the pixel :math:`src(x,y)` is higher than :math:`thresh`, then the new pixel intensity is set to a :math:`0`. Otherwise, it is set to :math:`MaxVal`.
         
-  .. image:: images/Threshold_Tutorial_Theory_Binary_Inverted.png
+  .. image:: images/Threshold_Tutorial_Theory_Binary_Inverted.jpg
      :alt: Threshold Binary Inverted
      :height: 100pt
      :align: center 
@@ -91,7 +91,7 @@ Truncate
        
 * The maximum intensity value for the pixels is :math:`thresh`, if :math:`src(x,y)` is greater, then its value is *truncated*. See figure below:
  
-  .. image:: images/Threshold_Tutorial_Theory_Truncate.png
+  .. image:: images/Threshold_Tutorial_Theory_Truncate.jpg
      :alt: Threshold Truncate
      :height: 100pt
      :align: center 
@@ -109,7 +109,7 @@ Threshold to Zero
 
 * If :math:`src(x,y)` is lower than :math:`thresh`, the new pixel value will be set to :math:`0`.
 
-  .. image:: images/Threshold_Tutorial_Theory_Zero.png
+  .. image:: images/Threshold_Tutorial_Theory_Zero.jpg
      :alt: Threshold Zero
      :height: 100pt
      :align: center 
@@ -126,7 +126,7 @@ Threshold to Zero, Inverted
 
 * If  :math:`src(x,y)` is greater than :math:`thresh`, the new pixel value will be set to :math:`0`.
 
-  .. image:: images/Threshold_Tutorial_Theory_Zero_Inverted.png
+  .. image:: images/Threshold_Tutorial_Theory_Zero_Inverted.jpg
      :alt: Threshold Zero Inverted
      :height: 100pt
      :align: center 
@@ -296,7 +296,7 @@ Results
 #. After compiling this program, run it giving a path to an image as argument. For instance, for an input image as:
 
 
-   .. image:: images/Threshold_Tutorial_Original_Image.png
+   .. image:: images/Threshold_Tutorial_Original_Image.jpg
       :alt: Threshold Original Image
       :height: 200pt
       :align: center 
@@ -304,7 +304,7 @@ Results
 #. First, we try to threshold our image with a *binary threhold inverted*. We expect that the pixels brighter than the :math:`thresh` will turn dark, which is what actually happens, as we can see in the snapshot below (notice from the original image, that the doggie's tongue and eyes are particularly bright in comparison with the image, this is reflected in the output image).
 
 
-   .. image:: images/Threshold_Tutorial_Result_Binary_Inverted.png
+   .. image:: images/Threshold_Tutorial_Result_Binary_Inverted.jpg
       :alt: Threshold Result Binary Inverted
       :height: 200pt
       :align: center 
@@ -312,7 +312,7 @@ Results
 
 #. Now we try with the *threshold to zero*. With this, we expect that the darkest pixels (below the threshold) will become completely black, whereas the pixels with value greater than the threshold will keep its original value. This is verified by the following snapshot of the output image:
 
-   .. image:: images/Threshold_Tutorial_Result_Zero.png
+   .. image:: images/Threshold_Tutorial_Result_Zero.jpg
       :alt: Threshold Result Zero
       :height: 200pt
       :align: center 
index f0edeec..a8be339 100644 (file)
@@ -116,7 +116,7 @@ Result
 
 * You should get a nice window as the one shown below:
 
-  .. image:: images/Display_Image_Tutorial_Result.png
+  .. image:: images/Display_Image_Tutorial_Result.jpg
      :alt: Display Image Tutorial - Final Result
      :align: center 
 
diff --git a/doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.jpg b/doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.jpg
new file mode 100644 (file)
index 0000000..8d3063f
Binary files /dev/null and b/doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.jpg differ
diff --git a/doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.png b/doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.png
deleted file mode 100644 (file)
index 62e3878..0000000
Binary files a/doc/tutorials/introduction/display_image/images/Display_Image_Tutorial_Result.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a0.jpg b/doc/tutorials/introduction/linux_eclipse/images/a0.jpg
new file mode 100644 (file)
index 0000000..eb2fafd
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a0.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a0.png b/doc/tutorials/introduction/linux_eclipse/images/a0.png
deleted file mode 100644 (file)
index 3ad10d4..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a0.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a1.jpg b/doc/tutorials/introduction/linux_eclipse/images/a1.jpg
new file mode 100644 (file)
index 0000000..b01e13e
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a1.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a1.png b/doc/tutorials/introduction/linux_eclipse/images/a1.png
deleted file mode 100644 (file)
index 31c284a..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a1.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a10.jpg b/doc/tutorials/introduction/linux_eclipse/images/a10.jpg
new file mode 100644 (file)
index 0000000..8725d38
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a10.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a10.png b/doc/tutorials/introduction/linux_eclipse/images/a10.png
deleted file mode 100644 (file)
index 48bf684..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a10.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a11.jpg b/doc/tutorials/introduction/linux_eclipse/images/a11.jpg
new file mode 100644 (file)
index 0000000..8454d29
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a11.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a11.png b/doc/tutorials/introduction/linux_eclipse/images/a11.png
deleted file mode 100644 (file)
index edca4ab..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a11.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a12.jpg b/doc/tutorials/introduction/linux_eclipse/images/a12.jpg
new file mode 100644 (file)
index 0000000..3c8fbc5
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a12.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a12.png b/doc/tutorials/introduction/linux_eclipse/images/a12.png
deleted file mode 100644 (file)
index 47f1fe4..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a12.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a13.jpg b/doc/tutorials/introduction/linux_eclipse/images/a13.jpg
new file mode 100644 (file)
index 0000000..a84d628
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a13.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a13.png b/doc/tutorials/introduction/linux_eclipse/images/a13.png
deleted file mode 100644 (file)
index 2a2d9b3..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a13.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a14.jpg b/doc/tutorials/introduction/linux_eclipse/images/a14.jpg
new file mode 100644 (file)
index 0000000..b0cf9ad
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a14.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a14.png b/doc/tutorials/introduction/linux_eclipse/images/a14.png
deleted file mode 100644 (file)
index 6cd7878..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a14.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a15.jpg b/doc/tutorials/introduction/linux_eclipse/images/a15.jpg
new file mode 100644 (file)
index 0000000..9e39e1e
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a15.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a15.png b/doc/tutorials/introduction/linux_eclipse/images/a15.png
deleted file mode 100644 (file)
index 337fd00..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a15.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a2.jpg b/doc/tutorials/introduction/linux_eclipse/images/a2.jpg
new file mode 100644 (file)
index 0000000..04ac3d0
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a2.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a2.png b/doc/tutorials/introduction/linux_eclipse/images/a2.png
deleted file mode 100644 (file)
index ddb86ea..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a2.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a3.jpg b/doc/tutorials/introduction/linux_eclipse/images/a3.jpg
new file mode 100644 (file)
index 0000000..73af38c
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a3.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a3.png b/doc/tutorials/introduction/linux_eclipse/images/a3.png
deleted file mode 100644 (file)
index 0bfad99..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a3.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a4.jpg b/doc/tutorials/introduction/linux_eclipse/images/a4.jpg
new file mode 100644 (file)
index 0000000..92f90a2
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a4.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a4.png b/doc/tutorials/introduction/linux_eclipse/images/a4.png
deleted file mode 100644 (file)
index 8a1e2c4..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a4.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a5.jpg b/doc/tutorials/introduction/linux_eclipse/images/a5.jpg
new file mode 100644 (file)
index 0000000..b7b7348
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a5.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a5.png b/doc/tutorials/introduction/linux_eclipse/images/a5.png
deleted file mode 100644 (file)
index ba5504a..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a5.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a6.jpg b/doc/tutorials/introduction/linux_eclipse/images/a6.jpg
new file mode 100644 (file)
index 0000000..d95c5c2
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a6.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a6.png b/doc/tutorials/introduction/linux_eclipse/images/a6.png
deleted file mode 100644 (file)
index 0b16972..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a6.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a7.jpg b/doc/tutorials/introduction/linux_eclipse/images/a7.jpg
new file mode 100644 (file)
index 0000000..0398795
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a7.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a7.png b/doc/tutorials/introduction/linux_eclipse/images/a7.png
deleted file mode 100644 (file)
index b9aa318..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a7.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a8.jpg b/doc/tutorials/introduction/linux_eclipse/images/a8.jpg
new file mode 100644 (file)
index 0000000..66ea78e
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a8.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a8.png b/doc/tutorials/introduction/linux_eclipse/images/a8.png
deleted file mode 100644 (file)
index 800f67b..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a8.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a9.jpg b/doc/tutorials/introduction/linux_eclipse/images/a9.jpg
new file mode 100644 (file)
index 0000000..75c6cdb
Binary files /dev/null and b/doc/tutorials/introduction/linux_eclipse/images/a9.jpg differ
diff --git a/doc/tutorials/introduction/linux_eclipse/images/a9.png b/doc/tutorials/introduction/linux_eclipse/images/a9.png
deleted file mode 100644 (file)
index e56b28c..0000000
Binary files a/doc/tutorials/introduction/linux_eclipse/images/a9.png and /dev/null differ
index 715ddda..ec91213 100644 (file)
@@ -24,28 +24,28 @@ Making a project
 \r
 #. Go to **File -> New -> C/C++ Project**\r
 \r
-   .. image:: images/a0.png\r
+   .. image:: images/a0.jpg\r
       :height: 400px \r
       :alt: Eclipse Tutorial Screenshot 0\r
       :align: center\r
 \r
 #. Choose a name for your project (i.e. DisplayImage). An **Empty Project** should be okay for this example. \r
 \r
-   .. image:: images/a1.png\r
+   .. image:: images/a1.jpg\r
       :height: 400px \r
       :alt: Eclipse Tutorial Screenshot 1\r
       :align: center\r
 \r
 #. Leave everything else by default. Press **Finish**. \r
 \r
-   .. image:: images/a2.png\r
+   .. image:: images/a2.jpg\r
       :height: 400px \r
       :alt: Eclipse Tutorial Screenshot 2\r
       :align: center\r
 \r
 #. Your project (in this case DisplayImage) should appear in the **Project Navigator** (usually at the left side of your window).\r
 \r
-   .. image:: images/a3.png\r
+   .. image:: images/a3.jpg\r
       :height: 400px \r
       :alt: Eclipse Tutorial Screenshot 3\r
       :align: center\r
@@ -55,28 +55,28 @@ Making a project
 \r
    * Right click on **DisplayImage** (in the Navigator). **New -> Folder** . \r
 \r
-     .. image:: images/a4.png\r
+     .. image:: images/a4.jpg\r
         :height: 400px \r
         :alt: Eclipse Tutorial Screenshot 4\r
         :align: center\r
 \r
    * Name your folder **src** and then hit **Finish**\r
 \r
-     .. image:: images/a5.png\r
+     .. image:: images/a5.jpg\r
         :height: 400px \r
         :alt: Eclipse Tutorial Screenshot 5\r
         :align: center\r
 \r
    * Right click on your newly created **src** folder. Choose **New source file**:\r
 \r
-     .. image:: images/a6.png\r
+     .. image:: images/a6.jpg\r
         :height: 400px \r
         :alt: Eclipse Tutorial Screenshot 6\r
         :align: center\r
 \r
    * Call it **DisplayImage.cpp**. Hit **Finish**\r
 \r
-     .. image:: images/a7.png\r
+     .. image:: images/a7.jpg\r
         :height: 400px \r
         :alt: Eclipse Tutorial Screenshot 7\r
         :align: center\r
@@ -113,7 +113,7 @@ Making a project
 \r
     * Go to  **Project-->Properties**\r
 \r
-     .. image:: images/a8.png\r
+     .. image:: images/a8.jpg\r
         :height: 400px \r
         :alt: Eclipse Tutorial Screenshot 8\r
         :align: center\r
@@ -122,7 +122,7 @@ Making a project
 \r
       a. In **GCC C++ Compiler**, go to **Includes**. In **Include paths(-l)** you should include the path of the folder where opencv was installed. In our example, this is ``/usr/local/include/opencv``.\r
 \r
-         .. image:: images/a9.png\r
+         .. image:: images/a9.jpg\r
             :height: 400px \r
             :alt: Eclipse Tutorial Screenshot 9\r
             :align: center\r
@@ -163,7 +163,7 @@ Making a project
          opencv_legacy    \r
          opencv_flann\r
 \r
-         .. image:: images/a10.png\r
+         .. image:: images/a10.jpg\r
              :height: 400px \r
              :alt: Eclipse Tutorial Screenshot 10\r
              :align: center \r
@@ -184,14 +184,14 @@ Making a project
 \r
     * Your project should be ready to be built. For this, go to **Project->Build all**   \r
 \r
-      .. image:: images/a11.png\r
+      .. image:: images/a11.jpg\r
          :height: 400px \r
          :alt: Eclipse Tutorial Screenshot 11\r
          :align: center \r
 \r
       In the Console you should get something like \r
 \r
-      .. image:: images/a12.png\r
+      .. image:: images/a12.jpg\r
          :height: 200px \r
          :alt: Eclipse Tutorial Screenshot 12\r
          :align: center \r
@@ -214,7 +214,7 @@ Assuming that the image to use as the argument would be located in <DisplayImage
 \r
 #. Go to **Run->Run Configurations** \r
 \r
-   .. image:: images/a13.png\r
+   .. image:: images/a13.jpg\r
       :height: 300px \r
       :alt: Eclipse Tutorial Screenshot 13\r
       :align: center \r
@@ -223,14 +223,14 @@ Assuming that the image to use as the argument would be located in <DisplayImage
 \r
 #. Now, in the right side of the window, choose the **Arguments** Tab. Write the path of the image file we want to open (path relative to the workspace/DisplayImage folder). Let's use **HappyLittleFish.jpg**:\r
 \r
-   .. image:: images/a14.png\r
+   .. image:: images/a14.jpg\r
       :height: 300px \r
       :alt: Eclipse Tutorial Screenshot 14\r
       :align: center \r
 \r
 #. Click on the **Apply** button and then in Run. An OpenCV window should pop up with the fish image (or whatever you used).\r
 \r
-   .. image:: images/a15.png\r
+   .. image:: images/a15.jpg\r
       :alt: Eclipse Tutorial Screenshot 15\r
       :align: center \r
 \r
diff --git a/doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.jpg b/doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.jpg
new file mode 100644 (file)
index 0000000..c7e1bfe
Binary files /dev/null and b/doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.jpg differ
diff --git a/doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.png b/doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.png
deleted file mode 100644 (file)
index 524f7e2..0000000
Binary files a/doc/tutorials/introduction/linux_gcc_cmake/images/GCC_CMake_Example_Tutorial.png and /dev/null differ
diff --git a/doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.jpg b/doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.jpg
new file mode 100644 (file)
index 0000000..941a4f9
Binary files /dev/null and b/doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.jpg differ
diff --git a/doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.png b/doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.png
deleted file mode 100644 (file)
index cd59029..0000000
Binary files a/doc/tutorials/introduction/linux_gcc_cmake/images/gccegg-65.png and /dev/null differ
index cc4994d..d5e0391 100644 (file)
@@ -78,6 +78,6 @@ By now you should have an executable (called DisplayImage in this case). You jus
 
 You should get a nice window as the one shown below:
 
-.. image:: images/GCC_CMake_Example_Tutorial.png
+.. image:: images/GCC_CMake_Example_Tutorial.jpg
    :alt: Display Image - Lena
    :align: center
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.jpg b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.jpg
new file mode 100644 (file)
index 0000000..446187f
Binary files /dev/null and b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.jpg differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.png b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.png
deleted file mode 100644 (file)
index 91c9eb6..0000000
Binary files a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_1.png and /dev/null differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.jpg b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.jpg
new file mode 100644 (file)
index 0000000..c5071ce
Binary files /dev/null and b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.jpg differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.png b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.png
deleted file mode 100644 (file)
index ccf4f49..0000000
Binary files a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_2.png and /dev/null differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.jpg b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.jpg
new file mode 100644 (file)
index 0000000..fde9d85
Binary files /dev/null and b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.jpg differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.png b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.png
deleted file mode 100644 (file)
index c4b7685..0000000
Binary files a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_a.png and /dev/null differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.jpg b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.jpg
new file mode 100644 (file)
index 0000000..5632409
Binary files /dev/null and b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.jpg differ
diff --git a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.png b/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.png
deleted file mode 100644 (file)
index cc31604..0000000
Binary files a/doc/tutorials/introduction/load_save_image/images/Load_Save_Image_Result_b.png and /dev/null differ
index 7f34c83..c40bb59 100644 (file)
@@ -5,19 +5,18 @@ Load, Modify, and Save an Image
 
 .. note::
 
-   We assume that by now you know:
-
-   * Load an image using :imread:`imread <>`
-   * Display an image in an OpenCV window (using :imshow:`imshow <>`)
+   We assume that by now you know how to load an image using :imread:`imread <>` and to display it in a window (using :imshow:`imshow <>`). Read the :ref:`Display_Image` tutorial otherwise. 
  
 Goals
 ======
 
 In this tutorial you will learn how to:
 
-* Load an image using :imread:`imread <>`
-* Transform an image from RGB to Grayscale format by using :cvt_color:`cvtColor <>`
-* Save your transformed image in a file on disk (using :imwrite:`imwrite <>`)
+.. container:: enumeratevisibleitemswithsquare
+
+   * Load an image using :imread:`imread <>`
+   * Transform an image from RGB to Grayscale format by using :cvt_color:`cvtColor <>`
+   * Save your transformed image in a file on disk (using :imwrite:`imwrite <>`)
 
 Code
 ======
@@ -48,7 +47,7 @@ Here it is:
     Mat gray_image;
     cvtColor( image, gray_image, CV_RGB2GRAY );
 
-    imwrite( "../../images/Gray_Image.png", gray_image );
+    imwrite( "../../images/Gray_Image.jpg", gray_image );
 
     namedWindow( imageName, CV_WINDOW_AUTOSIZE );
     namedWindow( "Gray image", CV_WINDOW_AUTOSIZE );
@@ -77,20 +76,21 @@ Explanation
 
    As you can see, :cvt_color:`cvtColor <>` takes as arguments:
 
-   * a source image (*image*) 
-   * a destination image (*gray_image*), in which we will save the converted image.
+   .. container:: enumeratevisibleitemswithsquare
 
-   And an additional parameter that indicates what kind of transformation will be performed. In this case we use **CV_RGB2GRAY** (self-explanatory).
+      * a source image (*image*) 
+      * a destination image (*gray_image*), in which we will save the converted image.
+      * an additional parameter that indicates what kind of transformation will be performed. In this case we use **CV_RGB2GRAY** (self-explanatory).
 
 #. So now we have our new *gray_image* and want to save it on disk (otherwise it will get lost after the program ends). To save it, we will use a function analagous to :imread:`imread <>`: :imwrite:`imwrite <>`
 
    .. code-block:: cpp
 
-      imwrite( "../../images/Gray_Image.png", gray_image );   
+      imwrite( "../../images/Gray_Image.jpg", gray_image );   
 
-   Which will save our *gray_image* as *Gray_Image.png* in the folder *images* located two levels up of my current location.
+   Which will save our *gray_image* as *Gray_Image.jpg* in the folder *images* located two levels up of my current location.
 
-#. Finally, let's check out the images. We create 02 windows and use them to show the original image as well as the new one:
+#. Finally, let's check out the images. We create two windows and use them to show the original image as well as the new one:
 
    .. code-block:: cpp
 
@@ -100,7 +100,7 @@ Explanation
       imshow( imageName, image );
       imshow( "Gray image", gray_image );
 
-#. Add the usual *waitKey(0)* for the program to wait forever until the user presses a key.
+#. Add add the *waitKey(0)* function call for the program to wait forever for an user key press.
 
 
 Result
@@ -108,16 +108,16 @@ Result
 
 When you run your program you should get something like this:
 
- .. image:: images/Load_Save_Image_Result_1.png
+ .. image:: images/Load_Save_Image_Result_1.jpg
     :alt: Load Save Image Result 1
     :height: 400px
     :align: center
 
-And if you check in your folder (in my case *images*), you should have a newly .png file named *Gray_Image.png*:
+And if you check in your folder (in my case *images*), you should have a newly .jpg file named *Gray_Image.jpg*:
 
- .. image:: images/Load_Save_Image_Result_2.png
+ .. image:: images/Load_Save_Image_Result_2.jpg
     :alt: Load Save Image Result 2
     :height: 250px
     :align: center
 
-Congratulations, you are done with this tutorial! 
+Congratulations, you are done with this tutorial!
diff --git a/doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.jpg b/doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.jpg
new file mode 100644 (file)
index 0000000..1708c00
Binary files /dev/null and b/doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.jpg differ
diff --git a/doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.png b/doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.png
deleted file mode 100644 (file)
index 0c2e67c..0000000
Binary files a/doc/tutorials/introduction/table_of_content_introduction/images/Display_Image_Tutorial_Result.png and /dev/null differ
diff --git a/doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.jpg b/doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.jpg
new file mode 100644 (file)
index 0000000..84fa325
Binary files /dev/null and b/doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.jpg differ
diff --git a/doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.png b/doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.png
deleted file mode 100644 (file)
index 97fef25..0000000
Binary files a/doc/tutorials/introduction/table_of_content_introduction/images/Load_Save_Image_Result_1.png and /dev/null differ
diff --git a/doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.jpg b/doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.jpg
new file mode 100644 (file)
index 0000000..941a4f9
Binary files /dev/null and b/doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.jpg differ
diff --git a/doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.png b/doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.png
deleted file mode 100644 (file)
index cd59029..0000000
Binary files a/doc/tutorials/introduction/table_of_content_introduction/images/gccegg-65.png and /dev/null differ
index b91b6bc..d454147 100644 (file)
@@ -41,7 +41,7 @@ Here you can read tutorials about how to set up your computer to work with the O
 \r
   =========== ======================================================\r
 \r
-  .. |Usage_1| image:: images/gccegg-65.png\r
+  .. |Usage_1| image:: images/gccegg-65.jpg\r
                :height: 90pt\r
                :width:  90pt\r
 \r
@@ -137,7 +137,7 @@ Here you can read tutorials about how to set up your computer to work with the O
 \r
   ============= ======================================================\r
 \r
-  .. |Beginners_1| image:: images/Display_Image_Tutorial_Result.png\r
+  .. |Beginners_1| image:: images/Display_Image_Tutorial_Result.jpg\r
                    :height: 90pt\r
                    :width:  90pt\r
 \r
@@ -155,10 +155,14 @@ Here you can read tutorials about how to set up your computer to work with the O
 \r
   =============== ======================================================\r
 \r
-  .. |Beginners_2| image:: images/Load_Save_Image_Result_1.png\r
+  .. |Beginners_2| image:: images/Load_Save_Image_Result_1.jpg\r
                    :height: 90pt\r
                    :width:  90pt\r
 \r
+.. raw:: latex\r
+\r
+   \pagebreak\r
+\r
 .. We use a custom table of content format and as the table of content only imforms Sphinx about the hierarchy of the files, no need to show it.\r
 .. toctree::\r
    :hidden:                \r
diff --git a/doc/tutorials/introduction/windows_install/images/OpenCV_Install_Directory.png b/doc/tutorials/introduction/windows_install/images/OpenCV_Install_Directory.png
deleted file mode 100644 (file)
index 191aa3e..0000000
Binary files a/doc/tutorials/introduction/windows_install/images/OpenCV_Install_Directory.png and /dev/null differ
index 33134ff..1f7f138 100644 (file)
@@ -6,3 +6,7 @@
 Use the powerfull machine learning classes for statistical classification, regression and clustering of data.\r
 \r
 .. include:: ../../definitions/noContent.rst\r
+\r
+.. raw:: latex\r
+\r
+   \pagebreak\r
index 1f98d51..068c728 100644 (file)
@@ -16,7 +16,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |Introduct| image:: images/introduction.png
+   .. |Introduct| image:: images/introduction.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: Introduction Icon
@@ -31,7 +31,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |Core| image:: images/core.png
+   .. |Core| image:: images/core.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: core Icon
@@ -46,7 +46,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |ImgProc| image:: images/imgproc.png
+   .. |ImgProc| image:: images/imgproc.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: imgproc Icon
@@ -61,7 +61,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |HighGui| image:: images/highgui.png
+   .. |HighGui| image:: images/highgui.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: highgui Icon
@@ -76,7 +76,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |Calib3D| image:: images/calib3d.png
+   .. |Calib3D| image:: images/calib3d.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: calib3d Icon
@@ -91,7 +91,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |Featur2D| image:: images/feature2D.png
+   .. |Featur2D| image:: images/feature2D.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: feature2D Icon
@@ -106,7 +106,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |Video| image:: images/video.png
+   .. |Video| image:: images/video.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: video Icon
@@ -121,7 +121,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |ObjDetect| image:: images/objdetect.png
+   .. |ObjDetect| image:: images/objdetect.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: objdetect Icon
@@ -136,7 +136,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |ml| image:: images/ml.png
+   .. |ml| image:: images/ml.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: ml Icon
@@ -151,7 +151,7 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |GPU| image:: images/gpu.png
+   .. |GPU| image:: images/gpu.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: gpu icon
@@ -166,11 +166,15 @@ As always, we would be happy to hear your comments and receive your contribution
   
    =========== =======================================================
   
-   .. |General| image:: images/general.png
+   .. |General| image:: images/general.jpg
                  :height: 80pt
                  :width:  80pt
                  :alt: General Icon
 
+.. raw:: latex
+
+   \pagebreak
+
 .. toctree::
    :maxdepth: 2
    :hidden:
index aabe62d..423c7ac 100644 (file)
@@ -6,3 +6,7 @@
 Look here in order to find use on your video stream algoritms like: motion extraction, feature tracking and foreground extractions. \r
 \r
 .. include:: ../../definitions/noContent.rst\r
+\r
+.. raw:: latex\r
+\r
+   \pagebreak\r
diff --git a/samples/cpp/tutorial_code/CxCore/Matrix/Drawing_1.cpp b/samples/cpp/tutorial_code/CxCore/Matrix/Drawing_1.cpp
deleted file mode 100644 (file)
index ecd40dd..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-/**
- * @file Drawing_1.cpp
- * @brief Simple sample code
- */
-
-#include <opencv2/core/core.hpp>
-#include <opencv2/highgui/highgui.hpp>
-
-#define w 400
-
-using namespace cv;
-
-/// Function headers
-void MyEllipse( Mat img, double angle );
-void MyFilledCircle( Mat img, Point center );
-void MyPolygon( Mat img );
-void MyLine( Mat img, Point start, Point end );
-
-/**
- * @function main
- * @brief Main function
- */
-int main( int argc, char **argv ){
-
-  /// Windows names
-  char atom_window[] = "Drawing 1: Atom";
-  char rook_window[] = "Drawing 2: Rook";
-
-  /// Create black empty images 
-  Mat atom_image = Mat::zeros( w, w, CV_8UC3 );
-  Mat rook_image = Mat::zeros( w, w, CV_8UC3 );
-
-  /// 1. Draw a simple atom:
-  /// -----------------------
-
-  /// 1.a. Creating ellipses 
-  MyEllipse( atom_image, 90 );
-  MyEllipse( atom_image, 0 );
-  MyEllipse( atom_image, 45 );
-  MyEllipse( atom_image, -45 );
-
-  /// 1.b. Creating circles
-  MyFilledCircle( atom_image, Point( w/2.0, w/2.0) );
-
-  /// 2. Draw a rook
-  /// ------------------
-
-  /// 2.a. Create a convex polygon
-  MyPolygon( rook_image );
-
-  /// 2.b. Creating rectangles
-  rectangle( rook_image,
-            Point( 0, 7*w/8.0 ),
-            Point( w, w),
-            Scalar( 0, 255, 255 ),
-            -1,
-            8 );
-
-  /// 2.c. Create a few lines 
-  MyLine( rook_image, Point( 0, 15*w/16 ), Point( w, 15*w/16 ) );
-  MyLine( rook_image, Point( w/4, 7*w/8 ), Point( w/4, w ) );
-  MyLine( rook_image, Point( w/2, 7*w/8 ), Point( w/2, w ) );
-  MyLine( rook_image, Point( 3*w/4, 7*w/8 ), Point( 3*w/4, w ) );
-
-  /// 3. Display your stuff!
-  imshow( atom_window, atom_image );
-  cvMoveWindow( atom_window, 0, 200 );
-  imshow( rook_window, rook_image );
-  cvMoveWindow( rook_window, w, 200 );
-
-  waitKey( 0 );
-  return(0);
-}
-
-/// Function Declaration
-
-/**
- * @function MyEllipse
- * @brief Draw a fixed-size ellipse with different angles
- */
-void MyEllipse( Mat img, double angle )
-{
-  int thickness = 2;
-  int lineType = 8;
-
-  ellipse( img,
-          Point( w/2.0, w/2.0 ),
-          Size( w/4.0, w/16.0 ),
-          angle,
-          0, 
-          360,
-          Scalar( 255, 0, 0 ),
-          thickness,
-          lineType );  
-}
-
-/**
- * @function MyFilledCircle
- * @brief Draw a fixed-size filled circle
- */
-void MyFilledCircle( Mat img, Point center )
-{
-  int thickness = -1;
-  int lineType = 8;
-
-  circle( img, 
-         center,
-         w/32.0,
-         Scalar( 0, 0, 255 ),
-         thickness, 
-         lineType );
-}
-
-/**
- * @function MyPolygon
- * @function Draw a simple concave polygon (rook)
- */
-void MyPolygon( Mat img )
-{
-  int lineType = 8;
-
-  /** Create some points */
-  Point rook_points[1][20];
-  rook_points[0][0] = Point( w/4.0, 7*w/8.0 );
-  rook_points[0][1] = Point( 3*w/4.0, 7*w/8.0 );
-  rook_points[0][2] = Point( 3*w/4.0, 13*w/16.0 );
-  rook_points[0][3] = Point( 11*w/16.0, 13*w/16.0 );
-  rook_points[0][4] = Point( 19*w/32.0, 3*w/8.0 );
-  rook_points[0][5] = Point( 3*w/4.0, 3*w/8.0 );
-  rook_points[0][6] = Point( 3*w/4.0, w/8.0 );
-  rook_points[0][7] = Point( 26*w/40.0, w/8.0 );
-  rook_points[0][8] = Point( 26*w/40.0, w/4.0 );
-  rook_points[0][9] = Point( 22*w/40.0, w/4.0 );
-  rook_points[0][10] = Point( 22*w/40.0, w/8.0 );
-  rook_points[0][11] = Point( 18*w/40.0, w/8.0 );
-  rook_points[0][12] = Point( 18*w/40.0, w/4.0 );
-  rook_points[0][13] = Point( 14*w/40.0, w/4.0 );
-  rook_points[0][14] = Point( 14*w/40.0, w/8.0 );
-  rook_points[0][15] = Point( w/4.0, w/8.0 );
-  rook_points[0][16] = Point( w/4.0, 3*w/8.0 );
-  rook_points[0][17] = Point( 13*w/32.0, 3*w/8.0 );
-  rook_points[0][18] = Point( 5*w/16.0, 13*w/16.0 );
-  rook_points[0][19] = Point( w/4.0, 13*w/16.0) ;
-
-  const Point* ppt[1] = { rook_points[0] };
-  int npt[] = { 20 };
-
-  fillPoly( img,
-           ppt,
-           npt,
-            1,
-           Scalar( 255, 255, 255 ),
-           lineType );                 
-}
-
-/**
- * @function MyLine
- * @brief Draw a simple line
- */
-void MyLine( Mat img, Point start, Point end )
-{
-  int thickness = 2;
-  int lineType = 8;
-  line( img, 
-       start,
-       end,
-       Scalar( 0, 0, 0 ),
-       thickness,
-       lineType );
-}
-
-
diff --git a/samples/cpp/tutorial_code/CxCore/Matrix/Drawing_2.cpp b/samples/cpp/tutorial_code/CxCore/Matrix/Drawing_2.cpp
deleted file mode 100644 (file)
index f66f205..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-/**
- * @file Drawing_2.cpp
- * @brief Simple sample code
- */
-
-#include <opencv2/core/core.hpp>
-#include <opencv2/highgui/highgui.hpp>
-#include <iostream>
-#include <stdio.h>
-
-using namespace cv;
-
-/// Global Variables
-const int NUMBER = 100; 
-const int DELAY = 5;
-
-const int window_width = 900;
-const int window_height = 600;
-int x_1 = -window_width/2;
-int x_2 = window_width*3/2;
-int y_1 = -window_width/2;
-int y_2 = window_width*3/2;
-
-/// Function headers
-static Scalar randomColor( RNG& rng );
-int Drawing_Random_Lines( Mat image, char* window_name, RNG rng );
-int Drawing_Random_Rectangles( Mat image, char* window_name, RNG rng );
-int Drawing_Random_Ellipses( Mat image, char* window_name, RNG rng );
-int Drawing_Random_Polylines( Mat image, char* window_name, RNG rng );
-int Drawing_Random_Filled_Polygons( Mat image, char* window_name, RNG rng );
-int Drawing_Random_Circles( Mat image, char* window_name, RNG rng );
-int Displaying_Random_Text( Mat image, char* window_name, RNG rng );
-int Displaying_Big_End( Mat image, char* window_name, RNG rng );
-
-
-/**
- * @function main
- */
-int main( int argc, char** argv )
-{
-  int c;
-
-  /// Start creating a window
-  char window_name[] = "Drawing_2 Tutorial";
-
-  /// Also create a random object (RNG)
-  RNG rng( 0xFFFFFFFF ); 
-
-  /// Initialize a matrix filled with zeros
-  Mat image = Mat::zeros( window_height, window_width, CV_8UC3 );
-  /// Show it in a window during DELAY ms
-  imshow( window_name, image ); 
-  waitKey( DELAY );
-  
-  /// Now, let's draw some lines
-  c = Drawing_Random_Lines(image, window_name, rng);
-  if( c != 0 ) return 0;
-
-  /// Go on drawing, this time nice rectangles
-  c = Drawing_Random_Rectangles(image, window_name, rng);
-  if( c != 0 ) return 0;
-
-  /// Draw some ellipses
-  c = Drawing_Random_Ellipses( image, window_name, rng );
-  if( c != 0 ) return 0;
-
-  /// Now some polylines
-  c = Drawing_Random_Polylines( image, window_name, rng );
-  if( c != 0 ) return 0;
-
-  /// Draw filled polygons
-  c = Drawing_Random_Filled_Polygons( image, window_name, rng );
-  if( c != 0 ) return 0;
-
-  /// Draw circles
-  c = Drawing_Random_Circles( image, window_name, rng );
-  if( c != 0 ) return 0;
-
-  /// Display text in random positions
-  c = Displaying_Random_Text( image, window_name, rng );
-  if( c != 0 ) return 0;
-
-  /// Displaying the big end!
-  c = Displaying_Big_End( image, window_name, rng );
-  if( c != 0 ) return 0;
-
-  waitKey(0);
-  return 0;
-}
-
-/// Function definitions
-
-/**
- * @function randomColor
- * @brief Produces a random color given a random object
- */
-static Scalar randomColor( RNG& rng )
-{
-  int icolor = (unsigned) rng;
-  return Scalar( icolor&255, (icolor>>8)&255, (icolor>>16)&255 );
-}
-
-
-/**
- * @function Drawing_Random_Lines
- */
-int Drawing_Random_Lines( Mat image, char* window_name, RNG rng )
-{
-  int lineType = 8;
-  Point pt1, pt2;
-
-  for( int i = 0; i < NUMBER; i++ )
-  {
-    pt1.x = rng.uniform( x_1, x_2 );
-    pt1.y = rng.uniform( y_1, y_2 );
-    pt2.x = rng.uniform( x_1, x_2 );
-    pt2.y = rng.uniform( y_1, y_2 );
-
-    line( image, pt1, pt2, randomColor(rng), rng.uniform(1, 10), 8 );
-    imshow( window_name, image );
-    if( waitKey( DELAY ) >= 0 )
-      { return -1; }
-  }
-
-  return 0;
-}
-
-/**
- * @function Drawing_Rectangles
- */
-int Drawing_Random_Rectangles( Mat image, char* window_name, RNG rng )
-{
-  Point pt1, pt2;
-  int lineType = 8;
-  int thickness = rng.uniform( -3, 10 );
-
-  for( int i = 0; i < NUMBER; i++ )
-  {
-    pt1.x = rng.uniform( x_1, x_2 );
-    pt1.y = rng.uniform( y_1, y_2 );
-    pt2.x = rng.uniform( x_1, x_2 );
-    pt2.y = rng.uniform( y_1, y_2 );
-
-    rectangle( image, pt1, pt2, randomColor(rng), MAX( thickness, -1 ), lineType );
-
-    imshow( window_name, image );
-    if( waitKey( DELAY ) >= 0 )
-      { return -1; } 
-  }
-
-  return 0;
-}
-
-/**
- * @function Drawing_Random_Ellipses
- */
-int Drawing_Random_Ellipses( Mat image, char* window_name, RNG rng )
-{
-  int lineType = 8;
-
-  for ( int i = 0; i < NUMBER; i++ )
-  {
-    Point center;
-    center.x = rng.uniform(x_1, x_2);
-    center.y = rng.uniform(y_1, y_2);
-    
-    Size axes;
-    axes.width = rng.uniform(0, 200);
-    axes.height = rng.uniform(0, 200);
-
-    double angle = rng.uniform(0, 180);
-
-    ellipse( image, center, axes, angle, angle - 100, angle + 200,
-             randomColor(rng), rng.uniform(-1,9), lineType );
-        
-    imshow( window_name, image );
-    
-    if( waitKey(DELAY) >= 0 ) 
-      { return -1; }
-  }
-
-  return 0;
-}
-
-/**
- * @function Drawing_Random_Polylines
- */
-int Drawing_Random_Polylines( Mat image, char* window_name, RNG rng )
-{
-  int lineType = 8;
-
-  for( int i = 0; i< NUMBER; i++ )
-  {
-    Point pt[2][3];
-    pt[0][0].x = rng.uniform(x_1, x_2);
-    pt[0][0].y = rng.uniform(y_1, y_2);
-    pt[0][1].x = rng.uniform(x_1, x_2); 
-    pt[0][1].y = rng.uniform(y_1, y_2); 
-    pt[0][2].x = rng.uniform(x_1, x_2);
-    pt[0][2].y = rng.uniform(y_1, y_2);
-    pt[1][0].x = rng.uniform(x_1, x_2); 
-    pt[1][0].y = rng.uniform(y_1, y_2);
-    pt[1][1].x = rng.uniform(x_1, x_2); 
-    pt[1][1].y = rng.uniform(y_1, y_2);
-    pt[1][2].x = rng.uniform(x_1, x_2); 
-    pt[1][2].y = rng.uniform(y_1, y_2);
-
-    const Point* ppt[2] = {pt[0], pt[1]};
-    int npt[] = {3, 3};
-        
-    polylines(image, ppt, npt, 2, true, randomColor(rng), rng.uniform(1,10), lineType);
-        
-    imshow( window_name, image );
-    if( waitKey(DELAY) >= 0 )
-      { return -1; }
-  }
-  return 0;
-}    
-
-/**
- * @function Drawing_Random_Filled_Polygons
- */
-int Drawing_Random_Filled_Polygons( Mat image, char* window_name, RNG rng )
-{
-  int lineType = 8;
-
-  for ( int i = 0; i < NUMBER; i++ )
-  {
-    Point pt[2][3];
-    pt[0][0].x = rng.uniform(x_1, x_2);
-    pt[0][0].y = rng.uniform(y_1, y_2);
-    pt[0][1].x = rng.uniform(x_1, x_2); 
-    pt[0][1].y = rng.uniform(y_1, y_2); 
-    pt[0][2].x = rng.uniform(x_1, x_2);
-    pt[0][2].y = rng.uniform(y_1, y_2);
-    pt[1][0].x = rng.uniform(x_1, x_2); 
-    pt[1][0].y = rng.uniform(y_1, y_2);
-    pt[1][1].x = rng.uniform(x_1, x_2); 
-    pt[1][1].y = rng.uniform(y_1, y_2);
-    pt[1][2].x = rng.uniform(x_1, x_2); 
-    pt[1][2].y = rng.uniform(y_1, y_2);
-
-    const Point* ppt[2] = {pt[0], pt[1]};
-    int npt[] = {3, 3};
-        
-    fillPoly( image, ppt, npt, 2, randomColor(rng), lineType );
-        
-    imshow( window_name, image );
-    if( waitKey(DELAY) >= 0 )
-       { return -1; }
-  }
-  return 0;
-}
-
-/**
- * @function Drawing_Random_Circles
- */
-int Drawing_Random_Circles( Mat image, char* window_name, RNG rng )
-{
-  int lineType = 8;
-
-  for (int i = 0; i < NUMBER; i++)
-  {
-    Point center;
-    center.x = rng.uniform(x_1, x_2);
-    center.y = rng.uniform(y_1, y_2);
-        
-    circle( image, center, rng.uniform(0, 300), randomColor(rng),
-            rng.uniform(-1, 9), lineType );
-        
-    imshow( window_name, image );
-    if( waitKey(DELAY) >= 0 )
-      { return -1; }
-  }
-
-  return 0;
-}
-
-/**
- * @function Displaying_Random_Text
- */
-int Displaying_Random_Text( Mat image, char* window_name, RNG rng )
-{
-  int lineType = 8;
-
-  for ( int i = 1; i < NUMBER; i++ )
-  {
-    Point org;
-    org.x = rng.uniform(x_1, x_2);
-    org.y = rng.uniform(y_1, y_2);
-
-    putText( image, "Testing text rendering", org, rng.uniform(0,8),
-             rng.uniform(0,100)*0.05+0.1, randomColor(rng), rng.uniform(1, 10), lineType);
-        
-    imshow( window_name, image );
-    if( waitKey(DELAY) >= 0 )
-      { return -1; }
-  }
-
-  return 0;
-}
-
-/**
- * @function Displaying_Big_End
- */
-int Displaying_Big_End( Mat image, char* window_name, RNG rng )
-{
-  Size textsize = getTextSize("OpenCV forever!", CV_FONT_HERSHEY_COMPLEX, 3, 5, 0);
-  Point org((window_width - textsize.width)/2, (window_height - textsize.height)/2);
-  int lineType = 8;
-    
-  Mat image2;
-
-  for( int i = 0; i < 255; i += 2 )
-  {
-    image2 = image - Scalar::all(i);
-    putText( image2, "OpenCV forever!", org, CV_FONT_HERSHEY_COMPLEX, 3,
-             Scalar(i, i, 255), 5, lineType );
-        
-    imshow( window_name, image2 );
-    if( waitKey(DELAY) >= 0 )
-       { return -1; }
-  }
-
-  return 0;
-}
index 7cfb109..bdca881 100644 (file)
@@ -6,7 +6,7 @@ using namespace cv;
 using namespace std; \r
 \r
 int main( int argc, char** argv )\r
-{\r
+{ \r
        if( argc != 2) \r
        {\r
         cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;\r