物体识别
来源:互联网 发布:仙剑三mac打不开 编辑:程序博客网 时间:2024/05/01 09:59
#include "cv.h"
#include "highgui.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h> //用于防御式编程
#include <math.h>
#include <float.h>//<float.h>与<limits.h>一样是定义边界值的,<float.h>定义的是浮点数的边界值
#include <limits.h>
#include <time.h>
#include <ctype.h>//在调用字符函数时,在源文件中包含的头文件
static CvMemStorage *storage = 0;
static CvHaarClassifierCascade *cascade = 0;//harr 分类器级联的内部标识形式
//const char *cascade_name ="F://OpenCV//OpenCV//data//haarcascades//haarcascade_frontalface_alt2.xml";
const char *cascade_name ="D://boost//xml.xml";
void change(int x1,int y1,int x2,int y2,IplImage *img)
{
unsigned char *data=(unsigned char *)img->imageData;
int step=img->widthStep;
int c=img->nChannels;
for(int j=y1;j<y2;j++)
for(int i=x1;i<x2;i++)
for(int k=0;k<c;k++)
data[j*step+i*c+k]=255;
}
int main()
{
IplImage *img=cvLoadImage("first.bmp",1);
cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0);
storage = cvCreateMemStorage(0);//创建内存块
CvSeq *face = cvHaarDetectObjects(img, cascade,storage,1.1,2,0,cvSize(30, 30));
if(!cascade)
printf("没有相应的文件/n");
else
printf("找到了相应的文件/n");
if(face==0)
printf("没有检测到/n");
else
printf("已经检测到了/n");
cvNamedWindow("first",2);
cvShowImage("first",img);
double scale = 1.1;
static CvScalar colors[] =
{
{{0,0,255}},
{{0,128,255}},
{{0,255,255}},
{{0,255,0}},
{{255,128,0}},
{{255,255,0}},
{{255,0,0}},
{{255,0,255}}
};
int n=face?face->total:0;
if(n==0)
printf("检测失败/n");
else
printf("检测到了%d个目标/n",n);
for (int i = 0; i < (face ? face->total : 0); i++)
{
//返回索引所指定的元素指针
CvRect *r = (CvRect*)cvGetSeqElem(face, i);
if(!r)
printf("无法构成矩形/n");
else
printf("可以构成矩形/n");
//用矩形
//确定两个点来确定人脸位置因为用cvRetangle
CvPoint pt1, pt2;
//找到画矩形的两个点
pt1.x = r->x*scale;
pt2.x = (r->x+r->width)*scale;
pt1.y = r->y*scale;
pt2.y = (r->y+r->height)*scale;
//画出矩形
cvRectangle( img, pt1, pt2, colors[i%8], 3, 8, 0 );
//change(pt1.x,pt1.y,pt2.x,pt2.y,img);
}
cvNamedWindow("second",2);
cvShowImage("second",img);
cvWaitKey(0);
return 0;
}
- 物体识别
- 物体识别
- 物体识别
- Surface物体识别
- 物体的形状识别
- 家庭物体识别调研
- Features2D + Homography物体识别
- 识别圆形物体
- unity AR3D物体识别
- 实时物体识别框架
- 刚性物体 识别技术综述
- 稀疏表征与物体识别
- 物体识别系统的流程
- 二维物体形状识别方法
- RGBD物体识别(1)--开篇
- opencv--颜色物体识别跟踪
- Vuforia sdk 之物体识别
- python+opencv识别动态物体
- struct urb
- 螺旋方阵
- canny边缘检测
- cvHaarDetectObjects
- asp.net两种方式在模板excel中插入图片:npoi和c# com组件
- 物体识别
- [记录]Highchart版本更新相关问题
- 图片的旋转与放缩
- 在VC++中WM_MOUSEWHEEL响应函数的各个参数的用处
- 离散傅立叶变换(DFT)
- CSS 定位
- 在线下载GML数据的实现
- C/C++零碎
- SnowFlock 快速克隆 Xen VM