www.pudn.com > roadextr.rar > imgp2.h


#include	"valdef.h" 
 
#define		COLOR_FEATURE	800 
#define		TEXTURE_FEATURE	801 
 
//float	G_DifLSP_C_Hists2(float	*pHistS,float	*pHistM,int	nC); 
 
BOOL	HilditchThin(BYTE	*pucImg,int	nImgRow,int	nImgCol); 
 
void	ComputeCross(BYTE	*pucImg,int	*n,int	r,int	c,int	*k,int	*x,int	nImgCol); 
 
//void	SmallDel(BYTE	*ii,int	Row,int	Col,int	connec,int	small); 
 
 
//BOOL	GRThining(BYTE	*pucImg,int	nImgRow,int	nImgCol,int	nc); 
 
//void	RemoveSinglePt(unsigned char *pucImg,int	nRow,int nCol,int	nTW,int	nCLimit); 
 
 
//BOOL	RemoveNoise(BYTE	*pucImg,int	Row,int	Col,int	nTimesNum); 
 
 
//BOOL	DilateErose(BYTE	*pucImg,int	Row,int	Col,int	nTimesNum,int	nConnecFg,int	nSeq); 
 
//BOOL	FindAllRims(unsigned char *pucImg,int	nRow,int nCol); 
 
//BOOL	HitLossTProc(unsigned char *pucImg,int	nRow,int nCol); 
 
//BOOL	RmNoiseHLT(unsigned char *pucImg,int	nRow,int nCol); 
 
//void	DisTrans_CityBlk(unsigned char *pucImg,int	nRow,int nCol); 
 
BOOL	Dilate(BYTE	*pucImg,int	Row,int	Col,int	nTimesNum,int	nConnecFg); 
 
//void	BinAfterDisTran(unsigned char *pucImg,int	nRow,int nCol); 
 
//void	TwoImgsXor(unsigned char *pucImg1,unsigned char *pucImg2,int	nRow,int nCol); 
 
//BOOL	Erose(BYTE	*pucImg,int	Row,int	Col,int	nTimesNum,int	nConnecFg); 
 
BOOL	RemoveShortLines(unsigned char *pucImg,int	nRow,int nCol,int	nTh); 
 
//double	DisOfPtToLine(double	dfX,double	dfY, 
//					  double	dfPt1X,double	dfPt1Y, 
//					  double	dfPt2X,double	dfPt2Y); 
// 
//int		FindMaxDisPtToLine(double	*pdfX,double	*pdfY, 
//						   int		nCount, 
//						   double	dfPt1X,double	dfPt1Y, 
//					  double	dfPt2X,double	dfPt2Y,double	*pdfMaxD); 
// 
//int		CompressLine(double *pdfX,double *pdfY, 
//			int  nPtCount,double  dfThresh); 
 
//BOOL	DilateEndPt(BYTE	*pucImg,int	Row,int	Col,int	nTimesNum,int	nConnecFg); 
 
//BOOL	TraceLongestLine(unsigned char *pucImg,int	nRow,int nCol,LineSeg	*plsMaxLine); 
 
//void	RemoveOneLine(BYTE	*pucImg,int	nRow,int	nCol,LineSeg	*plsMaxLine); 
 
//bool	IsBorder(int	r,int	c,int	nRow,int	nCol); 
 
//int	RetDirofPixel(BYTE	*pucImg,int	nRow,int	nCol,int	nX,int	nY); 
// 
//void	GetGrientDirImg(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucOutIDir,BYTE	*pucOutIGrd); 
// 
//int	RetGrdofPixel(BYTE	*pucImg,int	nRow,int	nCol,int	nX,int	nY); 
// 
//void	GetDirImg(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucOutIDir); 
// 
//void	SORMSegmetation(BYTE	*pucImg,int	nRow,int	nCol,float	w); 
// 
//void	DynamicThresholding(BYTE	*pucImg,int	nRow,int	nCol,int	nW,BYTE	*pucT); 
// 
//void	DynamicThres_Hopfield(BYTE	*pucImg,int	nRow,int	nCol); 
 
//BOOL	RemoveLongLines(unsigned char *pucImg,int	nRow,int nCol,int	nTh); 
// 
//bool	MLSegRGB_YQQ(BYTE	*pucImg,int	nRow,int	nCol, 
//				 nPOINT	*pnPts,int	nIniPtC,int	nSmpWndW); 
// 
//void	GetColorFeatures_Pixel(BYTE	*pucImg,int	nRow,int	nCol, 
//					   int	x,int	y,double	*pdfColorF,int	m); 
// 
//void	SetBalck(BYTE	*pucImg,int	nCol,int	i,int	j); 
// 
//double	RetP(double	Zi,double	*B,double	*pv,int	N, /// feature number 
//			 double	*pMean,int	No); 
 
 
//double	Covariance2Vars(int	mm,int	nn,BYTE	*pucImg,int	nRow,int	nCol, 
//						int	x,int	y,int	nSmpWndW,double	*pMean,int	nPtNo, 
//						int	nFeatureFg,int	nFeatC); 
// 
//double	RetP_EuclidDis(double	Zi,double	*B,double	*pv,int	N, /// feature number 
//						double	*pMean,int	No); 
// 
//void	TextureSmoothComp(BYTE	*pucImg,int	nRow,int	nCol,int	nSmpWndW); 
 
