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)
-
Image size of origin is 320*240. Processing time is 30.96 second took. The result of stitching The resul...
-
When we study cuda firstly, thread indexing is very confusing. So I tried to clean up. First, Let's grab a sense of looking at ...
-
let's see the code. .. from scipy.sparse import csr_matrix import numpy as np #first matrix row = np.array([ 0 , 0 , 1 , 2 , 2 ,...
-
As you can see in the following video, I created a class that stitching n cameras in real time. https://www.youtube.com/user/feelmare/sear...
-
To install the language pack for vs 2013, it made things worse. The error message "window program compatibility mode is on. turn i...
-
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...
-
refer to this web page -> http://docs.opencv.org/trunk/doc/py_tutorials/py_video/py_lucas_kanade/py_lucas_kanade.html dense optical f...
-
This is example source code of Matching using surf and bruteForceMathing of gpu version. I think this simple example source code is useful ...
-
refer to code: . # pip install pyheif pillow # brew install libheif import os import subprocess input_folder = "./input/path"...
-
LightGBM (Light Gradient Boosting Machine) is a gradient boosting framework developed by Microsoft that uses tree-based learning algorithms...