📄 icetek-dm642-pci.c
字号:
#include "ICETEK-DM642-PCI.h"
//工作变量
#pragma DATA_SECTION(nMemTemp, ".INTPROCBUFF");
#pragma DATA_ALIGN(nMemTemp,128);
unsigned char nMemTemp[720];
#pragma DATA_SECTION(nHisto, ".INTPROCBUFF");
#pragma DATA_ALIGN(nHisto,128);
unsigned int nHisto[256];
unsigned char imgHisto[HISTOHIGH*HISTOWIDTH];
int mi,mj,m_nWork1;
unsigned int m_nWork,*pWork,js;
unsigned char *pImg,*pImg1;
void ICETEKDM642PCIBoardInit()
{
js=0;
for ( mi=0;mi<HISTOHIGH*HISTOWIDTH;mi++ )
imgHisto[mi]=1;
for ( mi=0;mi<256;mi++ )
nHisto[mi]=0;
}
#pragma CODE_SECTION(ICETEKDM642PCIStatistic,".text1")
void ICETEKDM642PCIStatistic()
{
int i;
for ( i=0;i<720;i++ )
{
nHisto[nMemTemp[i]]++;
}
}
#pragma CODE_SECTION(ICETEKDM642PCIHistogram,".text1")
void ICETEKDM642PCIHistogram()
{
m_nWork=0;
for ( mi=0;mi<256;mi++ )
if ( m_nWork<nHisto[mi] )
m_nWork=nHisto[mi];//找出最大值
m_nWork/=(HISTOHIGH-1);
for ( mi=0;mi<256;mi++ )//求显示比例
{
nHisto[mi]/=m_nWork;//除最大值再*127就是说让最多灰度值的地方显示为最高
}
for ( mi=0;mi<HISTOHIGH*HISTOWIDTH;mi++ )
imgHisto[mi]=1;//直方图最初值为1即背景为黑色
pImg=imgHisto; pImg+=((HISTOHIGH-1)*HISTOWIDTH); pImg++;
for ( mi=1;mi<255;mi++,pImg++ )
{
for ( mj=0,pImg1=pImg;mj<nHisto[mi];mj++,pImg1-=HISTOWIDTH )
(*pImg1)=200;
}
//js++; js%=2;
for ( mi=0;mi<256;mi++ )
nHisto[mi]=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -