Exemplo n.º 1
0
int main(int argc, char *argv[])
{
    QStringList pluginFolders = getPluginFolders();

    QString filePath = getPluginsDir().absolutePath() + "/plugins.pro";
    openFile(filePath);

    writeTimeStamp();
    write("TEMPLATE = subdirs\n");

    if (!pluginFolders.isEmpty())
        write("SUBDIRS =");
    for (int i = 0; i < pluginFolders.size(); ++i)
        write(" \\\n\t" + pluginFolders[i]);
    write("\n");

    closeFile();
    return 0;
}
Exemplo n.º 2
0
void FRecord::record()
{
	FStateInput inputState(0);

	if(getFlag(RECORD_FLASH_R) == true)
	{	
		inputState[FLASH_CHANNEL_R] = flashIntensityR;
		(*dmx)->setSystemState(inputState);
	}

	if(getFlag(RECORD_FLASH_G) == true)
	{	
		inputState[FLASH_CHANNEL_G] = flashIntensityG;
		(*dmx)->setSystemState(inputState);
	}

	if(getFlag(RECORD_FLASH_B) == true)
	{	
		inputState[FLASH_CHANNEL_B] = flashIntensityB;
		(*dmx)->setSystemState(inputState);
	}
	msleep(1000);

	nSamples++;

	if(*camera == NULL)
		return;

	//cimg_library::CImg<unsigned char>* image;
	FImage<unsigned char> image;
	(*camera)->grab(&image());

	image.traceEdges();

	unsigned char color[] = {255,0,0};

	image.paintEdges(color);

	QApplication::beep();

	//image.speckImage()->display("title");

	dateTime = QDateTime::currentDateTime();
	int year = dateTime.date().year();
	int month = dateTime.date().month();
	int day = dateTime.date().day();
	int hour = dateTime.time().hour();
	int min = dateTime.time().minute();
	int sec = dateTime.time().second();
	int msec = dateTime.time().msec();

	FStateSens sensState;
	(*camera)->getSensorState(&sensState);

	FStateSysLed ledState;
	(*dmx)->getSystemState(&ledState);

	FStateSysRgb rgbState;
	(*camera)->getSystemState(&rgbState);

	FStateLab labState;
	//(*color)->rgb2lab(rgbState[F_STATE_SYS_RGB_R](), rgbState[F_STATE_SYS_RGB_G](), rgbState[F_STATE_SYS_RGB_B]());
	//(*color)->getSensorState(labState);
	
	image.blobs();
	
	if(getFlag(RECORD_IMAGES_ON) == true)
	{
		char saveString[255];
		sprintf(saveString, "%s\\%s_%d%02d%02d_%02d%02d%02d.bmp",mImagePath, mBaseName, year, month, day, hour, min, sec);

		image()->save(saveString);
	}

	if(getFlag(RECORD_CSV_ON) == true)
	{
		char saveString[255];
		sprintf(saveString, "%s\\%s_%d%02d%02d.csv", mCsvPath, mBaseName, year, month, day);
		
		QFile file(saveString);
		bool bHeaderWrite = false;
		bHeaderWrite = !file.exists();

		if(bHeaderWrite == true)
		{
			if(file.open(QIODevice::WriteOnly | QIODevice::Text))
			{
				std::string lineBuffer;
				lineBuffer.empty();

				writeTimeStampHeader(file);

				std::string label;
				label.empty();
				char separator = ';';

				sensState.labelString(label,separator);
				ledState.labelString(label,separator);
				rgbState.labelString(label,separator);
				refState.labelString(label,separator);
				labState.labelString(label,separator);

				file.write(label.c_str());
				file.write("\n");
				file.close();
			}

		}

		if(file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))
		{
			std::string lineBuffer;
			lineBuffer.empty();

			writeTimeStamp(dateTime, file);

			std::string values;
			values.empty();
			char separator = ';';

			sensState.valueString(values,separator);
			ledState.valueString(values,separator);
			rgbState.valueString(values,separator);
			refState.valueString(values,separator);
			labState.valueString(values,separator);

			file.write(values.c_str());
			file.write("\n");
			file.close();
		}
	}

	//delete image;
	emit recorded(nSamples);

	msleep(1000);

	if(getFlag(RECORD_FLASH_R) == true)
	{
		inputState[FLASH_CHANNEL_R] = 0;
		(*dmx)->setSystemState(inputState);	
	}
	if(getFlag(RECORD_FLASH_G) == true)
	{
		inputState[FLASH_CHANNEL_G] = 0;
		(*dmx)->setSystemState(inputState);	
	}
	if(getFlag(RECORD_FLASH_B) == true)
	{
		inputState[FLASH_CHANNEL_B] = 0;
		(*dmx)->setSystemState(inputState);	
	}
}