www.pudn.com > SobelKirsch.rar > SpecialDetectionFilter.h
/////////////////////////////////////////////////////////////////////////////////
//
// SpecialDetectionFilter.h: interface for the CSpecialDetectionFilter class.
//
////////////////////////////////////////////////////////////////////////////////
// 版权所有(2002)
// Copyright(2002)
// 编写者: 向世明
// Author: Xiang Shiming
#ifndef _CSOBELKRISCHFLT_H
#define _CSOBELKRISCHFLT_H
#ifndef _CIMGAREAPROCESS_H
#include "ImageAreaProcess.h"
#endif
class CSpecialDetectionFilter : public CImageAreaProcess
{
DECLARE_DYNAMIC(CSpecialDetectionFilter)
public:
CSpecialDetectionFilter();
virtual ~CSpecialDetectionFilter();
public:
void Binchange(LPBYTE lpbyBits32, int x, int y, int m_nWidth, int m_nHeight,int nScanWidth, int nScanHeight, int m_nThreshold);
BOOL Filter(LPBYTE lpbyBits32, int x, int y, int nWidth, int nHeight, int nScanWidth, int nScanHeight);
#ifdef _DEBUG
virtual void Dump(CDumpContext& dc) const;
virtual void AssertValid() const;
#endif
protected:
PIXELCOLORRGB Specialize(BYTE *pbyRed, BYTE *pbyGreen, BYTE *pbyBlue, int nNum);
PIXELCOLORRGB Kirsch(BYTE *pbyRed, BYTE *pbyGreen, BYTE *pbyBlue, int nNum);
PIXELCOLORRGB Sobel(BYTE *pbyRed, BYTE *pbyGreen, BYTE *pbyBlue, int nNum);
PIXELCOLORRGB FilterPixelInner(LPBYTE lpbyBitsSrc32, int x, int y, int nScanWidth, int nScanHeight);
PIXELCOLORRGB FilterPixelOnBorder(LPBYTE lpbyBitsSrc32, int x, int y, int nScanWidth, int nScanHeight);
};
#endif