mirror of
https://github.com/opencv/opencv.git
synced 2026-07-29 07:13:02 +04:00
fix 4.x links
This commit is contained in:
+2
-2
@@ -1,8 +1,8 @@
|
||||
// This sample is based on "Camera calibration With OpenCV" tutorial:
|
||||
// https://docs.opencv.org/3.4/d4/d94/tutorial_camera_calibration.html
|
||||
// https://docs.opencv.org/4.x/d4/d94/tutorial_camera_calibration.html
|
||||
//
|
||||
// It uses standard OpenCV asymmetric circles grid pattern 11x4:
|
||||
// https://github.com/opencv/opencv/blob/3.4/doc/acircles_pattern.png
|
||||
// https://github.com/opencv/opencv/blob/4.x/doc/acircles_pattern.png
|
||||
// The results are the camera matrix and 5 distortion coefficients.
|
||||
//
|
||||
// Tap on highlighted pattern to capture pattern corners for calibration.
|
||||
|
||||
@@ -126,7 +126,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
// These descriptors are going to be detecting and computing BLOBS with 6 different params
|
||||
// Param for first BLOB detector we want all
|
||||
typeDesc.push_back("BLOB"); // see http://docs.opencv.org/master/d0/d7a/classcv_1_1SimpleBlobDetector.html
|
||||
typeDesc.push_back("BLOB"); // see http://docs.opencv.org/4.x/d0/d7a/classcv_1_1SimpleBlobDetector.html
|
||||
pBLOB.push_back(pDefaultBLOB);
|
||||
pBLOB.back().filterByArea = true;
|
||||
pBLOB.back().minArea = 1;
|
||||
|
||||
@@ -89,10 +89,10 @@ static void help(char** argv)
|
||||
"\tThis will detect only the face in image.jpg.\n";
|
||||
|
||||
cout << " \n\nThe classifiers for face and eyes can be downloaded from : "
|
||||
" \nhttps://github.com/opencv/opencv/tree/master/data/haarcascades";
|
||||
" \nhttps://github.com/opencv/opencv/tree/4.x/data/haarcascades";
|
||||
|
||||
cout << "\n\nThe classifiers for nose and mouth can be downloaded from : "
|
||||
" \nhttps://github.com/opencv/opencv_contrib/tree/master/modules/face/data/cascades\n";
|
||||
" \nhttps://github.com/opencv/opencv_contrib/tree/4.x/modules/face/data/cascades\n";
|
||||
}
|
||||
|
||||
static void detectFaces(Mat& img, vector<Rect_<int> >& faces, string cascade_path)
|
||||
|
||||
@@ -15,7 +15,7 @@ int main( int argc, const char** argv )
|
||||
|
||||
cout << "This program demonstrates the use of template matching with mask." << endl
|
||||
<< endl
|
||||
<< "Available methods: https://docs.opencv.org/master/df/dfb/group__imgproc__object.html#ga3a7850640f1fe1f58fe91a2d7583695d" << endl
|
||||
<< "Available methods: https://docs.opencv.org/4.x/df/dfb/group__imgproc__object.html#ga3a7850640f1fe1f58fe91a2d7583695d" << endl
|
||||
<< " TM_SQDIFF = " << (int)TM_SQDIFF << endl
|
||||
<< " TM_SQDIFF_NORMED = " << (int)TM_SQDIFF_NORMED << endl
|
||||
<< " TM_CCORR = " << (int)TM_CCORR << endl
|
||||
|
||||
@@ -24,11 +24,11 @@ int main(int argc, char *argv[])
|
||||
vector<String> typeAlgoMatch;
|
||||
vector<String> fileName;
|
||||
// This descriptor are going to be detect and compute
|
||||
typeDesc.push_back("AKAZE-DESCRIPTOR_KAZE_UPRIGHT"); // see https://docs.opencv.org/master/d8/d30/classcv_1_1AKAZE.html
|
||||
typeDesc.push_back("AKAZE"); // see http://docs.opencv.org/master/d8/d30/classcv_1_1AKAZE.html
|
||||
typeDesc.push_back("ORB"); // see http://docs.opencv.org/master/de/dbf/classcv_1_1BRISK.html
|
||||
typeDesc.push_back("BRISK"); // see http://docs.opencv.org/master/db/d95/classcv_1_1ORB.html
|
||||
// This algorithm would be used to match descriptors see http://docs.opencv.org/master/db/d39/classcv_1_1DescriptorMatcher.html#ab5dc5036569ecc8d47565007fa518257
|
||||
typeDesc.push_back("AKAZE-DESCRIPTOR_KAZE_UPRIGHT"); // see https://docs.opencv.org/4.x/d8/d30/classcv_1_1AKAZE.html
|
||||
typeDesc.push_back("AKAZE"); // see http://docs.opencv.org/4.x/d8/d30/classcv_1_1AKAZE.html
|
||||
typeDesc.push_back("ORB"); // see http://docs.opencv.org/4.x/de/dbf/classcv_1_1BRISK.html
|
||||
typeDesc.push_back("BRISK"); // see http://docs.opencv.org/4.x/db/d95/classcv_1_1ORB.html
|
||||
// This algorithm would be used to match descriptors see http://docs.opencv.org/4.x/db/d39/classcv_1_1DescriptorMatcher.html#ab5dc5036569ecc8d47565007fa518257
|
||||
typeAlgoMatch.push_back("BruteForce");
|
||||
typeAlgoMatch.push_back("BruteForce-L1");
|
||||
typeAlgoMatch.push_back("BruteForce-Hamming");
|
||||
|
||||
@@ -7,7 +7,7 @@ Check [a wiki](https://github.com/opencv/opencv/wiki/Deep-Learning-in-OpenCV) fo
|
||||
If OpenCV is built with [Intel's Inference Engine support](https://github.com/opencv/opencv/wiki/Intel%27s-Deep-Learning-Inference-Engine-backend) you can use [Intel's pre-trained](https://github.com/opencv/open_model_zoo) models.
|
||||
|
||||
There are different preprocessing parameters such mean subtraction or scale factors for different models.
|
||||
You may check the most popular models and their parameters at [models.yml](https://github.com/opencv/opencv/blob/master/samples/dnn/models.yml) configuration file. It might be also used for aliasing samples parameters. In example,
|
||||
You may check the most popular models and their parameters at [models.yml](https://github.com/opencv/opencv/blob/4.x/samples/dnn/models.yml) configuration file. It might be also used for aliasing samples parameters. In example,
|
||||
|
||||
```bash
|
||||
python object_detection.py opencv_fd --model /path/to/caffemodel --config /path/to/prototxt
|
||||
@@ -27,7 +27,7 @@ You can download sample models using ```download_models.py```. For example, the
|
||||
python download_models.py --save_dir FaceDetector opencv_fd
|
||||
```
|
||||
|
||||
You can use default configuration files adopted for OpenCV from [here](https://github.com/opencv/opencv_extra/tree/master/testdata/dnn).
|
||||
You can use default configuration files adopted for OpenCV from [here](https://github.com/opencv/opencv_extra/tree/4.x/testdata/dnn).
|
||||
|
||||
You also can use the script to download necessary files from your code. Assume you have the following code inside ```your_script.py```:
|
||||
|
||||
@@ -50,14 +50,14 @@ python your_script.py
|
||||
**Note** that you can provide a directory using **save_dir** parameter or via **OPENCV_SAVE_DIR** environment variable.
|
||||
|
||||
#### Face detection
|
||||
[An origin model](https://github.com/opencv/opencv/tree/master/samples/dnn/face_detector)
|
||||
[An origin model](https://github.com/opencv/opencv/tree/4.x/samples/dnn/face_detector)
|
||||
with single precision floating point weights has been quantized using [TensorFlow framework](https://www.tensorflow.org/).
|
||||
To achieve the best accuracy run the model on BGR images resized to `300x300` applying mean subtraction
|
||||
of values `(104, 177, 123)` for each blue, green and red channels correspondingly.
|
||||
|
||||
The following are accuracy metrics obtained using [COCO object detection evaluation
|
||||
tool](http://cocodataset.org/#detections-eval) on [FDDB dataset](http://vis-www.cs.umass.edu/fddb/)
|
||||
(see [script](https://github.com/opencv/opencv/blob/master/modules/dnn/misc/face_detector_accuracy.py))
|
||||
(see [script](https://github.com/opencv/opencv/blob/4.x/modules/dnn/misc/face_detector_accuracy.py))
|
||||
applying resize to `300x300` and keeping an origin images' sizes.
|
||||
```
|
||||
AP - Average Precision | FP32/FP16 | UINT8 | FP32/FP16 | UINT8 |
|
||||
@@ -79,6 +79,6 @@ AR @[ IoU=0.50:0.95 | area= large | maxDets=100 ] | 0.528 | 0.528 |
|
||||
|
||||
## References
|
||||
* [Models downloading script](https://github.com/opencv/opencv/samples/dnn/download_models.py)
|
||||
* [Configuration files adopted for OpenCV](https://github.com/opencv/opencv_extra/tree/master/testdata/dnn)
|
||||
* [Configuration files adopted for OpenCV](https://github.com/opencv/opencv_extra/tree/4.x/testdata/dnn)
|
||||
* [How to import models from TensorFlow Object Detection API](https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API)
|
||||
* [Names of classes from different datasets](https://github.com/opencv/opencv/tree/master/samples/data/dnn)
|
||||
* [Names of classes from different datasets](https://github.com/opencv/opencv/tree/4.x/samples/data/dnn)
|
||||
|
||||
@@ -69,7 +69,7 @@ function recognize(face) {
|
||||
|
||||
function loadModels(callback) {
|
||||
var utils = new Utils('');
|
||||
var proto = 'https://raw.githubusercontent.com/opencv/opencv/master/samples/dnn/face_detector/deploy_lowres.prototxt';
|
||||
var proto = 'https://raw.githubusercontent.com/opencv/opencv/4.x/samples/dnn/face_detector/deploy_lowres.prototxt';
|
||||
var weights = 'https://raw.githubusercontent.com/opencv/opencv_3rdparty/dnn_samples_face_detector_20180205_fp16/res10_300x300_ssd_iter_140000_fp16.caffemodel';
|
||||
var recognModel = 'https://raw.githubusercontent.com/pyannote/pyannote-data/master/openface.nn4.small2.v1.t7';
|
||||
utils.createFileFromUrl('face_detector.prototxt', proto, () => {
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
//
|
||||
// it can be used for body pose detection, using either the COCO model(18 parts):
|
||||
// http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/coco/pose_iter_440000.caffemodel
|
||||
// https://raw.githubusercontent.com/opencv/opencv_extra/master/testdata/dnn/openpose_pose_coco.prototxt
|
||||
// https://raw.githubusercontent.com/opencv/opencv_extra/4.x/testdata/dnn/openpose_pose_coco.prototxt
|
||||
//
|
||||
// or the MPI model(16 parts):
|
||||
// http://posefs1.perception.cs.cmu.edu/OpenPose/models/pose/mpi/pose_iter_160000.caffemodel
|
||||
// https://raw.githubusercontent.com/opencv/opencv_extra/master/testdata/dnn/openpose_pose_mpi_faster_4_stages.prototxt
|
||||
// https://raw.githubusercontent.com/opencv/opencv_extra/4.x/testdata/dnn/openpose_pose_mpi_faster_4_stages.prototxt
|
||||
//
|
||||
// (to simplify this sample, the body models are restricted to a single person.)
|
||||
//
|
||||
|
||||
@@ -26,9 +26,9 @@ sudo apt install -y wget unzip
|
||||
# [wget]
|
||||
|
||||
# [download]
|
||||
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
|
||||
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
|
||||
unzip opencv.zip
|
||||
mv opencv-master opencv
|
||||
mv opencv-4.x opencv
|
||||
# [download]
|
||||
|
||||
# [prepare]
|
||||
|
||||
@@ -27,7 +27,7 @@ sudo apt install -y git
|
||||
|
||||
# [download]
|
||||
git clone https://github.com/opencv/opencv.git
|
||||
git -C opencv checkout master
|
||||
git -C opencv checkout 4.x
|
||||
# [download]
|
||||
|
||||
# [prepare]
|
||||
|
||||
@@ -12,14 +12,14 @@ fi
|
||||
sudo apt update && sudo apt install -y cmake g++ wget unzip
|
||||
|
||||
# Download and unpack sources
|
||||
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
|
||||
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
|
||||
unzip opencv.zip
|
||||
|
||||
# Create build directory
|
||||
mkdir -p build && cd build
|
||||
|
||||
# Configure
|
||||
cmake ../opencv-master
|
||||
cmake ../opencv-4.x
|
||||
|
||||
# Build
|
||||
cmake --build .
|
||||
|
||||
@@ -12,8 +12,8 @@ fi
|
||||
sudo apt update && sudo apt install -y cmake g++ wget unzip
|
||||
|
||||
# Download and unpack sources
|
||||
wget -O opencv.zip https://github.com/opencv/opencv/archive/master.zip
|
||||
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/master.zip
|
||||
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
|
||||
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
|
||||
unzip opencv.zip
|
||||
unzip opencv_contrib.zip
|
||||
|
||||
@@ -21,7 +21,7 @@ unzip opencv_contrib.zip
|
||||
mkdir -p build && cd build
|
||||
|
||||
# Configure
|
||||
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-master/modules ../opencv-master
|
||||
cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
|
||||
|
||||
# Build
|
||||
cmake --build .
|
||||
|
||||
@@ -436,7 +436,7 @@ def main():
|
||||
sizes = []
|
||||
blender = 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):
|
||||
full_img = cv.imread(name)
|
||||
if not is_compose_scale_set:
|
||||
|
||||
@@ -20,7 +20,7 @@ int main(void)
|
||||
// Number of experiment runs
|
||||
int no_runs = 2;
|
||||
|
||||
// https://docs.opencv.org/master/d3/d63/classcv_1_1Mat.html
|
||||
// https://docs.opencv.org/4.x/d3/d63/classcv_1_1Mat.html
|
||||
cv::Mat src_new(IMG_ROWS, IMG_COLS, CV_8UC1, (void *)raw_pixels);
|
||||
|
||||
// Set parameters
|
||||
|
||||
@@ -20,7 +20,7 @@ int main(void)
|
||||
// Number of experiment runs
|
||||
int no_runs = 2;
|
||||
|
||||
// https://docs.opencv.org/master/d3/d63/classcv_1_1Mat.html
|
||||
// https://docs.opencv.org/4.x/d3/d63/classcv_1_1Mat.html
|
||||
cv::Mat src(IMG_ROWS, IMG_COLS, CV_8UC1, (void *)raw_pixels);
|
||||
|
||||
// Run calc Hist
|
||||
|
||||
Reference in New Issue
Block a user