mirror of
https://github.com/opencv/opencv.git
synced 2024-11-24 03:00:14 +08:00
fix 4.x links
This commit is contained in:
parent
be110d0464
commit
c78a8dfd2d
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
* Homepage: <https://opencv.org>
|
* Homepage: <https://opencv.org>
|
||||||
* Courses: <https://opencv.org/courses>
|
* Courses: <https://opencv.org/courses>
|
||||||
* Docs: <https://docs.opencv.org/master/>
|
* Docs: <https://docs.opencv.org/4.x/>
|
||||||
* Q&A forum: <https://forum.opencv.org>
|
* Q&A forum: <https://forum.opencv.org>
|
||||||
* previous forum (read only): <http://answers.opencv.org>
|
* previous forum (read only): <http://answers.opencv.org>
|
||||||
* Issue tracking: <https://github.com/opencv/opencv/issues>
|
* Issue tracking: <https://github.com/opencv/opencv/issues>
|
||||||
|
@ -36,11 +36,11 @@ class Blender:
|
|||||||
self.blender.prepare(dst_sz)
|
self.blender.prepare(dst_sz)
|
||||||
|
|
||||||
def feed(self, img, mask, corner):
|
def feed(self, img, mask, corner):
|
||||||
"""https://docs.opencv.org/master/d6/d4a/classcv_1_1detail_1_1Blender.html#a64837308bcf4e414a6219beff6cbe37a""" # noqa
|
"""https://docs.opencv.org/4.x/d6/d4a/classcv_1_1detail_1_1Blender.html#a64837308bcf4e414a6219beff6cbe37a""" # noqa
|
||||||
self.blender.feed(cv.UMat(img.astype(np.int16)), mask, corner)
|
self.blender.feed(cv.UMat(img.astype(np.int16)), mask, corner)
|
||||||
|
|
||||||
def blend(self):
|
def blend(self):
|
||||||
"""https://docs.opencv.org/master/d6/d4a/classcv_1_1detail_1_1Blender.html#aa0a91ce0d6046d3a63e0123cbb1b5c00""" # noqa
|
"""https://docs.opencv.org/4.x/d6/d4a/classcv_1_1detail_1_1Blender.html#aa0a91ce0d6046d3a63e0123cbb1b5c00""" # noqa
|
||||||
result = None
|
result = None
|
||||||
result_mask = None
|
result_mask = None
|
||||||
result, result_mask = self.blender.blend(result, result_mask)
|
result, result_mask = self.blender.blend(result, result_mask)
|
||||||
|
@ -6,7 +6,7 @@ from .stitching_error import StitchingError
|
|||||||
|
|
||||||
|
|
||||||
class CameraAdjuster:
|
class CameraAdjuster:
|
||||||
"""https://docs.opencv.org/master/d5/d56/classcv_1_1detail_1_1BundleAdjusterBase.html""" # noqa
|
"""https://docs.opencv.org/4.x/d5/d56/classcv_1_1detail_1_1BundleAdjusterBase.html""" # noqa
|
||||||
|
|
||||||
CAMERA_ADJUSTER_CHOICES = OrderedDict()
|
CAMERA_ADJUSTER_CHOICES = OrderedDict()
|
||||||
CAMERA_ADJUSTER_CHOICES['ray'] = cv.detail_BundleAdjusterRay
|
CAMERA_ADJUSTER_CHOICES['ray'] = cv.detail_BundleAdjusterRay
|
||||||
|
@ -4,7 +4,7 @@ import numpy as np
|
|||||||
|
|
||||||
|
|
||||||
class WaveCorrector:
|
class WaveCorrector:
|
||||||
"""https://docs.opencv.org/master/d7/d74/group__stitching__rotation.html#ga83b24d4c3e93584986a56d9e43b9cf7f""" # noqa
|
"""https://docs.opencv.org/4.x/d7/d74/group__stitching__rotation.html#ga83b24d4c3e93584986a56d9e43b9cf7f""" # noqa
|
||||||
WAVE_CORRECT_CHOICES = OrderedDict()
|
WAVE_CORRECT_CHOICES = OrderedDict()
|
||||||
WAVE_CORRECT_CHOICES['horiz'] = cv.detail.WAVE_CORRECT_HORIZ
|
WAVE_CORRECT_CHOICES['horiz'] = cv.detail.WAVE_CORRECT_HORIZ
|
||||||
WAVE_CORRECT_CHOICES['vert'] = cv.detail.WAVE_CORRECT_VERT
|
WAVE_CORRECT_CHOICES['vert'] = cv.detail.WAVE_CORRECT_VERT
|
||||||
|
@ -32,9 +32,9 @@ class ExposureErrorCompensator:
|
|||||||
)
|
)
|
||||||
|
|
||||||
def feed(self, *args):
|
def feed(self, *args):
|
||||||
"""https://docs.opencv.org/master/d2/d37/classcv_1_1detail_1_1ExposureCompensator.html#ae6b0cc69a7bc53818ddea53eddb6bdba""" # noqa
|
"""https://docs.opencv.org/4.x/d2/d37/classcv_1_1detail_1_1ExposureCompensator.html#ae6b0cc69a7bc53818ddea53eddb6bdba""" # noqa
|
||||||
self.compensator.feed(*args)
|
self.compensator.feed(*args)
|
||||||
|
|
||||||
def apply(self, *args):
|
def apply(self, *args):
|
||||||
"""https://docs.opencv.org/master/d2/d37/classcv_1_1detail_1_1ExposureCompensator.html#a473eaf1e585804c08d77c91e004f93aa""" # noqa
|
"""https://docs.opencv.org/4.x/d2/d37/classcv_1_1detail_1_1ExposureCompensator.html#a473eaf1e585804c08d77c91e004f93aa""" # noqa
|
||||||
return self.compensator.apply(*args)
|
return self.compensator.apply(*args)
|
||||||
|
@ -15,13 +15,13 @@ class FeatureMatcher:
|
|||||||
**kwargs):
|
**kwargs):
|
||||||
|
|
||||||
if matcher_type == "affine":
|
if matcher_type == "affine":
|
||||||
"""https://docs.opencv.org/master/d3/dda/classcv_1_1detail_1_1AffineBestOf2NearestMatcher.html""" # noqa
|
"""https://docs.opencv.org/4.x/d3/dda/classcv_1_1detail_1_1AffineBestOf2NearestMatcher.html""" # noqa
|
||||||
self.matcher = cv.detail_AffineBestOf2NearestMatcher(**kwargs)
|
self.matcher = cv.detail_AffineBestOf2NearestMatcher(**kwargs)
|
||||||
elif range_width == -1:
|
elif range_width == -1:
|
||||||
"""https://docs.opencv.org/master/d4/d26/classcv_1_1detail_1_1BestOf2NearestMatcher.html""" # noqa
|
"""https://docs.opencv.org/4.x/d4/d26/classcv_1_1detail_1_1BestOf2NearestMatcher.html""" # noqa
|
||||||
self.matcher = cv.detail.BestOf2NearestMatcher_create(**kwargs)
|
self.matcher = cv.detail.BestOf2NearestMatcher_create(**kwargs)
|
||||||
else:
|
else:
|
||||||
"""https://docs.opencv.org/master/d8/d72/classcv_1_1detail_1_1BestOf2NearestRangeMatcher.html""" # noqa
|
"""https://docs.opencv.org/4.x/d8/d72/classcv_1_1detail_1_1BestOf2NearestRangeMatcher.html""" # noqa
|
||||||
self.matcher = cv.detail.BestOf2NearestRangeMatcher_create(
|
self.matcher = cv.detail.BestOf2NearestRangeMatcher_create(
|
||||||
range_width, **kwargs
|
range_width, **kwargs
|
||||||
)
|
)
|
||||||
|
@ -6,7 +6,7 @@ from .blender import Blender
|
|||||||
|
|
||||||
|
|
||||||
class SeamFinder:
|
class SeamFinder:
|
||||||
"""https://docs.opencv.org/master/d7/d09/classcv_1_1detail_1_1SeamFinder.html""" # noqa
|
"""https://docs.opencv.org/4.x/d7/d09/classcv_1_1detail_1_1SeamFinder.html""" # noqa
|
||||||
SEAM_FINDER_CHOICES = OrderedDict()
|
SEAM_FINDER_CHOICES = OrderedDict()
|
||||||
SEAM_FINDER_CHOICES['dp_color'] = cv.detail_DpSeamFinder('COLOR')
|
SEAM_FINDER_CHOICES['dp_color'] = cv.detail_DpSeamFinder('COLOR')
|
||||||
SEAM_FINDER_CHOICES['dp_colorgrad'] = cv.detail_DpSeamFinder('COLOR_GRAD')
|
SEAM_FINDER_CHOICES['dp_colorgrad'] = cv.detail_DpSeamFinder('COLOR_GRAD')
|
||||||
@ -19,7 +19,7 @@ class SeamFinder:
|
|||||||
self.finder = SeamFinder.SEAM_FINDER_CHOICES[finder]
|
self.finder = SeamFinder.SEAM_FINDER_CHOICES[finder]
|
||||||
|
|
||||||
def find(self, imgs, corners, masks):
|
def find(self, imgs, corners, masks):
|
||||||
"""https://docs.opencv.org/master/d0/dd5/classcv_1_1detail_1_1DpSeamFinder.html#a7914624907986f7a94dd424209a8a609""" # noqa
|
"""https://docs.opencv.org/4.x/d0/dd5/classcv_1_1detail_1_1DpSeamFinder.html#a7914624907986f7a94dd424209a8a609""" # noqa
|
||||||
imgs_float = [img.astype(np.float32) for img in imgs]
|
imgs_float = [img.astype(np.float32) for img in imgs]
|
||||||
return self.finder.find(imgs_float, corners, masks)
|
return self.finder.find(imgs_float, corners, masks)
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
https://github.com/opencv/opencv_extra/tree/master/testdata/stitching
|
https://github.com/opencv/opencv_extra/tree/4.x/testdata/stitching
|
||||||
|
|
||||||
s1.jpg s2.jpg
|
s1.jpg s2.jpg
|
||||||
boat1.jpg boat2.jpg boat3.jpg boat4.jpg boat5.jpg boat6.jpg
|
boat1.jpg boat2.jpg boat3.jpg boat4.jpg boat5.jpg boat6.jpg
|
||||||
|
@ -317,7 +317,7 @@ def main():
|
|||||||
sizes = []
|
sizes = []
|
||||||
blender = None
|
blender = None
|
||||||
timelapser = None
|
timelapser = None
|
||||||
# https://github.com/opencv/opencv/blob/master/samples/cpp/stitching_detailed.cpp#L725 ?
|
# https://github.com/opencv/opencv/blob/4.x/samples/cpp/stitching_detailed.cpp#L725 ?
|
||||||
for idx, name in enumerate(img_names):
|
for idx, name in enumerate(img_names):
|
||||||
full_img = cv.imread(name)
|
full_img = cv.imread(name)
|
||||||
if not is_compose_scale_set:
|
if not is_compose_scale_set:
|
||||||
|
@ -26,7 +26,7 @@ class Timelapser:
|
|||||||
)
|
)
|
||||||
|
|
||||||
def initialize(self, *args):
|
def initialize(self, *args):
|
||||||
"""https://docs.opencv.org/master/dd/dac/classcv_1_1detail_1_1Timelapser.html#aaf0f7c4128009f02473332a0c41f6345""" # noqa
|
"""https://docs.opencv.org/4.x/dd/dac/classcv_1_1detail_1_1Timelapser.html#aaf0f7c4128009f02473332a0c41f6345""" # noqa
|
||||||
self.timelapser.initialize(*args)
|
self.timelapser.initialize(*args)
|
||||||
|
|
||||||
def process_and_save_frame(self, img_name, img, corner):
|
def process_and_save_frame(self, img_name, img, corner):
|
||||||
|
@ -55,7 +55,7 @@ class Warper:
|
|||||||
|
|
||||||
def update_scale(self, scale):
|
def update_scale(self, scale):
|
||||||
if scale is not None and scale != self.scale:
|
if scale is not None and scale != self.scale:
|
||||||
self.warper = cv.PyRotationWarper(self.warper_type, scale) # setScale not working: https://docs.opencv.org/master/d5/d76/classcv_1_1PyRotationWarper.html#a90b000bb75f95294f9b0b6ec9859eb55
|
self.warper = cv.PyRotationWarper(self.warper_type, scale) # setScale not working: https://docs.opencv.org/4.x/d5/d76/classcv_1_1PyRotationWarper.html#a90b000bb75f95294f9b0b6ec9859eb55
|
||||||
self.scale = scale
|
self.scale = scale
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -116,7 +116,7 @@ swapRB = false;
|
|||||||
needSoftmax = false;
|
needSoftmax = false;
|
||||||
|
|
||||||
// url for label file, can from local or Internet
|
// url for label file, can from local or Internet
|
||||||
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script id="codeSnippet1" type="text/code-snippet">
|
<script id="codeSnippet1" type="text/code-snippet">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
"std": "1",
|
"std": "1",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"needSoftmax": "false",
|
"needSoftmax": "false",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
||||||
"modelUrl": "http://dl.caffe.berkeleyvision.org/bvlc_alexnet.caffemodel",
|
"modelUrl": "http://dl.caffe.berkeleyvision.org/bvlc_alexnet.caffemodel",
|
||||||
"configUrl": "https://raw.githubusercontent.com/BVLC/caffe/master/models/bvlc_alexnet/deploy.prototxt"
|
"configUrl": "https://raw.githubusercontent.com/BVLC/caffe/master/models/bvlc_alexnet/deploy.prototxt"
|
||||||
},
|
},
|
||||||
@ -16,7 +16,7 @@
|
|||||||
"std": "0.007843",
|
"std": "0.007843",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"needSoftmax": "true",
|
"needSoftmax": "true",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
||||||
"modelUrl": "https://drive.google.com/open?id=0B7ubpZO7HnlCcHlfNmJkU2VPelE",
|
"modelUrl": "https://drive.google.com/open?id=0B7ubpZO7HnlCcHlfNmJkU2VPelE",
|
||||||
"configUrl": "https://raw.githubusercontent.com/shicai/DenseNet-Caffe/master/DenseNet_121.prototxt"
|
"configUrl": "https://raw.githubusercontent.com/shicai/DenseNet-Caffe/master/DenseNet_121.prototxt"
|
||||||
},
|
},
|
||||||
@ -26,7 +26,7 @@
|
|||||||
"std": "1",
|
"std": "1",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"needSoftmax": "false",
|
"needSoftmax": "false",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
||||||
"modelUrl": "http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel",
|
"modelUrl": "http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel",
|
||||||
"configUrl": "https://raw.githubusercontent.com/BVLC/caffe/master/models/bvlc_googlenet/deploy.prototxt"
|
"configUrl": "https://raw.githubusercontent.com/BVLC/caffe/master/models/bvlc_googlenet/deploy.prototxt"
|
||||||
},
|
},
|
||||||
@ -36,7 +36,7 @@
|
|||||||
"std": "1",
|
"std": "1",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"needSoftmax": "false",
|
"needSoftmax": "false",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
||||||
"modelUrl": "https://raw.githubusercontent.com/forresti/SqueezeNet/master/SqueezeNet_v1.0/squeezenet_v1.0.caffemodel",
|
"modelUrl": "https://raw.githubusercontent.com/forresti/SqueezeNet/master/SqueezeNet_v1.0/squeezenet_v1.0.caffemodel",
|
||||||
"configUrl": "https://raw.githubusercontent.com/forresti/SqueezeNet/master/SqueezeNet_v1.0/deploy.prototxt"
|
"configUrl": "https://raw.githubusercontent.com/forresti/SqueezeNet/master/SqueezeNet_v1.0/deploy.prototxt"
|
||||||
},
|
},
|
||||||
@ -46,7 +46,7 @@
|
|||||||
"std": "1",
|
"std": "1",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"needSoftmax": "false",
|
"needSoftmax": "false",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt",
|
||||||
"modelUrl": "http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_19_layers.caffemodel",
|
"modelUrl": "http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_19_layers.caffemodel",
|
||||||
"configUrl": "https://gist.githubusercontent.com/ksimonyan/3785162f95cd2d5fee77/raw/f02f8769e64494bcd3d7e97d5d747ac275825721/VGG_ILSVRC_19_layers_deploy.prototxt"
|
"configUrl": "https://gist.githubusercontent.com/ksimonyan/3785162f95cd2d5fee77/raw/f02f8769e64494bcd3d7e97d5d747ac275825721/VGG_ILSVRC_19_layers_deploy.prototxt"
|
||||||
}
|
}
|
||||||
|
@ -117,7 +117,7 @@ swapRB = false;
|
|||||||
needSoftmax = false;
|
needSoftmax = false;
|
||||||
|
|
||||||
// url for label file, can from local or Internet
|
// url for label file, can from local or Internet
|
||||||
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script id="codeSnippet1" type="text/code-snippet">
|
<script id="codeSnippet1" type="text/code-snippet">
|
||||||
|
@ -116,7 +116,7 @@ swapRB = false;
|
|||||||
needSoftmax = false;
|
needSoftmax = false;
|
||||||
|
|
||||||
// url for label file, can from local or Internet
|
// url for label file, can from local or Internet
|
||||||
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script id="codeSnippet1" type="text/code-snippet">
|
<script id="codeSnippet1" type="text/code-snippet">
|
||||||
|
@ -94,7 +94,7 @@ nmsThreshold = 0.4;
|
|||||||
outType = "SSD";
|
outType = "SSD";
|
||||||
|
|
||||||
// url for label file, can from local or Internet
|
// url for label file, can from local or Internet
|
||||||
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/object_detection_classes_pascal_voc.txt";
|
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/object_detection_classes_pascal_voc.txt";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script id="codeSnippet1" type="text/code-snippet">
|
<script id="codeSnippet1" type="text/code-snippet">
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
"std": "0.007843",
|
"std": "0.007843",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"outType": "SSD",
|
"outType": "SSD",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/object_detection_classes_pascal_voc.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/object_detection_classes_pascal_voc.txt",
|
||||||
"modelUrl": "https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/master/mobilenet_iter_73000.caffemodel",
|
"modelUrl": "https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/master/mobilenet_iter_73000.caffemodel",
|
||||||
"configUrl": "https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/master/deploy.prototxt"
|
"configUrl": "https://raw.githubusercontent.com/chuanqi305/MobileNet-SSD/master/deploy.prototxt"
|
||||||
},
|
},
|
||||||
@ -18,7 +18,7 @@
|
|||||||
"std": "1",
|
"std": "1",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"outType": "SSD",
|
"outType": "SSD",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/object_detection_classes_pascal_voc.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/object_detection_classes_pascal_voc.txt",
|
||||||
"modelUrl": "https://drive.google.com/uc?id=0BzKzrI_SkD1_WVVTSmQxU0dVRzA&export=download",
|
"modelUrl": "https://drive.google.com/uc?id=0BzKzrI_SkD1_WVVTSmQxU0dVRzA&export=download",
|
||||||
"configUrl": "https://drive.google.com/uc?id=0BzKzrI_SkD1_WVVTSmQxU0dVRzA&export=download"
|
"configUrl": "https://drive.google.com/uc?id=0BzKzrI_SkD1_WVVTSmQxU0dVRzA&export=download"
|
||||||
}
|
}
|
||||||
@ -31,7 +31,7 @@
|
|||||||
"std": "0.00392",
|
"std": "0.00392",
|
||||||
"swapRB": "false",
|
"swapRB": "false",
|
||||||
"outType": "YOLO",
|
"outType": "YOLO",
|
||||||
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/object_detection_classes_yolov3.txt",
|
"labelsUrl": "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/object_detection_classes_yolov3.txt",
|
||||||
"modelUrl": "https://pjreddie.com/media/files/yolov2-tiny.weights",
|
"modelUrl": "https://pjreddie.com/media/files/yolov2-tiny.weights",
|
||||||
"configUrl": "https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov2-tiny.cfg"
|
"configUrl": "https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov2-tiny.cfg"
|
||||||
}
|
}
|
||||||
|
@ -94,7 +94,7 @@ nmsThreshold = 0.4;
|
|||||||
outType = "SSD";
|
outType = "SSD";
|
||||||
|
|
||||||
// url for label file, can from local or Internet
|
// url for label file, can from local or Internet
|
||||||
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/object_detection_classes_pascal_voc.txt";
|
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/object_detection_classes_pascal_voc.txt";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script id="codeSnippet1" type="text/code-snippet">
|
<script id="codeSnippet1" type="text/code-snippet">
|
||||||
|
@ -116,7 +116,7 @@ swapRB = false;
|
|||||||
needSoftmax = false;
|
needSoftmax = false;
|
||||||
|
|
||||||
// url for label file, can from local or Internet
|
// url for label file, can from local or Internet
|
||||||
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/master/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
labelsUrl = "https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt";
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script id="codeSnippet1" type="text/code-snippet">
|
<script id="codeSnippet1" type="text/code-snippet">
|
||||||
|
@ -333,7 +333,7 @@ function installDOM(){
|
|||||||
### Execute it ###
|
### Execute it ###
|
||||||
|
|
||||||
- Save the file as `exampleNodeCanvasData.js`.
|
- Save the file as `exampleNodeCanvasData.js`.
|
||||||
- Make sure the files `aarcascade_frontalface_default.xml` and `haarcascade_eye.xml` are present in project's directory. They can be obtained from [OpenCV sources](https://github.com/opencv/opencv/tree/master/data/haarcascades).
|
- Make sure the files `aarcascade_frontalface_default.xml` and `haarcascade_eye.xml` are present in project's directory. They can be obtained from [OpenCV sources](https://github.com/opencv/opencv/tree/4.x/data/haarcascades).
|
||||||
- Make sure a sample image file `lena.jpg` exists in project's directory. It should display people's faces for this example to make sense. The following image is known to work:
|
- Make sure a sample image file `lena.jpg` exists in project's directory. It should display people's faces for this example to make sense. The following image is known to work:
|
||||||
|
|
||||||
![image](lena.jpg)
|
![image](lena.jpg)
|
||||||
|
@ -4,7 +4,9 @@ Using OpenCV.js {#tutorial_js_usage}
|
|||||||
Steps
|
Steps
|
||||||
-----
|
-----
|
||||||
|
|
||||||
In this tutorial, you will learn how to include and start to use `opencv.js` inside a web page. You can get a copy of `opencv.js` from `opencv-{VERSION_NUMBER}-docs.zip` in each [release](https://github.com/opencv/opencv/releases), or simply download the prebuilt script from the online documentations at "https://docs.opencv.org/{VERSION_NUMBER}/opencv.js" (For example, [https://docs.opencv.org/3.4.0/opencv.js](https://docs.opencv.org/3.4.0/opencv.js). Use `master` if you want the latest build). You can also build your own copy by following the tutorial on Build Opencv.js.
|
In this tutorial, you will learn how to include and start to use `opencv.js` inside a web page.
|
||||||
|
You can get a copy of `opencv.js` from `opencv-{VERSION_NUMBER}-docs.zip` in each [release](https://github.com/opencv/opencv/releases), or simply download the prebuilt script from the online documentations at "https://docs.opencv.org/{VERSION_NUMBER}/opencv.js" (For example, [https://docs.opencv.org/4.5.0/opencv.js](https://docs.opencv.org/4.5.0/opencv.js). Use `4.x` if you want the latest build).
|
||||||
|
You can also build your own copy by following the tutorial @ref tutorial_js_setup.
|
||||||
|
|
||||||
### Create a web page
|
### Create a web page
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ gives us a feature vector containing 64 values. This is the feature vector we us
|
|||||||
|
|
||||||
Finally, as in the previous case, we start by splitting our big dataset into individual cells. For
|
Finally, as in the previous case, we start by splitting our big dataset into individual cells. For
|
||||||
every digit, 250 cells are reserved for training data and remaining 250 data is reserved for
|
every digit, 250 cells are reserved for training data and remaining 250 data is reserved for
|
||||||
testing. Full code is given below, you also can download it from [here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ml/py_svm_opencv/hogsvm.py):
|
testing. Full code is given below, you also can download it from [here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ml/py_svm_opencv/hogsvm.py):
|
||||||
|
|
||||||
@include samples/python/tutorial_code/ml/py_svm_opencv/hogsvm.py
|
@include samples/python/tutorial_code/ml/py_svm_opencv/hogsvm.py
|
||||||
|
|
||||||
|
@ -83,5 +83,5 @@ there are two flags that should be used to set/get property of the needed genera
|
|||||||
flag value is assumed by default if neither of the two possible values of the property is set.
|
flag value is assumed by default if neither of the two possible values of the property is set.
|
||||||
|
|
||||||
For more information please refer to the example of usage
|
For more information please refer to the example of usage
|
||||||
[videocapture_realsense.cpp](https://github.com/opencv/opencv/tree/master/samples/cpp/videocapture_realsense.cpp)
|
[videocapture_realsense.cpp](https://github.com/opencv/opencv/tree/4.x/samples/cpp/videocapture_realsense.cpp)
|
||||||
in opencv/samples/cpp folder.
|
in opencv/samples/cpp folder.
|
||||||
|
@ -140,5 +140,5 @@ property. The following properties of cameras available through OpenNI interface
|
|||||||
- CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_REGISTRATION
|
- CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION = CAP_OPENNI_DEPTH_GENERATOR + CAP_PROP_OPENNI_REGISTRATION
|
||||||
|
|
||||||
For more information please refer to the example of usage
|
For more information please refer to the example of usage
|
||||||
[videocapture_openni.cpp](https://github.com/opencv/opencv/tree/master/samples/cpp/videocapture_openni.cpp) in
|
[videocapture_openni.cpp](https://github.com/opencv/opencv/tree/4.x/samples/cpp/videocapture_openni.cpp) in
|
||||||
opencv/samples/cpp folder.
|
opencv/samples/cpp folder.
|
||||||
|
@ -165,5 +165,5 @@ but the depth data makes it easy.
|
|||||||
![Depth frame](images/astra_depth.png)
|
![Depth frame](images/astra_depth.png)
|
||||||
|
|
||||||
The complete implementation can be found in
|
The complete implementation can be found in
|
||||||
[orbbec_astra.cpp](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/videoio/orbbec_astra/orbbec_astra.cpp)
|
[orbbec_astra.cpp](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/videoio/orbbec_astra/orbbec_astra.cpp)
|
||||||
in `samples/cpp/tutorial_code/videoio` directory.
|
in `samples/cpp/tutorial_code/videoio` directory.
|
||||||
|
@ -37,19 +37,19 @@ Let's modify the program made in the tutorial @ref tutorial_adding_images. We wi
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp)
|
||||||
@include cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp
|
@include cpp/tutorial_code/HighGUI/AddingImagesTrackbar.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/highgui/trackbar/AddingImagesTrackbar.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/highgui/trackbar/AddingImagesTrackbar.java)
|
||||||
@include java/tutorial_code/highgui/trackbar/AddingImagesTrackbar.java
|
@include java/tutorial_code/highgui/trackbar/AddingImagesTrackbar.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/highgui/trackbar/AddingImagesTrackbar.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/highgui/trackbar/AddingImagesTrackbar.py)
|
||||||
@include python/tutorial_code/highgui/trackbar/AddingImagesTrackbar.py
|
@include python/tutorial_code/highgui/trackbar/AddingImagesTrackbar.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -30,8 +30,8 @@ As a test case where to show off these using OpenCV I've created a small program
|
|||||||
video files and performs a similarity check between them. This is something you could use to check
|
video files and performs a similarity check between them. This is something you could use to check
|
||||||
just how well a new video compressing algorithms works. Let there be a reference (original) video
|
just how well a new video compressing algorithms works. Let there be a reference (original) video
|
||||||
like [this small Megamind clip
|
like [this small Megamind clip
|
||||||
](https://github.com/opencv/opencv/tree/master/samples/data/Megamind.avi) and [a compressed
|
](https://github.com/opencv/opencv/tree/4.x/samples/data/Megamind.avi) and [a compressed
|
||||||
version of it ](https://github.com/opencv/opencv/tree/master/samples/data/Megamind_bugy.avi).
|
version of it ](https://github.com/opencv/opencv/tree/4.x/samples/data/Megamind_bugy.avi).
|
||||||
You may also find the source code and these video file in the
|
You may also find the source code and these video file in the
|
||||||
`samples/data` folder of the OpenCV source library.
|
`samples/data` folder of the OpenCV source library.
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ The source code
|
|||||||
|
|
||||||
You may also find the source code and these video file in the
|
You may also find the source code and these video file in the
|
||||||
`samples/cpp/tutorial_code/videoio/video-write/` folder of the OpenCV source library or [download it
|
`samples/cpp/tutorial_code/videoio/video-write/` folder of the OpenCV source library or [download it
|
||||||
from here ](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/videoio/video-write/video-write.cpp).
|
from here ](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/videoio/video-write/video-write.cpp).
|
||||||
|
|
||||||
@include cpp/tutorial_code/videoio/video-write/video-write.cpp
|
@include cpp/tutorial_code/videoio/video-write/video-write.cpp
|
||||||
|
|
||||||
|
@ -88,13 +88,13 @@ Source code
|
|||||||
|
|
||||||
You may also find the source code in the `samples/cpp/tutorial_code/calib3d/camera_calibration/`
|
You may also find the source code in the `samples/cpp/tutorial_code/calib3d/camera_calibration/`
|
||||||
folder of the OpenCV source library or [download it from here
|
folder of the OpenCV source library or [download it from here
|
||||||
](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/calib3d/camera_calibration/camera_calibration.cpp). For the usage of the program, run it with `-h` argument. The program has an
|
](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/calib3d/camera_calibration/camera_calibration.cpp). For the usage of the program, run it with `-h` argument. The program has an
|
||||||
essential argument: the name of its configuration file. If none is given then it will try to open the
|
essential argument: the name of its configuration file. If none is given then it will try to open the
|
||||||
one named "default.xml". [Here's a sample configuration file
|
one named "default.xml". [Here's a sample configuration file
|
||||||
](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/calib3d/camera_calibration/in_VID5.xml) in XML format. In the
|
](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/calib3d/camera_calibration/in_VID5.xml) in XML format. In the
|
||||||
configuration file you may choose to use camera as an input, a video file or an image list. If you
|
configuration file you may choose to use camera as an input, a video file or an image list. If you
|
||||||
opt for the last one, you will need to create a configuration file where you enumerate the images to
|
opt for the last one, you will need to create a configuration file where you enumerate the images to
|
||||||
use. Here's [an example of this ](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/calib3d/camera_calibration/VID5.xml).
|
use. Here's [an example of this ](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/calib3d/camera_calibration/VID5.xml).
|
||||||
The important part to remember is that the images need to be specified using the absolute path or
|
The important part to remember is that the images need to be specified using the absolute path or
|
||||||
the relative one from your application's working directory. You may find all this in the samples
|
the relative one from your application's working directory. You may find all this in the samples
|
||||||
directory mentioned above.
|
directory mentioned above.
|
||||||
|
@ -13,14 +13,14 @@ Create calibration pattern {#tutorial_camera_calibration_pattern}
|
|||||||
|
|
||||||
The goal of this tutorial is to learn how to create calibration pattern.
|
The goal of this tutorial is to learn how to create calibration pattern.
|
||||||
|
|
||||||
You can find a chessboard pattern in https://github.com/opencv/opencv/blob/master/doc/pattern.png
|
You can find a chessboard pattern in https://github.com/opencv/opencv/blob/4.x/doc/pattern.png
|
||||||
|
|
||||||
You can find a circleboard pattern in https://github.com/opencv/opencv/blob/master/doc/acircles_pattern.png
|
You can find a circleboard pattern in https://github.com/opencv/opencv/blob/4.x/doc/acircles_pattern.png
|
||||||
|
|
||||||
Create your own pattern
|
Create your own pattern
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Now, if you want to create your own pattern, you will need python to use https://github.com/opencv/opencv/blob/master/doc/pattern_tools/gen_pattern.py
|
Now, if you want to create your own pattern, you will need python to use https://github.com/opencv/opencv/blob/4.x/doc/pattern_tools/gen_pattern.py
|
||||||
|
|
||||||
Example
|
Example
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ QR faster than SVD, but potentially less precise
|
|||||||
- *camera_resolution*: resolution of camera which is used for calibration
|
- *camera_resolution*: resolution of camera which is used for calibration
|
||||||
|
|
||||||
**Note:** *charuco_dict*, *charuco_square_length* and *charuco_marker_size* are used for chAruco pattern generation
|
**Note:** *charuco_dict*, *charuco_square_length* and *charuco_marker_size* are used for chAruco pattern generation
|
||||||
(see Aruco module description for details: [Aruco tutorials](https://github.com/opencv/opencv_contrib/tree/master/modules/aruco/tutorials))
|
(see Aruco module description for details: [Aruco tutorials](https://github.com/opencv/opencv_contrib/tree/4.x/modules/aruco/tutorials))
|
||||||
|
|
||||||
Default chAruco pattern:
|
Default chAruco pattern:
|
||||||
|
|
||||||
|
@ -41,19 +41,19 @@ Source Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
Download the source code from
|
Download the source code from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/core/AddingImages/AddingImages.cpp).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/core/AddingImages/AddingImages.cpp).
|
||||||
@include cpp/tutorial_code/core/AddingImages/AddingImages.cpp
|
@include cpp/tutorial_code/core/AddingImages/AddingImages.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
Download the source code from
|
Download the source code from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/core/AddingImages/AddingImages.java).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/core/AddingImages/AddingImages.java).
|
||||||
@include java/tutorial_code/core/AddingImages/AddingImages.java
|
@include java/tutorial_code/core/AddingImages/AddingImages.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
Download the source code from
|
Download the source code from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/core/AddingImages/adding_images.py).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/core/AddingImages/adding_images.py).
|
||||||
@include python/tutorial_code/core/AddingImages/adding_images.py
|
@include python/tutorial_code/core/AddingImages/adding_images.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@ -77,7 +77,7 @@ We need two source images (\f$f_{0}(x)\f$ and \f$f_{1}(x)\f$). So, we load them
|
|||||||
@snippet python/tutorial_code/core/AddingImages/adding_images.py load
|
@snippet python/tutorial_code/core/AddingImages/adding_images.py load
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
We used the following images: [LinuxLogo.jpg](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/LinuxLogo.jpg) and [WindowsLogo.jpg](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/WindowsLogo.jpg)
|
We used the following images: [LinuxLogo.jpg](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/LinuxLogo.jpg) and [WindowsLogo.jpg](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/WindowsLogo.jpg)
|
||||||
|
|
||||||
@warning Since we are *adding* *src1* and *src2*, they both have to be of the same size
|
@warning Since we are *adding* *src1* and *src2*, they both have to be of the same size
|
||||||
(width and height) and type.
|
(width and height) and type.
|
||||||
|
@ -65,7 +65,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp)
|
||||||
|
|
||||||
- The following code performs the operation \f$g(i,j) = \alpha \cdot f(i,j) + \beta\f$ :
|
- The following code performs the operation \f$g(i,j) = \alpha \cdot f(i,j) + \beta\f$ :
|
||||||
@include samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp
|
@include samples/cpp/tutorial_code/ImgProc/BasicLinearTransforms.cpp
|
||||||
@ -73,7 +73,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/BasicLinearTransformsDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/BasicLinearTransformsDemo.java)
|
||||||
|
|
||||||
- The following code performs the operation \f$g(i,j) = \alpha \cdot f(i,j) + \beta\f$ :
|
- The following code performs the operation \f$g(i,j) = \alpha \cdot f(i,j) + \beta\f$ :
|
||||||
@include samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/BasicLinearTransformsDemo.java
|
@include samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/BasicLinearTransformsDemo.java
|
||||||
@ -81,7 +81,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/BasicLinearTransforms.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/BasicLinearTransforms.py)
|
||||||
|
|
||||||
- The following code performs the operation \f$g(i,j) = \alpha \cdot f(i,j) + \beta\f$ :
|
- The following code performs the operation \f$g(i,j) = \alpha \cdot f(i,j) + \beta\f$ :
|
||||||
@include samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/BasicLinearTransforms.py
|
@include samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/BasicLinearTransforms.py
|
||||||
@ -291,15 +291,15 @@ and are not intended to be used as a replacement of a raster graphics editor!**
|
|||||||
### Code
|
### Code
|
||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
Code for the tutorial is [here](https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/ImgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.cpp).
|
Code for the tutorial is [here](https://github.com/opencv/opencv/blob/4.x/samples/cpp/tutorial_code/ImgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.cpp).
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
Code for the tutorial is [here](https://github.com/opencv/opencv/blob/master/samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/ChangingContrastBrightnessImageDemo.java).
|
Code for the tutorial is [here](https://github.com/opencv/opencv/blob/4.x/samples/java/tutorial_code/ImgProc/changing_contrast_brightness_image/ChangingContrastBrightnessImageDemo.java).
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
Code for the tutorial is [here](https://github.com/opencv/opencv/blob/master/samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.py).
|
Code for the tutorial is [here](https://github.com/opencv/opencv/blob/4.x/samples/python/tutorial_code/imgProc/changing_contrast_brightness_image/changing_contrast_brightness_image.py).
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
Code for the gamma correction:
|
Code for the gamma correction:
|
||||||
|
@ -26,7 +26,7 @@ Source code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can [download this from here
|
You can [download this from here
|
||||||
](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp) or
|
](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp) or
|
||||||
find it in the
|
find it in the
|
||||||
`samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp` of the
|
`samples/cpp/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.cpp` of the
|
||||||
OpenCV source code library.
|
OpenCV source code library.
|
||||||
@ -34,7 +34,7 @@ OpenCV source code library.
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can [download this from here
|
You can [download this from here
|
||||||
](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/core/discrete_fourier_transform/DiscreteFourierTransform.java) or
|
](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/core/discrete_fourier_transform/DiscreteFourierTransform.java) or
|
||||||
find it in the
|
find it in the
|
||||||
`samples/java/tutorial_code/core/discrete_fourier_transform/DiscreteFourierTransform.java` of the
|
`samples/java/tutorial_code/core/discrete_fourier_transform/DiscreteFourierTransform.java` of the
|
||||||
OpenCV source code library.
|
OpenCV source code library.
|
||||||
@ -42,7 +42,7 @@ OpenCV source code library.
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can [download this from here
|
You can [download this from here
|
||||||
](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.py) or
|
](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.py) or
|
||||||
find it in the
|
find it in the
|
||||||
`samples/python/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.py` of the
|
`samples/python/tutorial_code/core/discrete_fourier_transform/discrete_fourier_transform.py` of the
|
||||||
OpenCV source code library.
|
OpenCV source code library.
|
||||||
@ -229,7 +229,7 @@ An application idea would be to determine the geometrical orientation present in
|
|||||||
example, let us find out if a text is horizontal or not? Looking at some text you'll notice that the
|
example, let us find out if a text is horizontal or not? Looking at some text you'll notice that the
|
||||||
text lines sort of form also horizontal lines and the letters form sort of vertical lines. These two
|
text lines sort of form also horizontal lines and the letters form sort of vertical lines. These two
|
||||||
main components of a text snippet may be also seen in case of the Fourier transform. Let us use
|
main components of a text snippet may be also seen in case of the Fourier transform. Let us use
|
||||||
[this horizontal ](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/imageTextN.png) and [this rotated](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/imageTextR.png)
|
[this horizontal ](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/imageTextN.png) and [this rotated](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/imageTextR.png)
|
||||||
image about a text.
|
image about a text.
|
||||||
|
|
||||||
In case of the horizontal text:
|
In case of the horizontal text:
|
||||||
|
@ -26,7 +26,7 @@ Source code
|
|||||||
-----------
|
-----------
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can [download this from here
|
You can [download this from here
|
||||||
](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp) or find it in the
|
](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp) or find it in the
|
||||||
`samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp` of the OpenCV source code
|
`samples/cpp/tutorial_code/core/file_input_output/file_input_output.cpp` of the OpenCV source code
|
||||||
library.
|
library.
|
||||||
|
|
||||||
@ -37,7 +37,7 @@ Here's a sample code of how to achieve all the stuff enumerated at the goal list
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can [download this from here
|
You can [download this from here
|
||||||
](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/core/file_input_output/file_input_output.py) or find it in the
|
](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/core/file_input_output/file_input_output.py) or find it in the
|
||||||
`samples/python/tutorial_code/core/file_input_output/file_input_output.py` of the OpenCV source code
|
`samples/python/tutorial_code/core/file_input_output/file_input_output.py` of the OpenCV source code
|
||||||
library.
|
library.
|
||||||
|
|
||||||
|
@ -61,7 +61,7 @@ three major ways of going through an image pixel by pixel. To make things a litt
|
|||||||
we'll make the scanning of the image using each of these methods, and print out how long it took.
|
we'll make the scanning of the image using each of these methods, and print out how long it took.
|
||||||
|
|
||||||
You can download the full source code [here
|
You can download the full source code [here
|
||||||
](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/core/how_to_scan_images/how_to_scan_images.cpp) or look it up in
|
](https://github.com/opencv/opencv/tree/4.x/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:
|
the samples directory of OpenCV at the cpp tutorial code for the core section. Its basic usage is:
|
||||||
@code{.bash}
|
@code{.bash}
|
||||||
how_to_scan_images imageName.jpg intValueToReduce [G]
|
how_to_scan_images imageName.jpg intValueToReduce [G]
|
||||||
|
@ -15,7 +15,7 @@ Goal
|
|||||||
The goal of this tutorial is to show you how to use the OpenCV `parallel_for_` framework to easily
|
The goal of this tutorial is to show you how to use the OpenCV `parallel_for_` framework to easily
|
||||||
parallelize your code. To illustrate the concept, we will write a program to draw a Mandelbrot set
|
parallelize your code. To illustrate the concept, we will write a program to draw a Mandelbrot set
|
||||||
exploiting almost all the CPU load available.
|
exploiting almost all the CPU load available.
|
||||||
The full tutorial code is [here](https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/core/how_to_use_OpenCV_parallel_for_/how_to_use_OpenCV_parallel_for_.cpp).
|
The full tutorial code is [here](https://github.com/opencv/opencv/blob/4.x/samples/cpp/tutorial_code/core/how_to_use_OpenCV_parallel_for_/how_to_use_OpenCV_parallel_for_.cpp).
|
||||||
If you want more information about multithreading, you will have to refer to a reference book or course as this tutorial is intended
|
If you want more information about multithreading, you will have to refer to a reference book or course as this tutorial is intended
|
||||||
to remain simple.
|
to remain simple.
|
||||||
|
|
||||||
@ -183,7 +183,7 @@ C++ 11 standard allows to simplify the parallel implementation by get rid of the
|
|||||||
Results
|
Results
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
You can find the full tutorial code [here](https://github.com/opencv/opencv/blob/master/samples/cpp/tutorial_code/core/how_to_use_OpenCV_parallel_for_/how_to_use_OpenCV_parallel_for_.cpp).
|
You can find the full tutorial code [here](https://github.com/opencv/opencv/blob/4.x/samples/cpp/tutorial_code/core/how_to_use_OpenCV_parallel_for_/how_to_use_OpenCV_parallel_for_.cpp).
|
||||||
The performance of the parallel implementation depends of the type of CPU you have. For instance, on 4 cores / 8 threads
|
The performance of the parallel implementation depends of the type of CPU you have. For instance, on 4 cores / 8 threads
|
||||||
CPU, you can expect a speed-up of around 6.9X. There are many factors to explain why we do not achieve a speed-up of almost 8X.
|
CPU, you can expect a speed-up of around 6.9X. There are many factors to explain why we do not achieve a speed-up of almost 8X.
|
||||||
Main reasons should be mostly due to:
|
Main reasons should be mostly due to:
|
||||||
|
@ -40,7 +40,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can download this source code from [here
|
You can download this source code from [here
|
||||||
](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp) or look in the
|
](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp) or look in the
|
||||||
OpenCV source code libraries sample directory at
|
OpenCV source code libraries sample directory at
|
||||||
`samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp`.
|
`samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp`.
|
||||||
@include samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp
|
@include samples/cpp/tutorial_code/core/mat_mask_operations/mat_mask_operations.cpp
|
||||||
@ -48,7 +48,7 @@ OpenCV source code libraries sample directory at
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can download this source code from [here
|
You can download this source code from [here
|
||||||
](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/core/mat_mask_operations/MatMaskOperations.java) or look in the
|
](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/core/mat_mask_operations/MatMaskOperations.java) or look in the
|
||||||
OpenCV source code libraries sample directory at
|
OpenCV source code libraries sample directory at
|
||||||
`samples/java/tutorial_code/core/mat_mask_operations/MatMaskOperations.java`.
|
`samples/java/tutorial_code/core/mat_mask_operations/MatMaskOperations.java`.
|
||||||
@include samples/java/tutorial_code/core/mat_mask_operations/MatMaskOperations.java
|
@include samples/java/tutorial_code/core/mat_mask_operations/MatMaskOperations.java
|
||||||
@ -56,7 +56,7 @@ OpenCV source code libraries sample directory at
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can download this source code from [here
|
You can download this source code from [here
|
||||||
](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/core/mat_mask_operations/mat_mask_operations.py) or look in the
|
](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/core/mat_mask_operations/mat_mask_operations.py) or look in the
|
||||||
OpenCV source code libraries sample directory at
|
OpenCV source code libraries sample directory at
|
||||||
`samples/python/tutorial_code/core/mat_mask_operations/mat_mask_operations.py`.
|
`samples/python/tutorial_code/core/mat_mask_operations/mat_mask_operations.py`.
|
||||||
@include samples/python/tutorial_code/core/mat_mask_operations/mat_mask_operations.py
|
@include samples/python/tutorial_code/core/mat_mask_operations/mat_mask_operations.py
|
||||||
|
@ -269,7 +269,7 @@ OpenCV offers support for output of other common OpenCV data structures too via
|
|||||||
![](images/MatBasicContainerOut15.png)
|
![](images/MatBasicContainerOut15.png)
|
||||||
|
|
||||||
Most of the samples here have been included in a small console application. You can download it from
|
Most of the samples here have been included in a small console application. You can download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/core/mat_the_basic_image_container/mat_the_basic_image_container.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/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.
|
or in the core section of the cpp samples.
|
||||||
|
|
||||||
You can also find a quick video demonstration of this on
|
You can also find a quick video demonstration of this on
|
||||||
|
@ -245,7 +245,7 @@ In the following section, we will vectorize a simple convolution function for si
|
|||||||
|
|
||||||
You may learn more about convolution from the previous tutorial. We use the same naive implementation from the previous tutorial and compare it to the vectorized version.
|
You may learn more about convolution from the previous tutorial. We use the same naive implementation from the previous tutorial and compare it to the vectorized version.
|
||||||
|
|
||||||
The full tutorial code is [here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/univ_intrin/univ_intrin.cpp).
|
The full tutorial code is [here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/univ_intrin/univ_intrin.cpp).
|
||||||
|
|
||||||
### Vectorizing Convolution
|
### Vectorizing Convolution
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ In this tutorial, we first introduce how to obtain the custom OCR model, then ho
|
|||||||
After completing the model training, please use [transform_to_onnx.py](https://github.com/zihaomu/deep-text-recognition-benchmark/blob/master/transform_to_onnx.py) to convert the model into onnx format.
|
After completing the model training, please use [transform_to_onnx.py](https://github.com/zihaomu/deep-text-recognition-benchmark/blob/master/transform_to_onnx.py) to convert the model into onnx format.
|
||||||
|
|
||||||
#### Execute in webcam
|
#### Execute in webcam
|
||||||
The Python version example code can be found at [here](https://github.com/opencv/opencv/blob/master/samples/dnn/text_detection.py).
|
The Python version example code can be found at [here](https://github.com/opencv/opencv/blob/4.x/samples/dnn/text_detection.py).
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
@code{.bash}
|
@code{.bash}
|
||||||
|
@ -226,7 +226,7 @@ a centric one.
|
|||||||
@snippet dnn/edge_detection.py Register
|
@snippet dnn/edge_detection.py Register
|
||||||
|
|
||||||
That's it! We've replaced an implemented OpenCV's layer to a custom one.
|
That's it! We've replaced an implemented OpenCV's layer to a custom one.
|
||||||
You may find a full script in the [source code](https://github.com/opencv/opencv/tree/master/samples/dnn/edge_detection.py).
|
You may find a full script in the [source code](https://github.com/opencv/opencv/tree/4.x/samples/dnn/edge_detection.py).
|
||||||
|
|
||||||
<table border="0">
|
<table border="0">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -38,7 +38,7 @@ There are two models (ONNX format) pre-trained and required for this module:
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/dnn/face_detect.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/dnn/face_detect.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/dnn/face_detect.cpp
|
@include samples/dnn/face_detect.cpp
|
||||||
@ -46,7 +46,7 @@ There are two models (ONNX format) pre-trained and required for this module:
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/dnn/face_detect.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/dnn/face_detect.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/dnn/face_detect.py
|
@include samples/dnn/face_detect.py
|
||||||
|
@ -22,7 +22,7 @@ We will demonstrate results of this example on the following picture.
|
|||||||
Source Code
|
Source Code
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
We will be using snippets from the example application, that can be downloaded [here](https://github.com/opencv/opencv/blob/master/samples/dnn/classification.cpp).
|
We will be using snippets from the example application, that can be downloaded [here](https://github.com/opencv/opencv/blob/4.x/samples/dnn/classification.cpp).
|
||||||
|
|
||||||
@include dnn/classification.cpp
|
@include dnn/classification.cpp
|
||||||
|
|
||||||
@ -30,11 +30,11 @@ Explanation
|
|||||||
-----------
|
-----------
|
||||||
|
|
||||||
-# Firstly, download GoogLeNet model files:
|
-# Firstly, download GoogLeNet model files:
|
||||||
[bvlc_googlenet.prototxt ](https://github.com/opencv/opencv_extra/blob/master/testdata/dnn/bvlc_googlenet.prototxt) and
|
[bvlc_googlenet.prototxt ](https://github.com/opencv/opencv_extra/blob/4.x/testdata/dnn/bvlc_googlenet.prototxt) and
|
||||||
[bvlc_googlenet.caffemodel](http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel)
|
[bvlc_googlenet.caffemodel](http://dl.caffe.berkeleyvision.org/bvlc_googlenet.caffemodel)
|
||||||
|
|
||||||
Also you need file with names of [ILSVRC2012](http://image-net.org/challenges/LSVRC/2012/browse-synsets) classes:
|
Also you need file with names of [ILSVRC2012](http://image-net.org/challenges/LSVRC/2012/browse-synsets) classes:
|
||||||
[classification_classes_ILSVRC2012.txt](https://github.com/opencv/opencv/blob/master/samples/data/dnn/classification_classes_ILSVRC2012.txt).
|
[classification_classes_ILSVRC2012.txt](https://github.com/opencv/opencv/blob/4.x/samples/data/dnn/classification_classes_ILSVRC2012.txt).
|
||||||
|
|
||||||
Put these files into working dir of this program example.
|
Put these files into working dir of this program example.
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ correspondingly. In example, for variable `x` in range `[0, 10)` directive
|
|||||||
`split: { x: 2 }` gives new ones `xo` in range `[0, 5)` and `xi` in range `[0, 2)`.
|
`split: { x: 2 }` gives new ones `xo` in range `[0, 5)` and `xi` in range `[0, 2)`.
|
||||||
Variable name `x` is no longer available in the same scheduling node.
|
Variable name `x` is no longer available in the same scheduling node.
|
||||||
|
|
||||||
You can find scheduling examples at [opencv_extra/testdata/dnn](https://github.com/opencv/opencv_extra/tree/master/testdata/dnn)
|
You can find scheduling examples at [opencv_extra/testdata/dnn](https://github.com/opencv/opencv_extra/tree/4.x/testdata/dnn)
|
||||||
and use it for schedule your networks.
|
and use it for schedule your networks.
|
||||||
|
|
||||||
## Layers fusing
|
## Layers fusing
|
||||||
|
@ -30,7 +30,7 @@ source <env_dir_path>/bin/activate
|
|||||||
|
|
||||||
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
||||||
|
|
||||||
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
||||||
The below line initiates requirements installation into the previously activated virtual environment:
|
The below line initiates requirements installation into the previously activated virtual environment:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
@ -140,7 +140,7 @@ class CommonConfig:
|
|||||||
Thus, the converted ResNet-50 will be saved in ``dnn_model_runner/dnn_conversion/models``.
|
Thus, the converted ResNet-50 will be saved in ``dnn_model_runner/dnn_conversion/models``.
|
||||||
|
|
||||||
### Inference Pipeline
|
### Inference Pipeline
|
||||||
Now we can use ```models/resnet50.onnx``` for the inference pipeline using OpenCV C/C++ API. The implemented pipeline can be found in [samples/dnn/classification.cpp](https://github.com/opencv/opencv/blob/master/samples/dnn/classification.cpp).
|
Now we can use ```models/resnet50.onnx``` for the inference pipeline using OpenCV C/C++ API. The implemented pipeline can be found in [samples/dnn/classification.cpp](https://github.com/opencv/opencv/blob/4.x/samples/dnn/classification.cpp).
|
||||||
After the build of samples (``BUILD_EXAMPLES`` flag value should be ``ON``), the appropriate ``example_dnn_classification`` executable file will be provided.
|
After the build of samples (``BUILD_EXAMPLES`` flag value should be ``ON``), the appropriate ``example_dnn_classification`` executable file will be provided.
|
||||||
|
|
||||||
To provide model inference we will use the below [squirrel photo](https://www.pexels.com/photo/brown-squirrel-eating-1564292) (under [CC0](https://www.pexels.com/terms-of-service/) license) corresponding to ImageNet class ID 335:
|
To provide model inference we will use the below [squirrel photo](https://www.pexels.com/photo/brown-squirrel-eating-1564292) (under [CC0](https://www.pexels.com/terms-of-service/) license) corresponding to ImageNet class ID 335:
|
||||||
|
@ -31,7 +31,7 @@ source <env_dir_path>/bin/activate
|
|||||||
|
|
||||||
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
||||||
|
|
||||||
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
||||||
The below line initiates requirements installation into the previously activated virtual environment:
|
The below line initiates requirements installation into the previously activated virtual environment:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
@ -270,7 +270,7 @@ python -m dnn_model_runner.dnn_conversion.pytorch.classification.py_to_py_cls --
|
|||||||
|
|
||||||
Chosen from the list classification model will be read into OpenCV cv.dnn.Net object. Evaluation results of PyTorch and OpenCV models (accuracy, inference time, L1) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
Chosen from the list classification model will be read into OpenCV cv.dnn.Net object. Evaluation results of PyTorch and OpenCV models (accuracy, inference time, L1) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
||||||
|
|
||||||
Necessary evaluation configurations are defined in the [test_config.py](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) and can be modified in accordance with actual paths of data location:
|
Necessary evaluation configurations are defined in the [test_config.py](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) and can be modified in accordance with actual paths of data location:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -308,7 +308,7 @@ python -m dnn_model_runner.dnn_conversion.pytorch.classification.py_to_py_cls --
|
|||||||
|
|
||||||
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
||||||
|
|
||||||
Test configuration is represented in [test_config.py](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestClsModuleConfig`` class:
|
Test configuration is represented in [test_config.py](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestClsModuleConfig`` class:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -331,7 +331,7 @@ class TestClsModuleConfig:
|
|||||||
classes: str = os.path.join(cls_test_data_dir, "dnn", "classification_classes_ILSVRC2012.txt")
|
classes: str = os.path.join(cls_test_data_dir, "dnn", "classification_classes_ILSVRC2012.txt")
|
||||||
```
|
```
|
||||||
|
|
||||||
The default image preprocessing options are defined in [default_preprocess_config.py](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/default_preprocess_config.py). For instance:
|
The default image preprocessing options are defined in [default_preprocess_config.py](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/default_preprocess_config.py). For instance:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
BASE_IMG_SCALE_FACTOR = 1 / 255.0
|
BASE_IMG_SCALE_FACTOR = 1 / 255.0
|
||||||
@ -349,7 +349,7 @@ pytorch_resize_input_blob = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The basis of the model testing is represented in [samples/dnn/classification.py](https://github.com/opencv/opencv/blob/master/samples/dnn/classification.py). ``classification.py`` can be executed autonomously with provided converted model in ``--input`` and populated parameters for cv.dnn.blobFromImage.
|
The basis of the model testing is represented in [samples/dnn/classification.py](https://github.com/opencv/opencv/blob/4.x/samples/dnn/classification.py). ``classification.py`` can be executed autonomously with provided converted model in ``--input`` and populated parameters for cv.dnn.blobFromImage.
|
||||||
|
|
||||||
To reproduce from scratch the described in "Model Conversion Pipeline" OpenCV steps with ``dnn_model_runner`` execute the below line:
|
To reproduce from scratch the described in "Model Conversion Pipeline" OpenCV steps with ``dnn_model_runner`` execute the below line:
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ source <env_dir_path>/bin/activate
|
|||||||
|
|
||||||
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
||||||
|
|
||||||
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
||||||
The below line initiates requirements installation into the previously activated virtual environment:
|
The below line initiates requirements installation into the previously activated virtual environment:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
@ -273,7 +273,7 @@ python -m dnn_model_runner.dnn_conversion.tf.classification.py_to_py_cls --model
|
|||||||
|
|
||||||
Chosen from the list classification model will be read into OpenCV ``cv.dnn_Net`` object. Evaluation results of TF and OpenCV models (accuracy, inference time, L1) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
Chosen from the list classification model will be read into OpenCV ``cv.dnn_Net`` object. Evaluation results of TF and OpenCV models (accuracy, inference time, L1) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
||||||
|
|
||||||
Necessary evaluation configurations are defined in the [test_config.py](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) and can be modified in accordance with actual paths of data location::
|
Necessary evaluation configurations are defined in the [test_config.py](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) and can be modified in accordance with actual paths of data location::
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -312,7 +312,7 @@ python -m dnn_model_runner.dnn_conversion.tf.classification.py_to_py_cls --model
|
|||||||
|
|
||||||
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
||||||
|
|
||||||
Test configuration is represented in [test_config.py](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestClsModuleConfig`` class:
|
Test configuration is represented in [test_config.py](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestClsModuleConfig`` class:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -347,7 +347,7 @@ tf_input_blob = {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The basis of the model testing is represented in [samples/dnn/classification.py](https://github.com/opencv/opencv/blob/master/samples/dnn/classification.py). ``classification.py`` can be executed autonomously with provided converted model in ``--input`` and populated parameters for cv.dnn.blobFromImage.
|
The basis of the model testing is represented in [samples/dnn/classification.py](https://github.com/opencv/opencv/blob/4.x/samples/dnn/classification.py). ``classification.py`` can be executed autonomously with provided converted model in ``--input`` and populated parameters for cv.dnn.blobFromImage.
|
||||||
|
|
||||||
To reproduce from scratch the described in "Model Conversion Pipeline" OpenCV steps with ``dnn_model_runner`` execute the below line:
|
To reproduce from scratch the described in "Model Conversion Pipeline" OpenCV steps with ``dnn_model_runner`` execute the below line:
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ source <env_dir_path>/bin/activate
|
|||||||
|
|
||||||
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
For OpenCV-Python building from source, follow the corresponding instructions from the @ref tutorial_py_table_of_contents_setup.
|
||||||
|
|
||||||
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
Before you start the installation of the libraries, you can customize the [requirements.txt](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/requirements.txt), excluding or including (for example, ``opencv-python``) some dependencies.
|
||||||
The below line initiates requirements installation into the previously activated virtual environment:
|
The below line initiates requirements installation into the previously activated virtual environment:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
@ -98,7 +98,7 @@ To provide model inference we will use the below [double-decker bus photo](https
|
|||||||
To initiate the test process we need to provide an appropriate model configuration. We will use [``ssd_mobilenet_v1_coco.config``](https://github.com/tensorflow/models/blob/master/research/object_detection/samples/configs/ssd_mobilenet_v1_coco.config) from [TensorFlow Object Detection API](https://github.com/tensorflow/models/tree/master/research/object_detection#tensorflow-object-detection-api).
|
To initiate the test process we need to provide an appropriate model configuration. We will use [``ssd_mobilenet_v1_coco.config``](https://github.com/tensorflow/models/blob/master/research/object_detection/samples/configs/ssd_mobilenet_v1_coco.config) from [TensorFlow Object Detection API](https://github.com/tensorflow/models/tree/master/research/object_detection#tensorflow-object-detection-api).
|
||||||
TensorFlow Object Detection API framework contains helpful mechanisms for object detection model manipulations.
|
TensorFlow Object Detection API framework contains helpful mechanisms for object detection model manipulations.
|
||||||
|
|
||||||
We will use this configuration to provide a text graph representation. To generate ``.pbtxt`` we will use the corresponding [``samples/dnn/tf_text_graph_ssd.py``](https://github.com/opencv/opencv/blob/master/samples/dnn/tf_text_graph_ssd.py) script:
|
We will use this configuration to provide a text graph representation. To generate ``.pbtxt`` we will use the corresponding [``samples/dnn/tf_text_graph_ssd.py``](https://github.com/opencv/opencv/blob/4.x/samples/dnn/tf_text_graph_ssd.py) script:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
python tf_text_graph_ssd.py --input ssd_mobilenet_v1_coco_2017_11_17/frozen_inference_graph.pb --config ssd_mobilenet_v1_coco_2017_11_17/ssd_mobilenet_v1_coco.config --output ssd_mobilenet_v1_coco_2017_11_17.pbtxt
|
python tf_text_graph_ssd.py --input ssd_mobilenet_v1_coco_2017_11_17/frozen_inference_graph.pb --config ssd_mobilenet_v1_coco_2017_11_17/ssd_mobilenet_v1_coco.config --output ssd_mobilenet_v1_coco_2017_11_17.pbtxt
|
||||||
@ -106,7 +106,7 @@ python tf_text_graph_ssd.py --input ssd_mobilenet_v1_coco_2017_11_17/frozen_infe
|
|||||||
|
|
||||||
After successful execution ``ssd_mobilenet_v1_coco_2017_11_17.pbtxt`` will be created.
|
After successful execution ``ssd_mobilenet_v1_coco_2017_11_17.pbtxt`` will be created.
|
||||||
|
|
||||||
Before we run ``object_detection.py``, let's have a look at the default values for the SSD MobileNetV1 test process configuration. They are located in [``models.yml``](https://github.com/opencv/opencv/blob/master/samples/dnn/models.yml):
|
Before we run ``object_detection.py``, let's have a look at the default values for the SSD MobileNetV1 test process configuration. They are located in [``models.yml``](https://github.com/opencv/opencv/blob/4.x/samples/dnn/models.yml):
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
ssd_tf:
|
ssd_tf:
|
||||||
|
@ -258,7 +258,7 @@ python -m dnn_model_runner.dnn_conversion.pytorch.segmentation.py_to_py_segm --m
|
|||||||
|
|
||||||
Chosen from the list segmentation model will be read into OpenCV ``cv.dnn_Net`` object. Evaluation results of PyTorch and OpenCV models (pixel accuracy, mean IoU, inference time) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
Chosen from the list segmentation model will be read into OpenCV ``cv.dnn_Net`` object. Evaluation results of PyTorch and OpenCV models (pixel accuracy, mean IoU, inference time) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
||||||
|
|
||||||
Necessary evaluation configurations are defined in the [``test_config.py``](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py):
|
Necessary evaluation configurations are defined in the [``test_config.py``](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py):
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -290,7 +290,7 @@ python -m dnn_model_runner.dnn_conversion.pytorch.segmentation.py_to_py_segm --m
|
|||||||
|
|
||||||
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
||||||
|
|
||||||
Test configuration is represented in [``test_config.py``](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestSegmModuleConfig`` class:
|
Test configuration is represented in [``test_config.py``](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestSegmModuleConfig`` class:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
|
@ -338,7 +338,7 @@ python -m dnn_model_runner.dnn_conversion.tf.segmentation.py_to_py_segm
|
|||||||
|
|
||||||
The model will be read into OpenCV ``cv.dnn_Net`` object. Evaluation results of TF and OpenCV models (pixel accuracy, mean IoU, inference time) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
The model will be read into OpenCV ``cv.dnn_Net`` object. Evaluation results of TF and OpenCV models (pixel accuracy, mean IoU, inference time) will be written into the log file. Inference time values will be also depicted in a chart to generalize the obtained model information.
|
||||||
|
|
||||||
Necessary evaluation configurations are defined in the [``test_config.py``](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py):
|
Necessary evaluation configurations are defined in the [``test_config.py``](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py):
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
@ -364,7 +364,7 @@ python -m dnn_model_runner.dnn_conversion.tf.segmentation.py_to_py_segm --test T
|
|||||||
|
|
||||||
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
Here ``default_img_preprocess`` key defines whether you'd like to parametrize the model test process with some particular values or use the default values, for example, ``scale``, ``mean`` or ``std``.
|
||||||
|
|
||||||
Test configuration is represented in [``test_config.py``](https://github.com/opencv/opencv/tree/master/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestSegmModuleConfig`` class:
|
Test configuration is represented in [``test_config.py``](https://github.com/opencv/opencv/tree/4.x/samples/dnn/dnn_model_runner/dnn_conversion/common/test/configs/test_config.py) ``TestSegmModuleConfig`` class:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
@dataclass
|
@dataclass
|
||||||
|
@ -287,15 +287,15 @@ Output Examples:
|
|||||||
![Picture example](detect_test2.jpg)
|
![Picture example](detect_test2.jpg)
|
||||||
|
|
||||||
## Source Code
|
## Source Code
|
||||||
The [source code](https://github.com/opencv/opencv/blob/master/modules/dnn/src/model.cpp)
|
The [source code](https://github.com/opencv/opencv/blob/4.x/modules/dnn/src/model.cpp)
|
||||||
of these APIs can be found in the DNN module.
|
of these APIs can be found in the DNN module.
|
||||||
|
|
||||||
## Detailed Sample
|
## Detailed Sample
|
||||||
For more information, please refer to:
|
For more information, please refer to:
|
||||||
- [samples/dnn/scene_text_recognition.cpp](https://github.com/opencv/opencv/blob/master/samples/dnn/scene_text_recognition.cpp)
|
- [samples/dnn/scene_text_recognition.cpp](https://github.com/opencv/opencv/blob/4.x/samples/dnn/scene_text_recognition.cpp)
|
||||||
- [samples/dnn/scene_text_detection.cpp](https://github.com/opencv/opencv/blob/master/samples/dnn/scene_text_detection.cpp)
|
- [samples/dnn/scene_text_detection.cpp](https://github.com/opencv/opencv/blob/4.x/samples/dnn/scene_text_detection.cpp)
|
||||||
- [samples/dnn/text_detection.cpp](https://github.com/opencv/opencv/blob/master/samples/dnn/text_detection.cpp)
|
- [samples/dnn/text_detection.cpp](https://github.com/opencv/opencv/blob/4.x/samples/dnn/text_detection.cpp)
|
||||||
- [samples/dnn/scene_text_spotting.cpp](https://github.com/opencv/opencv/blob/master/samples/dnn/scene_text_spotting.cpp)
|
- [samples/dnn/scene_text_spotting.cpp](https://github.com/opencv/opencv/blob/4.x/samples/dnn/scene_text_spotting.cpp)
|
||||||
|
|
||||||
#### Test with an image
|
#### Test with an image
|
||||||
Examples:
|
Examples:
|
||||||
|
@ -29,8 +29,8 @@ Source Code
|
|||||||
-----------
|
-----------
|
||||||
|
|
||||||
Use a universal sample for object detection models written
|
Use a universal sample for object detection models written
|
||||||
[in C++](https://github.com/opencv/opencv/blob/master/samples/dnn/object_detection.cpp) and
|
[in C++](https://github.com/opencv/opencv/blob/4.x/samples/dnn/object_detection.cpp) and
|
||||||
[in Python](https://github.com/opencv/opencv/blob/master/samples/dnn/object_detection.py) languages
|
[in Python](https://github.com/opencv/opencv/blob/4.x/samples/dnn/object_detection.py) languages
|
||||||
|
|
||||||
Usage examples
|
Usage examples
|
||||||
--------------
|
--------------
|
||||||
|
@ -42,7 +42,7 @@ You can find the images (*graf1.png*, *graf3.png*) and homography (*H1to3p.xml*)
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/features2D/AKAZE_match.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/features2D/AKAZE_match.cpp
|
@include samples/cpp/tutorial_code/features2D/AKAZE_match.cpp
|
||||||
@ -50,7 +50,7 @@ You can find the images (*graf1.png*, *graf3.png*) and homography (*H1to3p.xml*)
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java
|
@include samples/java/tutorial_code/features2D/akaze_matching/AKAZEMatchDemo.java
|
||||||
@ -58,7 +58,7 @@ You can find the images (*graf1.png*, *graf3.png*) and homography (*H1to3p.xml*)
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py
|
@include samples/python/tutorial_code/features2D/akaze_matching/AKAZE_match.py
|
||||||
|
@ -34,19 +34,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp
|
@include samples/cpp/tutorial_code/features2D/feature_description/SURF_matching_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java)
|
||||||
@include samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java
|
@include samples/java/tutorial_code/features2D/feature_description/SURFMatchingDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py)
|
||||||
@include samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py
|
@include samples/python/tutorial_code/features2D/feature_description/SURF_matching_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -32,19 +32,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp
|
@include samples/cpp/tutorial_code/features2D/feature_detection/SURF_detection_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java)
|
||||||
@include samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java
|
@include samples/java/tutorial_code/features2D/feature_detection/SURFDetectionDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py)
|
||||||
@include samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py
|
@include samples/python/tutorial_code/features2D/feature_detection/SURF_detection_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -55,19 +55,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp
|
@include samples/cpp/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java)
|
||||||
@include samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java
|
@include samples/java/tutorial_code/features2D/feature_flann_matcher/SURFFLANNMatchingDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py)
|
||||||
@include samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py
|
@include samples/python/tutorial_code/features2D/feature_flann_matcher/SURF_FLANN_matching_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -30,19 +30,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp
|
@include samples/cpp/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java)
|
||||||
@include samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java
|
@include samples/java/tutorial_code/features2D/feature_homography/SURFFLANNMatchingHomographyDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py)
|
||||||
@include samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py
|
@include samples/python/tutorial_code/features2D/feature_homography/SURF_FLANN_matching_homography_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -20,10 +20,10 @@ For detailed explanations about the theory, please refer to a computer vision co
|
|||||||
* An Invitation to 3-D Vision: From Images to Geometric Models, @cite Ma:2003:IVI
|
* An Invitation to 3-D Vision: From Images to Geometric Models, @cite Ma:2003:IVI
|
||||||
* Computer Vision: Algorithms and Applications, @cite RS10
|
* Computer Vision: Algorithms and Applications, @cite RS10
|
||||||
|
|
||||||
The tutorial code can be found here [C++](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/features2D/Homography),
|
The tutorial code can be found here [C++](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/features2D/Homography),
|
||||||
[Python](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/features2D/Homography),
|
[Python](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/features2D/Homography),
|
||||||
[Java](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/features2D/Homography).
|
[Java](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/features2D/Homography).
|
||||||
The images used in this tutorial can be found [here](https://github.com/opencv/opencv/tree/master/samples/data) (`left*.jpg`).
|
The images used in this tutorial can be found [here](https://github.com/opencv/opencv/tree/4.x/samples/data) (`left*.jpg`).
|
||||||
|
|
||||||
Basic theory {#tutorial_homography_Basic_theory}
|
Basic theory {#tutorial_homography_Basic_theory}
|
||||||
------------
|
------------
|
||||||
|
@ -27,19 +27,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp
|
@include samples/cpp/tutorial_code/TrackingMotion/cornerSubPix_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/TrackingMotion/corner_subpixels/CornerSubPixDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/TrackingMotion/corner_subpixels/CornerSubPixDemo.java)
|
||||||
@include samples/java/tutorial_code/TrackingMotion/corner_subpixels/CornerSubPixDemo.java
|
@include samples/java/tutorial_code/TrackingMotion/corner_subpixels/CornerSubPixDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/TrackingMotion/corner_subpixels/cornerSubPix_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/TrackingMotion/corner_subpixels/cornerSubPix_Demo.py)
|
||||||
@include samples/python/tutorial_code/TrackingMotion/corner_subpixels/cornerSubPix_Demo.py
|
@include samples/python/tutorial_code/TrackingMotion/corner_subpixels/cornerSubPix_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -31,21 +31,21 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp)
|
||||||
|
|
||||||
@include samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp
|
@include samples/cpp/tutorial_code/TrackingMotion/cornerDetector_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/TrackingMotion/generic_corner_detector/CornerDetectorDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/TrackingMotion/generic_corner_detector/CornerDetectorDemo.java)
|
||||||
|
|
||||||
@include samples/java/tutorial_code/TrackingMotion/generic_corner_detector/CornerDetectorDemo.java
|
@include samples/java/tutorial_code/TrackingMotion/generic_corner_detector/CornerDetectorDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/TrackingMotion/generic_corner_detector/cornerDetector_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/TrackingMotion/generic_corner_detector/cornerDetector_Demo.py)
|
||||||
|
|
||||||
@include samples/python/tutorial_code/TrackingMotion/generic_corner_detector/cornerDetector_Demo.py
|
@include samples/python/tutorial_code/TrackingMotion/generic_corner_detector/cornerDetector_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
@ -26,19 +26,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp
|
@include samples/cpp/tutorial_code/TrackingMotion/goodFeaturesToTrack_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/TrackingMotion/good_features_to_track/GoodFeaturesToTrackDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/TrackingMotion/good_features_to_track/GoodFeaturesToTrackDemo.java)
|
||||||
@include samples/java/tutorial_code/TrackingMotion/good_features_to_track/GoodFeaturesToTrackDemo.java
|
@include samples/java/tutorial_code/TrackingMotion/good_features_to_track/GoodFeaturesToTrackDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/TrackingMotion/good_features_to_track/goodFeaturesToTrack_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/TrackingMotion/good_features_to_track/goodFeaturesToTrack_Demo.py)
|
||||||
@include samples/python/tutorial_code/TrackingMotion/good_features_to_track/goodFeaturesToTrack_Demo.py
|
@include samples/python/tutorial_code/TrackingMotion/good_features_to_track/goodFeaturesToTrack_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -129,19 +129,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp
|
@include samples/cpp/tutorial_code/TrackingMotion/cornerHarris_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/TrackingMotion/harris_detector/CornerHarrisDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/TrackingMotion/harris_detector/CornerHarrisDemo.java)
|
||||||
@include samples/java/tutorial_code/TrackingMotion/harris_detector/CornerHarrisDemo.java
|
@include samples/java/tutorial_code/TrackingMotion/harris_detector/CornerHarrisDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/TrackingMotion/harris_detector/cornerHarris_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/TrackingMotion/harris_detector/cornerHarris_Demo.py)
|
||||||
@include samples/python/tutorial_code/TrackingMotion/harris_detector/cornerHarris_Demo.py
|
@include samples/python/tutorial_code/TrackingMotion/harris_detector/cornerHarris_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ The source code
|
|||||||
|
|
||||||
You may also find the source code and the video file in the
|
You may also find the source code and the video file in the
|
||||||
`samples/cpp/tutorial_code/gpu/gpu-basics-similarity/gpu-basics-similarity` directory of the OpenCV
|
`samples/cpp/tutorial_code/gpu/gpu-basics-similarity/gpu-basics-similarity` directory of the OpenCV
|
||||||
source library or download it from [here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/gpu/gpu-basics-similarity/gpu-basics-similarity.cpp).
|
source library or download it from [here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/gpu/gpu-basics-similarity/gpu-basics-similarity.cpp).
|
||||||
The full source code is quite long (due to the controlling of the application via the command line
|
The full source code is quite long (due to the controlling of the application via the command line
|
||||||
arguments and performance measurement). Therefore, to avoid cluttering up these sections with those
|
arguments and performance measurement). Therefore, to avoid cluttering up these sections with those
|
||||||
you'll find here only the functions itself.
|
you'll find here only the functions itself.
|
||||||
|
@ -88,19 +88,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_1.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_1.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_1.cpp
|
@include samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_1.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgProc/BasicGeometricDrawing/BasicGeometricDrawing.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgProc/BasicGeometricDrawing/BasicGeometricDrawing.java)
|
||||||
@include samples/java/tutorial_code/ImgProc/BasicGeometricDrawing/BasicGeometricDrawing.java
|
@include samples/java/tutorial_code/ImgProc/BasicGeometricDrawing/BasicGeometricDrawing.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/imgProc/BasicGeometricDrawing/basic_geometric_drawing.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/imgProc/BasicGeometricDrawing/basic_geometric_drawing.py)
|
||||||
@include samples/python/tutorial_code/imgProc/BasicGeometricDrawing/basic_geometric_drawing.py
|
@include samples/python/tutorial_code/imgProc/BasicGeometricDrawing/basic_geometric_drawing.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -72,19 +72,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial's code is shown below. You can also download it
|
This tutorial's code is shown below. You can also download it
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp
|
@include samples/cpp/tutorial_code/ImgProc/Morphology_1.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial's code is shown below. You can also download it
|
This tutorial's code is shown below. You can also download it
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgProc/erosion_dilatation/MorphologyDemo1.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgProc/erosion_dilatation/MorphologyDemo1.java)
|
||||||
@include samples/java/tutorial_code/ImgProc/erosion_dilatation/MorphologyDemo1.java
|
@include samples/java/tutorial_code/ImgProc/erosion_dilatation/MorphologyDemo1.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial's code is shown below. You can also download it
|
This tutorial's code is shown below. You can also download it
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/imgProc/erosion_dilatation/morphology_1.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/imgProc/erosion_dilatation/morphology_1.py)
|
||||||
@include samples/python/tutorial_code/imgProc/erosion_dilatation/morphology_1.py
|
@include samples/python/tutorial_code/imgProc/erosion_dilatation/morphology_1.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@ -280,7 +280,7 @@ Results
|
|||||||
|
|
||||||
Compile the code above and execute it (or run the script if using python) with an image as argument.
|
Compile the code above and execute it (or run the script if using python) with an image as argument.
|
||||||
If you do not provide an image as argument the default sample image
|
If you do not provide an image as argument the default sample image
|
||||||
([LinuxLogo.jpg](https://github.com/opencv/opencv/tree/master/samples/data/LinuxLogo.jpg)) will be used.
|
([LinuxLogo.jpg](https://github.com/opencv/opencv/tree/4.x/samples/data/LinuxLogo.jpg)) will be used.
|
||||||
|
|
||||||
For instance, using this image:
|
For instance, using this image:
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp
|
@include samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp
|
||||||
@ -113,7 +113,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgProc/Smoothing/Smoothing.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgProc/Smoothing/Smoothing.java)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/java/tutorial_code/ImgProc/Smoothing/Smoothing.java
|
@include samples/java/tutorial_code/ImgProc/Smoothing/Smoothing.java
|
||||||
@ -121,7 +121,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/imgProc/Smoothing/smoothing.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/imgProc/Smoothing/smoothing.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/imgProc/Smoothing/smoothing.py
|
@include samples/python/tutorial_code/imgProc/Smoothing/smoothing.py
|
||||||
@ -228,7 +228,7 @@ already known by now.
|
|||||||
Results
|
Results
|
||||||
-------
|
-------
|
||||||
|
|
||||||
- The code opens an image (in this case [lena.jpg](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/lena.jpg))
|
- The code opens an image (in this case [lena.jpg](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/lena.jpg))
|
||||||
and display it under the effects of the 4 filters explained.
|
and display it under the effects of the 4 filters explained.
|
||||||
- Here is a snapshot of the image smoothed using *medianBlur*:
|
- Here is a snapshot of the image smoothed using *medianBlur*:
|
||||||
|
|
||||||
|
@ -81,13 +81,13 @@ Code
|
|||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**:
|
- **Downloadable code**:
|
||||||
- Click
|
- Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/Histograms_Matching/calcBackProject_Demo1.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/Histograms_Matching/calcBackProject_Demo1.cpp)
|
||||||
for the basic version (explained in this tutorial).
|
for the basic version (explained in this tutorial).
|
||||||
- For stuff slightly fancier (using H-S histograms and floodFill to define a mask for the
|
- For stuff slightly fancier (using H-S histograms and floodFill to define a mask for the
|
||||||
skin area) you can check the [improved
|
skin area) you can check the [improved
|
||||||
demo](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/Histograms_Matching/calcBackProject_Demo2.cpp)
|
demo](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/Histograms_Matching/calcBackProject_Demo2.cpp)
|
||||||
- ...or you can always check out the classical
|
- ...or you can always check out the classical
|
||||||
[camshiftdemo](https://github.com/opencv/opencv/tree/master/samples/cpp/camshiftdemo.cpp)
|
[camshiftdemo](https://github.com/opencv/opencv/tree/4.x/samples/cpp/camshiftdemo.cpp)
|
||||||
in samples.
|
in samples.
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@ -97,13 +97,13 @@ Code
|
|||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**:
|
- **Downloadable code**:
|
||||||
- Click
|
- Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/Histograms_Matching/back_projection/CalcBackProjectDemo1.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/Histograms_Matching/back_projection/CalcBackProjectDemo1.java)
|
||||||
for the basic version (explained in this tutorial).
|
for the basic version (explained in this tutorial).
|
||||||
- For stuff slightly fancier (using H-S histograms and floodFill to define a mask for the
|
- For stuff slightly fancier (using H-S histograms and floodFill to define a mask for the
|
||||||
skin area) you can check the [improved
|
skin area) you can check the [improved
|
||||||
demo](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/Histograms_Matching/back_projection/CalcBackProjectDemo2.java)
|
demo](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/Histograms_Matching/back_projection/CalcBackProjectDemo2.java)
|
||||||
- ...or you can always check out the classical
|
- ...or you can always check out the classical
|
||||||
[camshiftdemo](https://github.com/opencv/opencv/tree/master/samples/cpp/camshiftdemo.cpp)
|
[camshiftdemo](https://github.com/opencv/opencv/tree/4.x/samples/cpp/camshiftdemo.cpp)
|
||||||
in samples.
|
in samples.
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@ -113,13 +113,13 @@ Code
|
|||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**:
|
- **Downloadable code**:
|
||||||
- Click
|
- Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/Histograms_Matching/back_projection/calcBackProject_Demo1.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/Histograms_Matching/back_projection/calcBackProject_Demo1.py)
|
||||||
for the basic version (explained in this tutorial).
|
for the basic version (explained in this tutorial).
|
||||||
- For stuff slightly fancier (using H-S histograms and floodFill to define a mask for the
|
- For stuff slightly fancier (using H-S histograms and floodFill to define a mask for the
|
||||||
skin area) you can check the [improved
|
skin area) you can check the [improved
|
||||||
demo](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/Histograms_Matching/back_projection/calcBackProject_Demo2.py)
|
demo](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/Histograms_Matching/back_projection/calcBackProject_Demo2.py)
|
||||||
- ...or you can always check out the classical
|
- ...or you can always check out the classical
|
||||||
[camshiftdemo](https://github.com/opencv/opencv/tree/master/samples/cpp/camshiftdemo.cpp)
|
[camshiftdemo](https://github.com/opencv/opencv/tree/4.x/samples/cpp/camshiftdemo.cpp)
|
||||||
in samples.
|
in samples.
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
|
@ -79,7 +79,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp
|
@include samples/cpp/tutorial_code/Histograms_Matching/calcHist_Demo.cpp
|
||||||
@ -87,7 +87,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/Histograms_Matching/histogram_calculation/CalcHistDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/Histograms_Matching/histogram_calculation/CalcHistDemo.java)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/java/tutorial_code/Histograms_Matching/histogram_calculation/CalcHistDemo.java
|
@include samples/java/tutorial_code/Histograms_Matching/histogram_calculation/CalcHistDemo.java
|
||||||
@ -95,7 +95,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/Histograms_Matching/histogram_calculation/calcHist_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/Histograms_Matching/histogram_calculation/calcHist_Demo.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/Histograms_Matching/histogram_calculation/calcHist_Demo.py
|
@include samples/python/tutorial_code/Histograms_Matching/histogram_calculation/calcHist_Demo.py
|
||||||
|
@ -56,7 +56,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/Histograms_Matching/compareHist_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/Histograms_Matching/compareHist_Demo.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/Histograms_Matching/compareHist_Demo.cpp
|
@include samples/cpp/tutorial_code/Histograms_Matching/compareHist_Demo.cpp
|
||||||
@ -64,7 +64,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/Histograms_Matching/histogram_comparison/CompareHistDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/Histograms_Matching/histogram_comparison/CompareHistDemo.java)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/java/tutorial_code/Histograms_Matching/histogram_comparison/CompareHistDemo.java
|
@include samples/java/tutorial_code/Histograms_Matching/histogram_comparison/CompareHistDemo.java
|
||||||
@ -72,7 +72,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/Histograms_Matching/histogram_comparison/compareHist_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/Histograms_Matching/histogram_comparison/compareHist_Demo.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/Histograms_Matching/histogram_comparison/compareHist_Demo.py
|
@include samples/python/tutorial_code/Histograms_Matching/histogram_comparison/compareHist_Demo.py
|
||||||
|
@ -74,7 +74,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp
|
@include samples/cpp/tutorial_code/Histograms_Matching/EqualizeHist_Demo.cpp
|
||||||
@ -82,7 +82,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHistDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHistDemo.java)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/java/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHistDemo.java
|
@include samples/java/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHistDemo.java
|
||||||
@ -90,7 +90,7 @@ Code
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHist_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHist_Demo.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHist_Demo.py
|
@include samples/python/tutorial_code/Histograms_Matching/histogram_equalization/EqualizeHist_Demo.py
|
||||||
|
@ -137,7 +137,7 @@ Code
|
|||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
|
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp)
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp
|
@include samples/cpp/tutorial_code/Histograms_Matching/MatchTemplate_Demo.cpp
|
||||||
|
|
||||||
@ -146,7 +146,7 @@ Code
|
|||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
|
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgProc/tutorial_template_matching/MatchTemplateDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgProc/tutorial_template_matching/MatchTemplateDemo.java)
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/java/tutorial_code/ImgProc/tutorial_template_matching/MatchTemplateDemo.java
|
@include samples/java/tutorial_code/ImgProc/tutorial_template_matching/MatchTemplateDemo.java
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ Code
|
|||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
|
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/imgProc/match_template/match_template.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/imgProc/match_template/match_template.py)
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/imgProc/match_template/match_template.py
|
@include samples/python/tutorial_code/imgProc/match_template/match_template.py
|
||||||
|
|
||||||
|
@ -55,19 +55,19 @@ The code corresponding to the previous example is shown below.
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/HitMiss/HitMiss.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/HitMiss/HitMiss.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgProc/HitMiss/HitMiss.cpp
|
@include samples/cpp/tutorial_code/ImgProc/HitMiss/HitMiss.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgProc/HitMiss/HitMiss.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgProc/HitMiss/HitMiss.java)
|
||||||
@include samples/java/tutorial_code/ImgProc/HitMiss/HitMiss.java
|
@include samples/java/tutorial_code/ImgProc/HitMiss/HitMiss.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/imgProc/HitMiss/hit_miss.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/imgProc/HitMiss/hit_miss.py)
|
||||||
@include samples/python/tutorial_code/imgProc/HitMiss/hit_miss.py
|
@include samples/python/tutorial_code/imgProc/HitMiss/hit_miss.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -78,19 +78,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- The tutorial code's is shown lines below. You can also download it from
|
- The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/CannyDetector_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- The tutorial code's is shown lines below. You can also download it from
|
- The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgTrans/canny_detector/CannyDetectorDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgTrans/canny_detector/CannyDetectorDemo.java)
|
||||||
@include samples/java/tutorial_code/ImgTrans/canny_detector/CannyDetectorDemo.java
|
@include samples/java/tutorial_code/ImgTrans/canny_detector/CannyDetectorDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- The tutorial code's is shown lines below. You can also download it from
|
- The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ImgTrans/canny_detector/CannyDetector_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ImgTrans/canny_detector/CannyDetector_Demo.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/canny_detector/CannyDetector_Demo.py
|
@include samples/python/tutorial_code/ImgTrans/canny_detector/CannyDetector_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -59,19 +59,19 @@ The tutorial code's is shown lines below.
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/copyMakeBorder_demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgTrans/MakeBorder/CopyMakeBorder.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgTrans/MakeBorder/CopyMakeBorder.java)
|
||||||
@include samples/java/tutorial_code/ImgTrans/MakeBorder/CopyMakeBorder.java
|
@include samples/java/tutorial_code/ImgTrans/MakeBorder/CopyMakeBorder.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/MakeBorder/copy_make_border.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/MakeBorder/copy_make_border.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/MakeBorder/copy_make_border.py
|
@include samples/python/tutorial_code/ImgTrans/MakeBorder/copy_make_border.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -28,19 +28,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp).
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp).
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/imageSegmentation.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgTrans/distance_transformation/ImageSegmentationDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgTrans/distance_transformation/ImageSegmentationDemo.java)
|
||||||
@include samples/java/tutorial_code/ImgTrans/distance_transformation/ImageSegmentationDemo.java
|
@include samples/java/tutorial_code/ImgTrans/distance_transformation/ImageSegmentationDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ImgTrans/distance_transformation/imageSegmentation.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ImgTrans/distance_transformation/imageSegmentation.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/distance_transformation/imageSegmentation.py
|
@include samples/python/tutorial_code/ImgTrans/distance_transformation/imageSegmentation.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -75,19 +75,19 @@ The tutorial code's is shown in the lines below.
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/filter2D_demo.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/filter2D_demo.cpp)
|
||||||
@include cpp/tutorial_code/ImgTrans/filter2D_demo.cpp
|
@include cpp/tutorial_code/ImgTrans/filter2D_demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgTrans/Filter2D/Filter2D_Demo.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgTrans/Filter2D/Filter2D_Demo.java)
|
||||||
@include java/tutorial_code/ImgTrans/Filter2D/Filter2D_Demo.java
|
@include java/tutorial_code/ImgTrans/Filter2D/Filter2D_Demo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/Filter2D/filter2D.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/Filter2D/filter2D.py)
|
||||||
@include python/tutorial_code/ImgTrans/Filter2D/filter2D.py
|
@include python/tutorial_code/ImgTrans/Filter2D/filter2D.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -51,28 +51,28 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
The sample code that we will explain can be downloaded from
|
The sample code that we will explain can be downloaded from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp).
|
||||||
A slightly fancier version (which shows trackbars for changing the threshold values) can be found
|
A slightly fancier version (which shows trackbars for changing the threshold values) can be found
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/HoughCircle_Demo.cpp).
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/houghcircles.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
The sample code that we will explain can be downloaded from
|
The sample code that we will explain can be downloaded from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgTrans/HoughCircle/HoughCircles.java).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgTrans/HoughCircle/HoughCircles.java).
|
||||||
@include samples/java/tutorial_code/ImgTrans/HoughCircle/HoughCircles.java
|
@include samples/java/tutorial_code/ImgTrans/HoughCircle/HoughCircles.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
The sample code that we will explain can be downloaded from
|
The sample code that we will explain can be downloaded from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/HoughCircle/hough_circle.py).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/HoughCircle/hough_circle.py).
|
||||||
@include samples/python/tutorial_code/ImgTrans/HoughCircle/hough_circle.py
|
@include samples/python/tutorial_code/ImgTrans/HoughCircle/hough_circle.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
Explanation
|
Explanation
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
The image we used can be found [here](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/smarties.png)
|
The image we used can be found [here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/smarties.png)
|
||||||
|
|
||||||
#### Load an image:
|
#### Load an image:
|
||||||
|
|
||||||
|
@ -107,22 +107,22 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
The sample code that we will explain can be downloaded from
|
The sample code that we will explain can be downloaded from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/houghlines.cpp).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/houghlines.cpp).
|
||||||
A slightly fancier version (which shows both Hough standard and probabilistic
|
A slightly fancier version (which shows both Hough standard and probabilistic
|
||||||
with trackbars for changing the threshold values) can be found
|
with trackbars for changing the threshold values) can be found
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/HoughLines_Demo.cpp).
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/houghlines.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/houghlines.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
The sample code that we will explain can be downloaded from
|
The sample code that we will explain can be downloaded from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgTrans/HoughLine/HoughLines.java).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgTrans/HoughLine/HoughLines.java).
|
||||||
@include samples/java/tutorial_code/ImgTrans/HoughLine/HoughLines.java
|
@include samples/java/tutorial_code/ImgTrans/HoughLine/HoughLines.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
The sample code that we will explain can be downloaded from
|
The sample code that we will explain can be downloaded from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/HoughLine/hough_lines.py).
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/HoughLine/hough_lines.py).
|
||||||
@include samples/python/tutorial_code/ImgTrans/HoughLine/hough_lines.py
|
@include samples/python/tutorial_code/ImgTrans/HoughLine/hough_lines.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@ -278,7 +278,7 @@ Result
|
|||||||
section. It still implements the same stuff as above, only adding the Trackbar for the
|
section. It still implements the same stuff as above, only adding the Trackbar for the
|
||||||
Threshold.
|
Threshold.
|
||||||
|
|
||||||
Using an input image such as a [sudoku image](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/sudoku.png).
|
Using an input image such as a [sudoku image](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/sudoku.png).
|
||||||
We get the following result by using the Standard Hough Line Transform:
|
We get the following result by using the Standard Hough Line Transform:
|
||||||
![](images/hough_lines_result1.png)
|
![](images/hough_lines_result1.png)
|
||||||
And by using the Probabilistic Hough Line Transform:
|
And by using the Probabilistic Hough Line Transform:
|
||||||
|
@ -62,19 +62,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
-# The tutorial code's is shown lines below. You can also download it from
|
-# The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/Laplace_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
-# The tutorial code's is shown lines below. You can also download it from
|
-# The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgTrans/LaPlace/LaplaceDemo.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgTrans/LaPlace/LaplaceDemo.java)
|
||||||
@include samples/java/tutorial_code/ImgTrans/LaPlace/LaplaceDemo.java
|
@include samples/java/tutorial_code/ImgTrans/LaPlace/LaplaceDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
-# The tutorial code's is shown lines below. You can also download it from
|
-# The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/LaPlace/laplace_demo.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/LaPlace/laplace_demo.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/LaPlace/laplace_demo.py
|
@include samples/python/tutorial_code/ImgTrans/LaPlace/laplace_demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -63,19 +63,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- The tutorial code's is shown lines below. You can also download it from
|
- The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/Remap_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- The tutorial code's is shown lines below. You can also download it from
|
- The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgTrans/remap/RemapDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgTrans/remap/RemapDemo.java)
|
||||||
@include samples/java/tutorial_code/ImgTrans/remap/RemapDemo.java
|
@include samples/java/tutorial_code/ImgTrans/remap/RemapDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- The tutorial code's is shown lines below. You can also download it from
|
- The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ImgTrans/remap/Remap_Demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ImgTrans/remap/Remap_Demo.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/remap/Remap_Demo.py
|
@include samples/python/tutorial_code/ImgTrans/remap/Remap_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -121,19 +121,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/Sobel_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgTrans/SobelDemo/SobelDemo.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgTrans/SobelDemo/SobelDemo.java)
|
||||||
@include samples/java/tutorial_code/ImgTrans/SobelDemo/SobelDemo.java
|
@include samples/java/tutorial_code/ImgTrans/SobelDemo/SobelDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/SobelDemo/sobel_demo.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/SobelDemo/sobel_demo.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/SobelDemo/sobel_demo.py
|
@include samples/python/tutorial_code/ImgTrans/SobelDemo/sobel_demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -100,19 +100,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- The tutorial's code is shown below. You can also download it
|
- The tutorial's code is shown below. You can also download it
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgTrans/Geometric_Transforms_Demo.cpp
|
@include samples/cpp/tutorial_code/ImgTrans/Geometric_Transforms_Demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
- The tutorial's code is shown below. You can also download it
|
- The tutorial's code is shown below. You can also download it
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/Smoothing/Smoothing.cpp)
|
||||||
@include samples/java/tutorial_code/ImgTrans/warp_affine/GeometricTransformsDemo.java
|
@include samples/java/tutorial_code/ImgTrans/warp_affine/GeometricTransformsDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- The tutorial's code is shown below. You can also download it
|
- The tutorial's code is shown below. You can also download it
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/ImgTrans/warp_affine/Geometric_Transforms_Demo.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/ImgTrans/warp_affine/Geometric_Transforms_Demo.py)
|
||||||
@include samples/python/tutorial_code/ImgTrans/warp_affine/Geometric_Transforms_Demo.py
|
@include samples/python/tutorial_code/ImgTrans/warp_affine/Geometric_Transforms_Demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -61,24 +61,24 @@ Code
|
|||||||
This tutorial code's is shown lines below.
|
This tutorial code's is shown lines below.
|
||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can also download it from [here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp).
|
You can also download it from [here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp).
|
||||||
@include samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp
|
@include samples/cpp/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can also download it from [here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.java).
|
You can also download it from [here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.java).
|
||||||
@include samples/java/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.java
|
@include samples/java/tutorial_code/ImgProc/morph_lines_detection/Morphology_3.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can also download it from [here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/imgProc/morph_lines_detection/morph_lines_detection.py).
|
You can also download it from [here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/imgProc/morph_lines_detection/morph_lines_detection.py).
|
||||||
@include samples/python/tutorial_code/imgProc/morph_lines_detection/morph_lines_detection.py
|
@include samples/python/tutorial_code/imgProc/morph_lines_detection/morph_lines_detection.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
Explanation / Result
|
Explanation / Result
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
Get image from [here](https://raw.githubusercontent.com/opencv/opencv/master/doc/tutorials/imgproc/morph_lines_detection/images/src.png) .
|
Get image from [here](https://raw.githubusercontent.com/opencv/opencv/4.x/doc/tutorials/imgproc/morph_lines_detection/images/src.png) .
|
||||||
|
|
||||||
#### Load Image
|
#### Load Image
|
||||||
|
|
||||||
|
@ -91,19 +91,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial's code is shown below. You can also download it
|
This tutorial's code is shown below. You can also download it
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgProc/Morphology_2.cpp)
|
||||||
@include cpp/tutorial_code/ImgProc/Morphology_2.cpp
|
@include cpp/tutorial_code/ImgProc/Morphology_2.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial's code is shown below. You can also download it
|
This tutorial's code is shown below. You can also download it
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgProc/opening_closing_hats/MorphologyDemo2.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgProc/opening_closing_hats/MorphologyDemo2.java)
|
||||||
@include java/tutorial_code/ImgProc/opening_closing_hats/MorphologyDemo2.java
|
@include java/tutorial_code/ImgProc/opening_closing_hats/MorphologyDemo2.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial's code is shown below. You can also download it
|
This tutorial's code is shown below. You can also download it
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/imgProc/opening_closing_hats/morphology_2.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/imgProc/opening_closing_hats/morphology_2.py)
|
||||||
@include python/tutorial_code/imgProc/opening_closing_hats/morphology_2.py
|
@include python/tutorial_code/imgProc/opening_closing_hats/morphology_2.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -79,19 +79,19 @@ This tutorial code's is shown lines below.
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp
|
@include samples/cpp/tutorial_code/ImgProc/Pyramids/Pyramids.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/java/tutorial_code/ImgProc/Pyramids/Pyramids.java)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/java/tutorial_code/ImgProc/Pyramids/Pyramids.java)
|
||||||
@include samples/java/tutorial_code/ImgProc/Pyramids/Pyramids.java
|
@include samples/java/tutorial_code/ImgProc/Pyramids/Pyramids.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
You can also download it from
|
You can also download it from
|
||||||
[here](https://raw.githubusercontent.com/opencv/opencv/master/samples/python/tutorial_code/imgProc/Pyramids/pyramids.py)
|
[here](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/python/tutorial_code/imgProc/Pyramids/pyramids.py)
|
||||||
@include samples/python/tutorial_code/imgProc/Pyramids/pyramids.py
|
@include samples/python/tutorial_code/imgProc/Pyramids/pyramids.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@ -191,7 +191,7 @@ Otherwise, an error will be shown.
|
|||||||
Results
|
Results
|
||||||
-------
|
-------
|
||||||
|
|
||||||
- The program calls by default an image [chicky_512.png](https://raw.githubusercontent.com/opencv/opencv/master/samples/data/chicky_512.png)
|
- The program calls by default an image [chicky_512.png](https://raw.githubusercontent.com/opencv/opencv/4.x/samples/data/chicky_512.png)
|
||||||
that comes in the `samples/data` folder. Notice that this image is \f$512 \times 512\f$,
|
that comes in the `samples/data` folder. Notice that this image is \f$512 \times 512\f$,
|
||||||
hence a downsample won't generate any error (\f$512 = 2^{9}\f$). The original image is shown below:
|
hence a downsample won't generate any error (\f$512 = 2^{9}\f$). The original image is shown below:
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ Code
|
|||||||
to populate our image with a big number of geometric figures. Since we will be initializing them
|
to populate our image with a big number of geometric figures. Since we will be initializing them
|
||||||
in a random fashion, this process will be automatic and made by using *loops* .
|
in a random fashion, this process will be automatic and made by using *loops* .
|
||||||
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
- This code is in your OpenCV sample folder. Otherwise you can grab it from
|
||||||
[here](http://code.opencv.org/projects/opencv/repository/revisions/master/raw/samples/cpp/tutorial_code/core/Matrix/Drawing_2.cpp)
|
[here](https://github.com/opencv/opencv/blob/4.x/samples/cpp/tutorial_code/ImgProc/basic_drawing/Drawing_2.cpp)
|
||||||
|
|
||||||
Explanation
|
Explanation
|
||||||
-----------
|
-----------
|
||||||
|
@ -27,19 +27,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp)
|
||||||
@include samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp
|
@include samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo1.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ShapeDescriptors/bounding_rects_circles/GeneralContoursDemo1.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ShapeDescriptors/bounding_rects_circles/GeneralContoursDemo1.java)
|
||||||
@include samples/java/tutorial_code/ShapeDescriptors/bounding_rects_circles/GeneralContoursDemo1.java
|
@include samples/java/tutorial_code/ShapeDescriptors/bounding_rects_circles/GeneralContoursDemo1.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ShapeDescriptors/bounding_rects_circles/generalContours_demo1.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ShapeDescriptors/bounding_rects_circles/generalContours_demo1.py)
|
||||||
@include samples/python/tutorial_code/ShapeDescriptors/bounding_rects_circles/generalContours_demo1.py
|
@include samples/python/tutorial_code/ShapeDescriptors/bounding_rects_circles/generalContours_demo1.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -27,19 +27,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp)
|
||||||
@include samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp
|
@include samples/cpp/tutorial_code/ShapeDescriptors/generalContours_demo2.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/GeneralContoursDemo2.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/GeneralContoursDemo2.java)
|
||||||
@include samples/java/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/GeneralContoursDemo2.java
|
@include samples/java/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/GeneralContoursDemo2.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/generalContours_demo2.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/generalContours_demo2.py)
|
||||||
@include samples/python/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/generalContours_demo2.py
|
@include samples/python/tutorial_code/ShapeDescriptors/bounding_rotated_ellipses/generalContours_demo2.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -27,19 +27,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp
|
@include samples/cpp/tutorial_code/ShapeDescriptors/findContours_demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ShapeDescriptors/find_contours/FindContoursDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ShapeDescriptors/find_contours/FindContoursDemo.java)
|
||||||
@include samples/java/tutorial_code/ShapeDescriptors/find_contours/FindContoursDemo.java
|
@include samples/java/tutorial_code/ShapeDescriptors/find_contours/FindContoursDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ShapeDescriptors/find_contours/findContours_demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ShapeDescriptors/find_contours/findContours_demo.py)
|
||||||
@include samples/python/tutorial_code/ShapeDescriptors/find_contours/findContours_demo.py
|
@include samples/python/tutorial_code/ShapeDescriptors/find_contours/findContours_demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -26,19 +26,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp
|
@include samples/cpp/tutorial_code/ShapeDescriptors/hull_demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ShapeDescriptors/hull/HullDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ShapeDescriptors/hull/HullDemo.java)
|
||||||
@include samples/java/tutorial_code/ShapeDescriptors/hull/HullDemo.java
|
@include samples/java/tutorial_code/ShapeDescriptors/hull/HullDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ShapeDescriptors/hull/hull_demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ShapeDescriptors/hull/hull_demo.py)
|
||||||
@include samples/python/tutorial_code/ShapeDescriptors/hull/hull_demo.py
|
@include samples/python/tutorial_code/ShapeDescriptors/hull/hull_demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -28,19 +28,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp
|
@include samples/cpp/tutorial_code/ShapeDescriptors/moments_demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ShapeDescriptors/moments/MomentsDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ShapeDescriptors/moments/MomentsDemo.java)
|
||||||
@include samples/java/tutorial_code/ShapeDescriptors/moments/MomentsDemo.java
|
@include samples/java/tutorial_code/ShapeDescriptors/moments/MomentsDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ShapeDescriptors/moments/moments_demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ShapeDescriptors/moments/moments_demo.py)
|
||||||
@include samples/python/tutorial_code/ShapeDescriptors/moments/moments_demo.py
|
@include samples/python/tutorial_code/ShapeDescriptors/moments/moments_demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -26,19 +26,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ShapeDescriptors/pointPolygonTest_demo.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ShapeDescriptors/pointPolygonTest_demo.cpp)
|
||||||
@include samples/cpp/tutorial_code/ShapeDescriptors/pointPolygonTest_demo.cpp
|
@include samples/cpp/tutorial_code/ShapeDescriptors/pointPolygonTest_demo.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ShapeDescriptors/point_polygon_test/PointPolygonTestDemo.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ShapeDescriptors/point_polygon_test/PointPolygonTestDemo.java)
|
||||||
@include samples/java/tutorial_code/ShapeDescriptors/point_polygon_test/PointPolygonTestDemo.java
|
@include samples/java/tutorial_code/ShapeDescriptors/point_polygon_test/PointPolygonTestDemo.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
This tutorial code's is shown lines below. You can also download it from
|
This tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/ShapeDescriptors/point_polygon_test/pointPolygonTest_demo.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/ShapeDescriptors/point_polygon_test/pointPolygonTest_demo.py)
|
||||||
@include samples/python/tutorial_code/ShapeDescriptors/point_polygon_test/pointPolygonTest_demo.py
|
@include samples/python/tutorial_code/ShapeDescriptors/point_polygon_test/pointPolygonTest_demo.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -108,19 +108,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
The tutorial code's is shown lines below. You can also download it from
|
The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgProc/Threshold.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgProc/Threshold.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgProc/Threshold.cpp
|
@include samples/cpp/tutorial_code/ImgProc/Threshold.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
The tutorial code's is shown lines below. You can also download it from
|
The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgProc/threshold/Threshold.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgProc/threshold/Threshold.java)
|
||||||
@include samples/java/tutorial_code/ImgProc/threshold/Threshold.java
|
@include samples/java/tutorial_code/ImgProc/threshold/Threshold.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
The tutorial code's is shown lines below. You can also download it from
|
The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/imgProc/threshold/threshold.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/imgProc/threshold/threshold.py)
|
||||||
@include samples/python/tutorial_code/imgProc/threshold/threshold.py
|
@include samples/python/tutorial_code/imgProc/threshold/threshold.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -50,19 +50,19 @@ Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
The tutorial code's is shown lines below. You can also download it from
|
The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp)
|
||||||
@include samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp
|
@include samples/cpp/tutorial_code/ImgProc/Threshold_inRange.cpp
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_java
|
@add_toggle_java
|
||||||
The tutorial code's is shown lines below. You can also download it from
|
The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/java/tutorial_code/ImgProc/threshold_inRange/ThresholdInRange.java)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/java/tutorial_code/ImgProc/threshold_inRange/ThresholdInRange.java)
|
||||||
@include samples/java/tutorial_code/ImgProc/threshold_inRange/ThresholdInRange.java
|
@include samples/java/tutorial_code/ImgProc/threshold_inRange/ThresholdInRange.java
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
The tutorial code's is shown lines below. You can also download it from
|
The tutorial code's is shown lines below. You can also download it from
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/imgProc/threshold_inRange/threshold_inRange.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/imgProc/threshold_inRange/threshold_inRange.py)
|
||||||
@include samples/python/tutorial_code/imgProc/threshold_inRange/threshold_inRange.py
|
@include samples/python/tutorial_code/imgProc/threshold_inRange/threshold_inRange.py
|
||||||
@end_toggle
|
@end_toggle
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ The structure of package contents looks as follows:
|
|||||||
|
|
||||||
- `doc` folder contains various OpenCV documentation in PDF format. It's also available online at
|
- `doc` folder contains various OpenCV documentation in PDF format. It's also available online at
|
||||||
<http://docs.opencv.org>.
|
<http://docs.opencv.org>.
|
||||||
@note The most recent docs (nightly build) are at <http://docs.opencv.org/master>. Generally, it's more
|
@note The most recent docs (nightly build) are at <http://docs.opencv.org/4.x>. Generally, it's more
|
||||||
up-to-date, but can refer to not-yet-released functionality.
|
up-to-date, but can refer to not-yet-released functionality.
|
||||||
@todo I'm not sure that this is the best place to talk about OpenCV Manager
|
@todo I'm not sure that this is the best place to talk about OpenCV Manager
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ If you need help with anything of the above, you may refer to our @ref tutorial_
|
|||||||
This tutorial also assumes you have an Android operated device with OpenCL enabled.
|
This tutorial also assumes you have an Android operated device with OpenCL enabled.
|
||||||
|
|
||||||
The related source code is located within OpenCV samples at
|
The related source code is located within OpenCV samples at
|
||||||
[opencv/samples/android/tutorial-4-opencl](https://github.com/opencv/opencv/tree/master/samples/android/tutorial-4-opencl/) directory.
|
[opencv/samples/android/tutorial-4-opencl](https://github.com/opencv/opencv/tree/4.x/samples/android/tutorial-4-opencl/) directory.
|
||||||
|
|
||||||
Preface
|
Preface
|
||||||
-------
|
-------
|
||||||
@ -255,7 +255,7 @@ As you can see, inheritors for `Camera` and `Camera2` APIs should implement the
|
|||||||
@endcode
|
@endcode
|
||||||
|
|
||||||
Let's leave the details of their implementation beyond of this tutorial, please refer the
|
Let's leave the details of their implementation beyond of this tutorial, please refer the
|
||||||
[source code](https://github.com/opencv/opencv/tree/master/samples/android/tutorial-4-opencl/) to see them.
|
[source code](https://github.com/opencv/opencv/tree/4.x/samples/android/tutorial-4-opencl/) to see them.
|
||||||
|
|
||||||
Preview Frames modification
|
Preview Frames modification
|
||||||
---------------------------
|
---------------------------
|
||||||
|
@ -313,7 +313,7 @@ Then you can start interacting with OpenCV by just referencing the fully qualifi
|
|||||||
classes.
|
classes.
|
||||||
|
|
||||||
@note
|
@note
|
||||||
[Here](https://docs.opencv.org/master/javadoc/index.html) you can find the full OpenCV Java API.
|
[Here](https://docs.opencv.org/4.x/javadoc/index.html) you can find the full OpenCV Java API.
|
||||||
|
|
||||||
@code{.clojure}
|
@code{.clojure}
|
||||||
user=> (org.opencv.core.Point. 0 0)
|
user=> (org.opencv.core.Point. 0 0)
|
||||||
|
@ -339,7 +339,7 @@ Integration with [FFmpeg](https://en.wikipedia.org/wiki/FFmpeg) library for deco
|
|||||||
- _swscale_
|
- _swscale_
|
||||||
- _avresample_ (optional)
|
- _avresample_ (optional)
|
||||||
|
|
||||||
Exception is Windows platform where a prebuilt [plugin library containing FFmpeg](https://github.com/opencv/opencv_3rdparty/tree/ffmpeg/master) will be downloaded during a configuration stage and copied to the `bin` folder with all produced libraries.
|
Exception is Windows platform where a prebuilt [plugin library containing FFmpeg](https://github.com/opencv/opencv_3rdparty/tree/ffmpeg/4.x) will be downloaded during a configuration stage and copied to the `bin` folder with all produced libraries.
|
||||||
|
|
||||||
@note [Libav](https://en.wikipedia.org/wiki/Libav) library can be used instead of FFmpeg, but this combination is not actively supported.
|
@note [Libav](https://en.wikipedia.org/wiki/Libav) library can be used instead of FFmpeg, but this combination is not actively supported.
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ Source Code
|
|||||||
|
|
||||||
@add_toggle_cpp
|
@add_toggle_cpp
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/cpp/tutorial_code/introduction/display_image/display_image.cpp)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/cpp/tutorial_code/introduction/display_image/display_image.cpp
|
@include samples/cpp/tutorial_code/introduction/display_image/display_image.cpp
|
||||||
@ -34,7 +34,7 @@ Source Code
|
|||||||
|
|
||||||
@add_toggle_python
|
@add_toggle_python
|
||||||
- **Downloadable code**: Click
|
- **Downloadable code**: Click
|
||||||
[here](https://github.com/opencv/opencv/tree/master/samples/python/tutorial_code/introduction/display_image/display_image.py)
|
[here](https://github.com/opencv/opencv/tree/4.x/samples/python/tutorial_code/introduction/display_image/display_image.py)
|
||||||
|
|
||||||
- **Code at glance:**
|
- **Code at glance:**
|
||||||
@include samples/python/tutorial_code/introduction/display_image/display_image.py
|
@include samples/python/tutorial_code/introduction/display_image/display_image.py
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user