43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
#include <opencv2/videoio.hpp>
|
|
#include <cstring>
|
|
#include <iostream>
|
|
#include <netinet/in.h>
|
|
#include <sys/socket.h>
|
|
#include <unistd.h>
|
|
#include "transfer.h"
|
|
|
|
using namespace std;
|
|
|
|
int main() {
|
|
// create video capture
|
|
cv::VideoCapture cap = cv::VideoCapture(0);
|
|
|
|
// create socket
|
|
int clientSocket = socket(AF_INET, SOCK_STREAM, 0);
|
|
|
|
// specifying address
|
|
sockaddr_in serverAddress;
|
|
serverAddress.sin_family = AF_INET;
|
|
serverAddress.sin_port = htons(8080);
|
|
serverAddress.sin_addr.s_addr = INADDR_ANY;
|
|
|
|
cv::Mat image = cv::Mat::zeros(cv::Size(640, 480), CV_8UC3);
|
|
|
|
info("Ready to connect.");
|
|
// sending connection request
|
|
connect(clientSocket, reinterpret_cast<sockaddr *>(&serverAddress),
|
|
sizeof(serverAddress));
|
|
|
|
info("Connected.");
|
|
// create buffer for serialization
|
|
vector<uchar> imgbuf;
|
|
|
|
while (true) {
|
|
cap.read(image);
|
|
trace("Sending image");
|
|
sendImage(clientSocket, image, imgbuf);
|
|
}
|
|
|
|
close(clientSocket);
|
|
return 0;
|
|
} |