rewrite packets to send in jpeg form

This commit is contained in:
2025-03-26 19:13:13 -05:00
parent c85581749b
commit ea952e1981
6 changed files with 94 additions and 108 deletions

View File

@@ -4,13 +4,15 @@
#include <netinet/in.h>
#include <sys/socket.h>
#include <unistd.h>
#include <packets/ImagePacket.h>
#include "transfer.h"
using namespace std;
int main() {
cv::VideoCapture cap = cv::VideoCapture(0);
// create video capture
//cv::VideoCapture cap = cv::VideoCapture(0);
// create socket
int clientSocket = socket(AF_INET, SOCK_STREAM, 0);
// specifying address
@@ -19,26 +21,19 @@ int main() {
serverAddress.sin_port = htons(8080);
serverAddress.sin_addr.s_addr = INADDR_ANY;
cv::Mat image = cv::Mat::zeros(cv::Size(640, 480), CV_8UC3);
ImagePacket packet = ImagePacket(&image, 0);
cv::Mat image = cv::Mat(cv::Size(640, 480), CV_8UC3, cv::Scalar(255, 0, 0));
// sending connection request
connect(clientSocket, (struct sockaddr*)&serverAddress,
connect(clientSocket, reinterpret_cast<sockaddr *>(&serverAddress),
sizeof(serverAddress));
unsigned long pos = 0;
unsigned long len = image.total() * image.elemSize();
char buffer[IMAGEPACKET_SIZE];
cout << "Image length " << len << endl;
// create buffer for serialization
vector<uchar> imgbuf;
while (true) {
cap.read(image);
packet = ImagePacket(&image, pos);
packet.serialize(buffer);
send(clientSocket, buffer, sizeof(buffer), 0);
cout << "Sent packet with index " << pos << endl;
pos = (pos + SLICE_SIZE) % len;
//cap.read(image);
cout << "Sending image" << endl;
sendImage(clientSocket, image, imgbuf);
}
close(clientSocket);