icetek-dm642-pci.c

来自「ICETEK-DM642-EDUlabv1.3.rar」· C语言 代码 · 共 58 行

C
58
字号
#include "math.h"
#include "ICETEK-DM642-PCI.h"

//工作变量
#pragma DATA_SECTION(nMemTemp, ".INTPROCBUFF");
#pragma DATA_ALIGN(nMemTemp,128);
unsigned char nMemTemp[720];
#pragma DATA_SECTION(fHisto, ".INTPROCBUFF");
#pragma DATA_ALIGN(fHisto,128);
float fHisto[256];
#pragma DATA_SECTION(lut, ".INTPROCBUFF");
#pragma DATA_ALIGN(lut,128);
unsigned char lut[256];
int mi,mj,m_nWork1;
unsigned int m_nWork,*pWork,js;
unsigned char *pImg,*pImg1;
float m_fWork;

void ICETEKDM642PCIBoardInit()
{
	js=0;
	for ( mi=0;mi<256;mi++ )
	{
		fHisto[mi]=0.0f;
		lut[mi]=0;
	}
}

#pragma CODE_SECTION(ICETEKDM642PCIStatistic,".text1")
void ICETEKDM642PCIStatistic()
{
	int i;
	for ( i=0;i<720;i++ )
	{
		fHisto[nMemTemp[i]]++;
		nMemTemp[i]=lut[nMemTemp[i]];
	}
}

#pragma CODE_SECTION(ICETEKDM642PCIHistogramEnhance,".text1")
void ICETEKDM642PCIHistogramEnhance()
{
	m_fWork=720*576; fHisto[0]/=m_fWork;
	for ( mi=1;mi<256;mi++ )
	{
		fHisto[mi]/=m_fWork;
		fHisto[mi]+=fHisto[mi-1];
	}
	for ( mi=0;mi<256;mi++ )
	{
		m_fWork=fHisto[mi];
		m_fWork*=255;
		lut[mi]=(unsigned char)m_fWork;
	}
	for ( mi=0;mi<256;mi++ )
		fHisto[mi]=0.0f;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?