//int	maxRGB(int	r,int	g,int	b); 
 
//int	minRGB(int	r,int	g,int	b); 
 
//bool	SegRGBImg_OneSeed(BYTE	*pucImg,int	nRow,int	nCol, 
//				 nPOINT	*pnPts,int	nSmpWndW); 
 
//void	PreSegGrayRegs(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucS, 
//						nPOINT	*pnPts,int	nSmpWndW); 
// 
//int	GrayRGB(BYTE	*pucImg,int	nRow,int	nCol,int	j,int	i); 
// 
//void	GetGrayMean_SigmaRGBWnd(BYTE	*pucImg,int	nRow,int	nCol, 
//						nPOINT	*pnPts,int	nSmpWndW,float	*mean,float	*sigma); 
// 
//bool	IsHighSaturationSeedReg(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucS, 
//								nPOINT	*pnPts,int	nSmpWndW); 
// 
//void	GetSaturation(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucS); 
 
//void	PreSegHighSaturationRegs(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucS, 
//								nPOINT	*pnPts,int	nSmpWndW); 
// 
//void	GetColorMean_SigmaWnd(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucS, 
//						nPOINT	*pnPts,int	nSmpWndW,float	*pMeans,float	*pSigmas, 
//						float	*pS,int	nFN); 
//void	DynThrGry_HopSeed(BYTE	*pucImg,int	nRow,int	nCol,nPOINT	*pnPts,int	nSmpWndW); 
// 
//void	GetGrayMean_SigmaRGBWnd2(BYTE	*pucImg,int	nRow,int	nCol, 
//						nPOINT	*pnPts,int	nSmpWndW,float	*mean,float	*sigma); 
// 
//void	DynThrColor_HopSeed(BYTE	*pucImg,int	nRow,int	nCol,nPOINT	*pnPts,int	nSmpWndW); 
// 
//float	DisRGB(int	r,int	g,int	b,float	mr,float	mg,float	mb); 
 
//void	MLP3LsTrainS_Sample(float	*pfInput,int	nN0,float	*pfHid0,int	nN1, 
//					float	*pfOutput,int	nN2,float	*pfWei01,float	*pfWei12, 
//					float	fLearnRate); 
 
//void	GetInputMLP3Ls(BYTE	*pucImg,int	nRow,int	nCol,int	y0,int	x0,float	*pfInput,int	nSmpWndW); 
// 
//void	TextureSegNN_MLP(BYTE	*pucImg,int	nRow,int	nCol,nPOINT	*pnPts,int	nSmpWndW); 
// 
//void	RunMLP3Ls(float	*pfInput,int	nN0,float	*pfHid0,int	nN1, 
//				  float	*pfOutput,int	nN2,float	*pfWei01,float	*pfWei12); 
// 
//void	InitializeWeightsMLP3Ls(float	*pfWei01,float	*pfWei12,int	nN0,int	nN1,int	nN2); 
// 
//BYTE	TextureSpec33(BYTE	*pucImg,int	nRow,int	nCol,int	r,int	c,int	radius); 
// 
//int	HistoTextureSpec(BYTE	*pucImg,int	nRow,int	nCol,double	*pdfHist,int	radius,int	*pnNums); 
// 
//int	CompactLBP_pattern(int	*ppnIndex,int	*pnC,int	*pnNums); 
// 
//BYTE	ConvertPat(BYTE	b0,int	*bc,int	n); 
// 
//int	GetIndexTxuMod(int	g,int	*ppnIndex,int	*pnC,int	C); 
 
//double	Correlation_Float(float *pfData,float *pfTemp,int nDataSize); 
// 
//void	SupTextureSegLBP(BYTE	*pucImg,int	nRow,int	nCol,int	ridus, 
//						int		nX0,int	nY0,int	nSmpW,int	nWSize); 
// 
//bool	GetImgWndGry(BYTE	*pucImg,int	nRow,int	nCol, 
//			 BYTE	*pucSmpWnd,int	nH,int	nW,int	nX0,int	nY0); 
//  
//double	Correlation_Double(double *pfData,double *pfTemp,int nDataSize); 
// 
//void	GetLBPImg(BYTE	*pucImg,int	nRow,int	nCol,int	ridus, 
//				  int	*pnNums,BYTE	*pucLBP); 
 
