做图像训练经常需要正负样本,这个代码用来从图片库中随机获取负样本图片,随机生成负样本后请记得简单看一下,以免不小心裁到正样本(虽然概率很低),如果发现裁减到正样本请记得手动删除
#include "stdafx.h"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <stdio.h>
#include <vector>
#include <string.h>
#include <ctype.h>
#include<cv.h>
#include<cxcore.h>
#include<cstdlib>
#include<ctime>
#include<malloc.h>
#include<stdlib.h>
#define N 12
using namespace std;
using namespace cv;
int *GetRandomArray(void)
{//产生N个100以内的随机数
int *p = (int *)malloc(N * sizeof(int));
memset(p, 0, sizeof(N * sizeof(int)));
int i, j, flag, num;
srand(time(0));
for (i = 0; i < N; ++i)
{
num = rand() % 98 + 1;
flag = 1;
for (j = 0; j < i; ++j)
{
if (num == *(p + j))
{
flag = 0;;
break;
}
}
if (flag) *(p+i)