Calculate overlap percent between two rectangle
It is not difficult, we just use bit operator : &, |
for more detail information, refer to below source code.
< gist >
< /gist>
9/29/2017
9/27/2017
Tip, Add 'Vector (b)' to end of 'Vector (a)'
If you have 2 Vector and you want to add Vector b to end of Vector a, refer to below code. (very simple!)
vector< int > a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
vector< int > b;
b.push_back(4);
b.push_back(5);
b.push_back(6);
a.insert(a.end(), b.begin(), b.end());
int count = 0;
for (auto it : a)
{
printf("a[%d] = %d \n", count++, it);
}
vector< int > a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
vector< int > b;
b.push_back(4);
b.push_back(5);
b.push_back(6);
a.insert(a.end(), b.begin(), b.end());
int count = 0;
for (auto it : a)
{
printf("a[%d] = %d \n", count++, it);
}
9/24/2017
Tip, How to count number of '0' in element of Matrix(Mat)?
As same with Matlab, we can use inequality ">,<,==,>=,<=".
Firstly, we check equal to '0' or '>0', the result is output to '255' if satisfied.
Divide by 255 then elements have left '0' or '1'
And sum all of the element, then we can get the number of zero.
Source code is here..
Mat a = Mat(5, 5, CV_8UC1);
randn(a, 0, 1);
Mat b = (a == 0) / 255;
Mat c = (a > 0) / 255;
cout << "Input matrix matrix a = " << endl;
cout << a << endl;
cout << "number of 0 = " << sum(b)[0];
cout << ", number of over 0 = " << sum(c)[0] << endl << endl;
cout << "matrix b = " << endl;
cout << b << endl;
cout << "matrix c = " << endl;
cout << c << endl;
Firstly, we check equal to '0' or '>0', the result is output to '255' if satisfied.
Divide by 255 then elements have left '0' or '1'
And sum all of the element, then we can get the number of zero.
Source code is here..
Mat a = Mat(5, 5, CV_8UC1);
randn(a, 0, 1);
Mat b = (a == 0) / 255;
Mat c = (a > 0) / 255;
cout << "Input matrix matrix a = " << endl;
cout << a << endl;
cout << "number of 0 = " << sum(b)[0];
cout << ", number of over 0 = " << sum(c)[0] << endl << endl;
cout << "matrix b = " << endl;
cout << b << endl;
cout << "matrix c = " << endl;
cout << c << endl;
Labels:
count zero,
Mat,
OpenCV,
randn,
Total
Subscribe to:
Posts (Atom)
-
fig 1. Left: set 4 points (Left Top, Right Top, Right Bottom, Left Bottom), right:warped image to (0,0) (300,0), (300,300), (0,300) Fi...
-
Logistic Classifier The logistic classifier is similar to equation of the plane. W is weight vector, X is input vector and y is output...
-
In past, I wrote an articel about YUV 444, 422, 411 introduction and yuv rgb converting example code. refer to this page -> http://feel...
-
EMD(earth mover distance) method is very good method to compare image similarity. But processing time is slow. For using the EMD compare, ...
-
Created Date : 2011.8 Language : Matlab Tool : Matlab 2010 Library & Utilized : - Reference : Multiple View Geometry (Hartly and Z...
-
Image size of origin is 320*240. Processing time is 30.96 second took. The result of stitching The resul...
-
To install the language pack for vs 2013, it made things worse. The error message "window program compatibility mode is on. turn i...
-
refer to this code: . # If you want to combine a Vision Transformer (ViT) as an encoder with a Transformer-based decoder, # you can follow t...
-
error: . VanillaPipeline.get_train_loss_dict: 12.6875 Traceback (most recent call last): File "/home/mare/anaconda3...
-
refer to code: . import cv2 # Load an image img = cv2 . imread ( 'input_image.jpg' , cv2 . IMREAD_GRAYSCALE ) # Apply Canny edge ...