//void	GetCImg(BYTE	*pucImg,int	nRow,int	nCol,int	ridus,BYTE	*pucCImg); 
// 
//void	TextureSmoothComp2(BYTE	*pucImg,int	nRow,int	nCol,int	nSmpWndW); 
// 
//void	GetColorImgSatHue2DHisto(BYTE	*pucImg,int	nRow,int	nCol, 
//								float	*pfHist,int	nHueIntv,int nSatuIntv); 
// 
//void	ClassifyColors(BYTE	*pucImg,int	nRow,int	nCol,int	nHueIntv,int nSatuIntv); 
// 
//int	ClassifyKMean_Unsup_BinTree(BYTE	*pucImg,int	nRow,int	nCol,float	thr_t); 
// 
//float	RetTao_2Class(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucFgs, 
//					  int	nPointer,int	*pnMeans); 
// 
//void	K_Mean2ClassGray(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucFgs,int	nFg, 
//					   int	nMin,int	nMax,int	*pnMeans); 
// 
//float	Mean(BYTE	*pucImg,int	nC); 
 
//float	CompareHist(double	*pdfH1,double	*pdfH2,int	nC); 
// 
//int	ClassGrayKmeanMerging(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	HistNeighborEven(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	FindEdgePix(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	FindEdgePix_RGB(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucO); 
// 
//void	HistNeighborEven_RGB(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	MultiStepHNN_HistSeg_RGB(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	HNNSegOneClass(BYTE	*pucH,BYTE	*pucS,BYTE	*pucI,BYTE	*pucO, 
//					   int	nRow,int	nCol,int	g0,int	h0,int	s0, 
//					   bool	bColor,int	nN); 
 
//float	DisHS(float	H,float	S,float	H0,float	S0); 
// 
//void	ObtainHSI(BYTE	*pucImg,int nRow,int	nCol, 
//				  BYTE	*pucH,BYTE	*pucS,BYTE	*pucI); 
// 
//void	FindVellyPts(BYTE	*pucImg,int	nRow,int	nCol,BYTE	*pucO); 
// 
//void	SegRGB(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	GetHists_HSI(BYTE	*pucImg,int	nRow,int	nCol, 
//					 BYTE	*pucH,BYTE	*pucS,BYTE	*pucI,BYTE	*pucI2, 
//			 float	*pfHist_H,float	*pfHist_S,float	*pfHist_I); 
// 
//void SegRGB_GA(BYTE	*pucImg,int	nRow,int	nCol); 
// 
//void	DoExchangeGenes(int	n,Chro	*pChros,int	i,int	j,Chro ChorTmp,int	KMax); 
 
//float	RetFitKMean(short int *psnFSpc,int	nN,Chro *pChros,int	KMax,BYTE	*pucI); 
// 
////void	SegRGB_EdgeInfoCla(BYTE	*pucImg,int	nRow,int	nCol); 
//int	SegRGB_EdgeInfoCla(BYTE	*pucImg,int	nRow,int	nCol,short int *psnClass0); 
// 
//void	ConvertRGBToI1I2I3(BYTE	*pucImg,int	nRow,int	nCol,short int *psnFSpc); 
// 
//void	CmpresLinesPtC(LineSeg	*pCurve,int	nLineC,int	nTh); 
// 
//void	GetLateralPix(nPOINT	*pnptPxy,int nC,short int *psnSampA,short int *psnSampB, 
//					  short int *psnFSpc,int	nRow,int	nCol); 
// 
//int	Merge1DI1I2I3Pix(short int *psnF1D,int	nC,short int *psnOutCens,int	*pnNs,float	*pfErrors); 
// 
//void	ConvertRGBToHSI(BYTE	*pucImg,int	nRow,int	nCol,short int *psnFSpc); 
// 
//float	PixDifHSI(short int *psnF1DA,short int *psnF1DB); 
// 
//float	PixDifXYZ(short int *psnF1DA,short int *psnF1DB); 
 
//int	Merge1DI1I2I3Pix2(short int *psnF1D,int	nC,short int *psnOutCens,int	*pnNs,float	*pfErrors); 
// 
//int	MergingClassRGB(short int	*psnFSpc,int	nRow,int	nCol, 
//					short int *psnClass,int	nClsC,short int	*psnLabs); 
// 
//void	GetDif2Cls(short int *psnFSpc,int	nRow,int	nCol, 
//				   int	n1,int	n2,short int *psnLabs, 
//				   float	*pfEdgeDis,int	*pnEdgeN); 
// 
//float	FindMinClsSim(float	*pfScore,int	nClsC,int	*I,int	*J,bool *pbFgs); 
// 
//void	HNNSegOneClass_I1I2I3(short int	*psnSpcs,short int *psnLabs, 
//					   int	nRow,int	nCol,int	I1,int	I2,int	I3,int	nN); 
// 
//void	HNNSegClass_I1I2I3(short int	*psnSpcs,short int	*psnLabs, 
//					   int	nRow,int	nCol); 
// 
//void	OneSeedGrowingRGB(BYTE	*pucImg,int nRow,int nCol); 
// 
//void	RegionGrowRGB(short int *psnSpcs,BYTE	*pucImg, 
//					  int	nRow,int	nCol,int	nr,int	nc); 
// 
//void	GetGradientDirImg(BYTE	*pucImg,int nRow,int nCol);