基于opencv的简单人脸识别(带通信功能)

来源:互联网 发布:数据采集与处理期刊 编辑:程序博客网 时间:2024/05/16 05:21
#include <opencv2/opencv.hpp>#include<vector>#include<winsock2.h>#include<time.h>#pragma comment(lib,"ws2_32.lib")using namespace cv;using namespace std;int main(){WSADATA wsa;WSAStartup(MAKEWORD(2, 2), &wsa);SOCKET socket1;sockaddr_in server;server.sin_addr.S_un.S_addr = inet_addr("192.168.1.106");server.sin_family = AF_INET;server.sin_port = htons(1000);socket1 = socket(AF_INET, SOCK_DGRAM, 0);Mat img, imgGray;IplImage *im;VideoCapture capture;CvFont font;cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 1.0, 1.0);CascadeClassifier facecascade;vector<Rect> faces;capture.open(0);facecascade.load("D:\\opencv\\opencv\\sources\\data\\haarcascades\\haarcascade_eye.xml");while (1){int i;capture >> img;cvtColor(img, imgGray, CV_RGB2GRAY);facecascade.detectMultiScale(imgGray, faces, 1.2, 6, 0, Size(0, 0));for (i = 0; i<faces.size(); i++){rectangle(img, Point(faces[i].x, faces[i].y), Point(faces[i].x + faces[i].width, faces[i].y + faces[i].height),Scalar(0, 255, 0), 1, 8);im = &IplImage(img);cvPutText(im, "find", cvPoint(faces[i].x, faces[i].y), &font, CV_RGB(250, 0, 0));printf("find\n");sendto(socket1, "find", sizeof("find"), 0, (sockaddr *)&server, sizeof(server));}imshow("detect", img);waitKey(1);}return 0;}

原创粉丝点击