Ejemplo n.º 1
0
void CompressionThread::mainLoop()
{
	if(compressMode_)
	{
		if(!uncompressedData_.empty())
		{
			if(image_)
			{
				compressedData_ = compressImage2(uncompressedData_, format_);
			}
			else
			{
				compressedData_ = compressData2(uncompressedData_);
			}
		}
	}
	else // uncompress
	{
		if(!compressedData_.empty())
		{
			if(image_)
			{
				uncompressedData_ = uncompressImage(compressedData_);
			}
			else
			{
				uncompressedData_ = uncompressData(compressedData_);
			}
		}
	}
	this->kill();
}
Ejemplo n.º 2
0
void Link::setUserData(const cv::Mat & userData)
{
	if(!userData.empty() && (!_userDataCompressed.empty() || !_userDataRaw.empty()))
	{
		UWARN("Writing new user data over existing user data. This may result in data loss.");
	}
	_userDataRaw = cv::Mat();
	_userDataCompressed = cv::Mat();

	if(!userData.empty())
	{
		if(userData.type() == CV_8UC1) // Bytes
		{
			_userDataCompressed = userData; // assume compressed
		}
		else
		{
			_userDataRaw = userData;
			_userDataCompressed = compressData2(userData);
		}
	}
}