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)
-
* Introduction - The solution shows panorama image from multi images. The panorama images is processing by real-time stitching algorithm...
-
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...
-
Image size of origin is 320*240. Processing time is 30.96 second took. The result of stitching The resul...
-
My Environment : MS VS 2008 & MFC(Dialog Based) Joy Stick : Logitech Extreme 3D pro (XBox Type) Cteated Date : 2012. 03 [source code]...
-
Created Date : 2011.10 Language : C/C++ Tool : Microsoft Visual C++ 2008 Library & Utilized : OpenCV 2.3 Reference : SIFT referenc...
-
This is GPU version of this page -> http://feelmare.blogspot.kr/2013/12/finding-largest-subset-images-that-is.html Please refer detail ...
-
Created Date : 2007.8 Language : C/C++ Tool : Microsoft Visual C++ 6.0 (MFC) Library & Utilized : - Reference : Simplified approach ...
-
This is example class creation. RotatedRect tRect(Point2f(p2.x, p2.y), Size2f(W,H), atan(mn.first)*180/3.1415); In Here, p2.x, p2.y is ...
-
numberList = [ 1 , 2 , 3 , 4 , 5 ] strList = [ 'one' , 'two' , 'three' , 'five' ] # No iterables are passe...
-
If there are 3 point(c, p1, p2), as shown in the above figure. This function got the angle between the two lines using inner product...