Commit e6009c16 authored by Maria Dimashova's avatar Maria Dimashova

added sample on color generation and updated sample on lsvm

parent 408d6b84
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/contrib/contrib.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <cstdio>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if( argc != 2 )
{
cout << "Colors count should be passed." << endl;
return -1;
}
int colorsCount = atoi(argv[1]);
vector<Scalar> colors;
theRNG() = (uint64)time(0);
generateColors( colors, colorsCount );
int stripWidth = 20;
Mat strips(300, colorsCount*stripWidth, CV_8UC3);
for( int i = 0; i < colorsCount; i++ )
{
strips.colRange(i*stripWidth, (i+1)*stripWidth) = colors[i];
}
imshow( "strips", strips );
waitKey();
return 0;
}
......@@ -53,7 +53,7 @@ void detectAndDrawObjects( Mat& image, LatentSvmDetector& detector, const vector
for( size_t i = 0; i < detections.size(); i++ )
{
const LatentSvmDetector::ObjectDetection& od = detections[i];
rectangle( image, od.rect, colors[od.classID], 2 );
rectangle( image, od.rect, colors[od.classID], 3 );
}
// put text over the all rectangles
for( size_t i = 0; i < detections.size(); i++ )
......@@ -102,12 +102,6 @@ void readDirectory( const string& directoryName, vector<string>& filenames, bool
sort( filenames.begin(), filenames.end() );
}
void fillRngColors( vector<Scalar>& colors )
{
Mat m = Mat(colors).reshape(1,1);
randu( m, 0, 255 );
}
int main(int argc, char* argv[])
{
help();
......@@ -150,8 +144,8 @@ int main(int argc, char* argv[])
cout << "overlapThreshold = " << overlapThreshold << endl;
vector<Scalar> colors( detector.getClassNames().size() );
fillRngColors( colors );
vector<Scalar> colors;
generateColors( colors, detector.getClassNames().size() );
for( size_t i = 0; i < images_filenames.size(); i++ )
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment