예제 #1
0
bool ReliabilityHistogram::run()
{
	if(firstTime)
	{
		if(thermalARGB32.empty() || thermalARGB32.data == NULL)
		{
			this->height = m_data->reliabilityMap->height();
			this->width = m_data->reliabilityMap->width();
			this->thermalARGB32 = cv::Mat(height, width, CV_8UC4 );
		}

		QByteArray string8bit = this->fileMaskName.toLocal8Bit();
//		this->fieldMask = cv::imread(string8bit.data(), CV_LOAD_IMAGE_GRAYSCALE );
        this->fieldMask = cv::Mat();
		this->firstTime = false;
	}

	if(m_data->reliabilityMap->bits() == NULL || m_data->reliabilityMap->isNull() )
	{
		AppendToLog("ReliabilityHistogram: Warning: 'reliability map' not found.\n");
		return true;
	}

	memcpy(thermalARGB32.data, m_data->reliabilityMap->bits(), height*m_data->reliabilityMap->bytesPerLine());
#ifdef __OPENCV3__
    cv::cvtColor(thermalARGB32, currThermal, cv::COLOR_RGBA2BGR);
#else
    cv::cvtColor(thermalARGB32, currThermal, CV_RGBA2BGR);
#endif
    reliability = thermal.thermalToReliability( currThermal );

  float range[] = { 0, 255 } ;
  const float* histRange = { range };
  cv::calcHist( &reliability, 1, 0, this->fieldMask, reliabHisto, 1, &numBins, &histRange, true, true );

	if(m_data->frameNumber == this->showDataAtFrame)
	{
		cv::normalize(this->reliabHisto, histNorm, 0, 100, cv::NORM_MINMAX, -1, cv::Mat() );
		for(int i = 0; i < 256; i++)
		{
			std::cout << histNorm.at<float>(i) << " ";
		}
		std::cout<< std::endl;
	}

	if(showHistogram)
		displayHistogram(this->reliabHisto);

	return true;
}
예제 #2
0
파일: PointerLab.c 프로젝트: forstezt/CS252
int main() {
	
	int numScores = 0;
	int scores[100];	
	int* numScoresPointer = &numScores;

	readScores(scores, numScoresPointer);
	printf("\n\nScores:\n");
	displayScores(scores, numScores);




	int numFreq = 0;
	struct freq frequencies[numScores];
	
	int i;
	for (i = 0; i < numScores; i++) {
		(*(frequencies + i)).number = 0;
	}

	int* numFreqPointer = &numFreq;




	calcHistogram(frequencies, numFreqPointer, scores, numScores);
	printf("\n\n\nUnsorted Histogram:\n");
	displayHistogram(frequencies, numFreq);

	sortHistogram(frequencies, numFreq);
	printf("\n\n\nSorted Histogram:\n");
	displayHistogram(frequencies, numFreq);

	return 0;
}
/***************************************************************************//**
 * Menu_PointProcesses_ModifiedContrastStretch
 * Author - Derek Stotz
 *
 * Displays an image histogram generated by QtImageLib subroutines
 *
 * Parameters -
            image - the image object to manipulate.
 *
 * Returns
 *          true if successful, false if not
 ******************************************************************************/
bool PointProcessor::Menu_PointProcesses_ViewImageHistogram(Image &image)
{
    displayHistogram(image.Histogram(), "Image Histogram");
    return true;
}