资源简介

linux下实现的摄像头实时视频数据传输demo,可根据自己的需求更改,可用cmake编译(需完整安装opencv),也可用g++编译(需部分编译pence库-lopencv_core -lopencv_video -lopencv_highgui -lopencv_imgproc):服务端 g++ simple_server_main.cpp ServerSocket.cpp Socket.cpp -o server -I . -I/usr/local/include -L/usr/local/lib -lopencv_core -lopencv_video -lopencv_highgui -lopencv_imgproc 客户端: g++ simple_client_main.cpp ClientSocket.cpp Socket.cpp -o client -I ~/work/experiment/c++/socket/socket-opencv/src -I/usr/local/include -L/usr/local/lib -lopencv_core -lopencv_video -lopencv_highgui -lopencv_imgproc 也可用你自己的IDE编译

资源截图

代码片段和文件信息

// Implementation of the ClientSocket class

#include “ClientSocket.h“
#include “SocketException.h“


ClientSocket::ClientSocket ( std::string host int port )
{
  if ( ! Socket::create() )
    {
      throw SocketException ( “Could not create client socket.“ );
    }

  if ( ! Socket::connect ( host port ) )
    {
      throw SocketException ( “Could not bind to port.“ );
    }

}


const ClientSocket& ClientSocket::operator << ( const std::string& s ) const
{
  if ( ! Socket::send ( s ) )
    {
      throw SocketException ( “Could not write to socket.“ );
    }

  return *this;

}
const ClientSocket& ClientSocket::operator << ( const cv::Mat& mat ) const
{
    if ( ! Socket::send ( mat ) )
        {
            throw SocketException ( “Could not write to socket.“ );
        }

    return *this;

}



const ClientSocket& ClientSocket::operator >> ( std::string& s ) const
{
  if ( ! Socket::recv ( s ) )
    {
      throw SocketException ( “Could not read from socket.“ );
    }

  return *this;
}

const ClientSocket& ClientSocket::operator >> ( cv::Mat& mat ) const
{
    if ( ! Socket::recv ( mat ) )
        {
            throw SocketException ( “Could not read from socket.“ );
        }

    return *this;
}


评论

共有 条评论