Exemple #1
0
*/
void ChunkRequest::print( ATP_ChunkRequest_t * frame ){
	Log.Debug("ChunkRequest object:"CR);

	if ( getFrameType(frame) == ATP_TRANSFER_REQUEST ) Log.Debug("type:          ATP_TRANSFER_REQUEST"CR );
	if ( getFrameType(frame) == ATP_CHUNK_REQUEST ) Log.Debug(   "type:          ATP_CHUNK_REQUEST"CR );
	if ( getFrameType(frame) == ATP_CHUNK_RESPONSE ) Log.Debug(  "type:          ATP_CHUNK_RESPONSE"CR );

	Log.Debug("frameID:       %s"CR, getFrameID(frame));
	Log.Debug("meshAddress:   %d"CR, getMeshAddress(frame));	
	Log.Debug("datetime:      %d"CR, getDatetime(frame));	
	Log.Debug("atpID:         %d"CR, getAtpID(frame)); 	
	Log.Debug("version:       %d"CR, getVersion(frame));
		      
	if ( getStatus(frame) == ATP_IDLE ) Log.Debug(                 "status:        ATP_IDLE"CR );
	if ( getStatus(frame) == ATP_SUCCESS ) Log.Debug(              "status:        ATP_SUCCESS"CR );
	if ( getStatus(frame) == ATP_FAILED_DURING_TRANSIT ) Log.Debug("status:        ATP_FAILED_DURING_TRANSIT"CR );
	if ( getStatus(frame) == ATP_FAILED_CHECKSUM ) Log.Debug(   "status:        ATP_FAILED_CHECKSUM"CR );
	if ( getStatus(frame) == ATP_FAILED_ENCRYPTION ) Log.Debug( "status:        ATP_FAILED_ENCRYPTION"CR );
	if ( getStatus(frame) == ATP_FAILED_COMPRESSION ) Log.Debug("status:        ATP_FAILED_COMPRESSION"CR );
	if ( getStatus(frame) == ATP_UNSENT ) Log.Debug(            "status:        ATP_UNSENT"CR );
	if ( getStatus(frame) == ATP_SENT ) Log.Debug(              "status:        ATP_SENT"CR );
	if ( getStatus(frame) == ATP_RECEIVED ) Log.Debug(          "status:        ATP_RECEIVED"CR );
	
	Log.Debug("start:         %l"CR, getStart(frame));	
	Log.Debug("length:        %l"CR, getLength(frame));	
	Log.Debug("transferTypes: %s"CR, getTransferTypes(frame));	
Exemple #2
0
void Horus::update(Frame *frame)
{
   vector< vector<cv::Point> > contours;
   vector<Vec4i> hierarchy;
   RNG rng(12345);

   if (getFrameType() == DepthCamera::FRAME_XYZI_POINT_CLOUD_FRAME) 
   {
      // Create amplitude and depth Mat
      vector<float> zMap, iMap;
      XYZIPointCloudFrame *frm = dynamic_cast<XYZIPointCloudFrame *>(frame);
      for (int i=0; i< frm->points.size(); i++) {
         zMap.push_back(frm->points[i].z);
         iMap.push_back(frm->points[i].i);
      }
      _iMat = Mat(getDim().height, getDim().width, CV_32FC1, iMap.data());
      _dMat = Mat(getDim().height, getDim().width, CV_32FC1, zMap.data()); 

      // Apply amplitude gain
      _iMat = (float)_ampGain*_iMat;

      // Update background as required
      if (!_setBackground) {
         _dMat.copyTo(_bkgndMat);
         _setBackground = true;
         cout << endl << "Updated background" << endl;
      }

      // Find foreground by subtraction 
      Mat fMat = _bkgndMat-_dMat;

      // Convert to binary image based on amplitude and depth thresholds
      clipBackground(fMat, _iMat, (float)_depthThresh/100.0, (float)_ampThresh/100.0);
      fMat.convertTo(_bMat, CV_8U, 255.0);

      // Apply morphological open to clean up image
      Mat morphMat = _bMat.clone();
      Mat element = getStructuringElement( 0, Size(3,3), cv::Point(1,1) );
      morphologyEx(_bMat, morphMat, 2, element);

      // Find all contours
      findContours(morphMat, contours, hierarchy, CV_RETR_TREE, 
                             CV_CHAIN_APPROX_SIMPLE, cv::Point(0,0));

      // Draw contours that meet a "person" requirement
      Mat drawing = Mat::zeros(_iMat.size(), CV_8UC3);
      cvtColor(_iMat, drawing, CV_GRAY2RGB);
      
      int peopleCount = 0;
      for ( int i = 0; i < contours.size(); i++ ) { 
         if (isPerson(contours[i], _dMat)) {  
            peopleCount++;
            drawContours( drawing, contours, i, Scalar(0, 0, 255), 2, 8, vector<Vec4i>(), 0, cv::Point() ); 
         }
      }
      putText(drawing, "Cnt="+to_string(peopleCount), cv::Point(40, 30), FONT_HERSHEY_PLAIN, 1, Scalar(255, 0, 0));

      imshow("Draw", drawing);
   }
}
void NodeIdentificationIndicator::setFrameData(QByteArray data) {
	int idx = 0, dataSize = data.size();
	if ((dataSize < 32) && (data.at(0) != getFrameType())) return;
	setSourceAddress64(data.mid(1,8));
	setSourceAddress16(data.mid(9,2));
	setReceiveOptions(data[11]);
	setRemoteAddress16(data.mid(12,2));
	setRemoteAddress64(data.mid(14,8));
	idx = data.indexOf((char)0x00, 22);
	setNIString(data.mid(22,idx-22));
	setParentAddress16(data.mid(idx+1, 2));
	setDeviceType(data[idx+3]);
	setSourceEvent(data[idx+4]);
	setProfileID(data.mid(idx+5,2));
	setManufacturerID(data.mid(idx+7,2));
	if (dataSize > idx+9) {
		if (dataSize == idx+14) {
			setDeviceTypeID(data.mid(idx+9,4));
			setRSSI(QByteArray(1,data[idx+13]));
		}
		else if (dataSize == idx+13)
			setDeviceTypeID(data.mid(idx+9,4));
		else
			setRSSI(QByteArray(1, data[idx+9]));
	}
}
Exemple #4
0
*/
void TransferRequest::print( ATP_TransferRequest_t * frame ){
	Log.Debug("TransferRequest object:"CR);

	if ( getFrameType(frame) == ATP_TRANSFER_REQUEST ) Log.Debug("type:        ATP_TRANSFER_REQUEST"CR );
	if ( getFrameType(frame) == ATP_CHUNK_REQUEST ) Log.Debug(   "type:        ATP_CHUNK_REQUEST"CR );
	if ( getFrameType(frame) == ATP_CHUNK_RESPONSE ) Log.Debug("type:        ATP_CHUNK_RESPONSE"CR );

	Log.Debug("frameID:       %s"CR, getFrameID(frame));
	Log.Debug("frameType:     %d"CR, getFrameType(frame));	
	Log.Debug("meshAddress:   %l"CR, getMeshAddress(frame));	
	Log.Debug("datetime:      %l"CR, getDatetime(frame));	
	Log.Debug("atpID:         %l"CR, getAtpID(frame)); 	
	Log.Debug("version:       %d"CR, getVersion(frame));
	Log.Debug("topchunk:      %d"CR, getTopChunk(frame));
	Log.Debug("chunkcount:    %d"CR, getChunkCount(frame));

	if ( getStatus(frame) == ATP_IDLE ) Log.Debug(                 "status:        ATP_IDLE"CR );
	if ( getStatus(frame) == ATP_SUCCESS ) Log.Debug(              "status:        ATP_SUCCESS"CR );
	if ( getStatus(frame) == ATP_FAILED_DURING_TRANSIT ) Log.Debug("status:        ATP_FAILED_DURING_TRANSIT"CR );
	if ( getStatus(frame) == ATP_FAILED_CHECKSUM ) Log.Debug(   "status:        ATP_FAILED_CHECKSUM"CR );
	if ( getStatus(frame) == ATP_FAILED_ENCRYPTION ) Log.Debug( "status:        ATP_FAILED_ENCRYPTION"CR );
	if ( getStatus(frame) == ATP_FAILED_COMPRESSION ) Log.Debug("status:        ATP_FAILED_COMPRESSION"CR );
	if ( getStatus(frame) == ATP_UNSENT ) Log.Debug(            "status:        ATP_UNSENT"CR );
	if ( getStatus(frame) == ATP_SENT ) Log.Debug(              "status:        ATP_SENT"CR );
	if ( getStatus(frame) == ATP_RECEIVED ) Log.Debug(          "status:        ATP_RECEIVED"CR );
	if ( getStatus(frame) == ATP_WORKING ) Log.Debug(          "status:        ATP_WORKING"CR );
	
	Log.Debug("size:          %l"CR, getSize(frame));
	Log.Debug("expires:       %l"CR, getExpires(frame));	
	Log.Debug("descriptor:    %s"CR, getDescriptor(frame));	
	Log.Debug("source:        %l"CR, getSource(frame));	
	Log.Debug("destination:   %l"CR, getDestination(frame));	
	Log.Debug("fileName:      %s"CR, getFileName(frame));
	
	if ( getBuffer(frame) != 0 ){
		Log.Debug("buffer:      %s"CR, getBuffer(frame));
	}
Exemple #5
0
void TXRequest::assemblePacket(){
    packet.clear();
    packet.append(getFrameType());
    packet.append(getFrameId());
    packet.append(getDestAddr64());
    packet.append(getDestAddr16());
    packet.append(getBroadcastRadius());
    packet.append(getTransmitOptions());
    packet.append(getData());
    setLength(packet.size());
    createChecksum(packet);
    packet.append(getChecksum());
    packet.insert(0, getStartDelimiter());
    packet.insert(1, getLength());

}
QByteArray NodeIdentificationIndicator::getFrameData() {
	QByteArray frameData;
	frameData += getFrameType();
	frameData += getSourceAddress64();
	frameData += getSourceAddress16();
	frameData += getReceiveOptions();
	frameData += getRemoteAddress16();
	frameData += getRemoteAddress64();
	frameData += getNIString();
	frameData += (char)0x00;
	frameData += getParentAddress16();
	frameData += getDeviceType();
	frameData += getSourceEvent();
	frameData += getProfileID();
	frameData += getManufacturerID();
	frameData += getDeviceTypeID();
	frameData += getRSSI();
	return frameData;
}
Exemple #7
0
int encoder(CX264Encoder* e, EncCMD_PARAM* e_p)
{
	FILE *fpInput;
	FILE *fpOutput;    
	int ret = 1;
	int iGOP = e_p->gop, fps = e_p->fps;
	int frame_count, nbytes, nTotalBytes = 0, width = e_p->width, height=e_p->height;
    int use_gf,use_sp,total;
	int inner;

	int frame_size = width * height * 3 / 2;
	unsigned char* inbuf = new unsigned char[frame_size];	
	unsigned char* outbuf_encoder = NULL;
	unsigned int   fileSize,fileFrames;
	EmFrameType frame_type;

	//CTimer mytimer;

	use_gf = 0;
	use_sp = 0;


	if(e_p->gfGOP>0)
	{
		use_gf =1;
	}

	if(e_p->spGOP>0)
	{
		use_sp =1;
	}


	if(stat(e_p->pSeqName,&fileInfo))
	{
		printf("can't find this file\n");
		exit(1);
	}
	fileSize = fileInfo.st_size;
	
	fpInput = fopen(e_p->pSeqName, "rb");
	if(!fpInput)
	{
		printf("can't open input file :%s.\n",e_p->pSeqName);
		exit(1);
	}
	fpOutput = fopen(e_p->pOutputFileName, "wb");
	if(!fpOutput)
	{
		printf("can't open output file.\n");
		exit(1);
	}
	fileFrames = fileInfo.st_size/frame_size;


	total = e_p->totalFrame;

	if(e_p->totalFrame==0)
	{
		total = fileFrames;
	}
	else if(e_p->totalFrame>fileFrames)
	{
		total = fileFrames;
	}


	frame_count = 0;
       int alltime = 0;
	while (frame_count < total)
	{
		if (frame_size !=(fread(inbuf, 1, frame_size, fpInput)))
		{
			break;
		}
		frame_type = getFrameType(frame_count,e_p->gop,e_p->gfGOP,e_p->spGOP);		

		//mytimer.Start();
              int start_time = VQQ_GetTickCount();
		if ( true != e->Encode(inbuf, frame_size, &outbuf_encoder, (long*)&nbytes, frame_type) )
		{
			printf("Encode(): error");
			goto exit;
		}
              int end_time = VQQ_GetTickCount();
              alltime += (end_time - start_time);
		//mytimer.Stop();

		nTotalBytes += nbytes;

		if ( nbytes != fwrite(outbuf_encoder, 1, nbytes, fpOutput)) 
		{
			ret = 1;
			goto exit;
		}
		frame_count++;
	}

       ret = 0;
	//测试序列 gop spgop gfgop fps 目标码率 实际码率 帧编码时间 
	printf("%s_%s_%d_%d_%d\t",e_p->profile,e_p->pSeqName,e_p->gop,e_p->gfGOP,e_p->spGOP);
	printf("%d\t",e_p->fps);
	printf("%d\t",e_p->kbps);
	printf("%d\t",nTotalBytes*8/1000/(frame_count/e_p->fps));			
	printf("fps %d\n",frame_count*1000/alltime);

exit:
	if (inbuf)
	{
		delete[] inbuf;
		inbuf = NULL;
	}

	SAFE_CLOSE(fpInput);
	SAFE_CLOSE(fpOutput);

	return ret;
}