mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.3 KiB
54 lines
1.3 KiB
#ifndef _OPENCV_IMAGESTORAGE_H_ |
|
#define _OPENCV_IMAGESTORAGE_H_ |
|
|
|
#include <stdio.h> |
|
#include <string> |
|
#include <vector> |
|
#include "highgui.h" |
|
|
|
class CvCascadeImageReader |
|
{ |
|
public: |
|
bool create( const std::string _posFilename, const std::string _negFilename, cv::Size _winSize ); |
|
void restart() { posReader.restart(); } |
|
bool getNeg(cv::Mat &_img) { return negReader.get( _img ); } |
|
bool getPos(cv::Mat &_img) { return posReader.get( _img ); } |
|
|
|
private: |
|
class PosReader |
|
{ |
|
public: |
|
PosReader(); |
|
virtual ~PosReader(); |
|
bool create( const std::string _filename ); |
|
bool get( cv::Mat &_img ); |
|
void restart(); |
|
|
|
short* vec; |
|
FILE* file; |
|
int count; |
|
int vecSize; |
|
int last; |
|
int base; |
|
} posReader; |
|
|
|
class NegReader |
|
{ |
|
public: |
|
NegReader(); |
|
bool create( const std::string _filename, cv::Size _winSize ); |
|
bool get( cv::Mat& _img ); |
|
bool nextImg(); |
|
|
|
cv::Mat src, img; |
|
std::vector<std::string> imgFilenames; |
|
cv::Point offset, point; |
|
float scale; |
|
float scaleFactor; |
|
float stepFactor; |
|
size_t last, round; |
|
cv::Size winSize; |
|
} negReader; |
|
}; |
|
|
|
#endif
|
|
|