histquiz.c

来自「在DM642上实现双通道采集并实现了实时匹配」· C语言 代码 · 共 61 行

C
61
字号
//#include "stdafx.h"
#include <math.h>
//#include <direct.h>
//#include <complex>
//using namespace std;
void histquiz( char *frameIn[], char *frm_out[])
{
    char *pSrcY = frameIn[0];
    char *pSrcU = frameIn[1];
    char *pSrcV = frameIn[2];

    char *pDestY = frm_out[0];
    char *pDestU = frm_out[1];
    char *pDestV = frm_out[2];

    
   int i,j,k,l,m,n;
   unsigned char a;
    
    unsigned long H[256]=0;
    unsigned long Hc[256]=0;
    unsigned long T[256]=0;
    
	for(i=0;i<576;i++)
		{
			for(j=0;j<720;j++)
			{
				
				a=(*(pSrcY+i*720+j));
				H[a]=H[a]+1;
			}
		}
		Hc[0]=H[0];
		for(k=1;k<256;k++)
		{
			Hc[k]=Hc[k-1]+H[k];
		}
		for(l=0;l<256;l++)
		{
			T[l]=(floor((219*Hc[l]/576/720)));
		}
			
		for(m=0;m<576;m++)
		{
			for(n=0;n<360;n++)
			{
				
				a=(*(pSrcY+m *720+n*2));
				*(pDestY+m *720+n*2)=(unsigned char)T[a];
				a=(*(pSrcY+m *720+n*2+1));
				*(pDestY+m *720+n*2+1)=(unsigned char)T[a];
				*(pDestU+m *360+n)=*(pSrcU+m*360+n);
				*(pDestV+m *360+n)=*(pSrcV+m*360+n);
			}
		}
   

    return ;
}

⌨️ 快捷键说明

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