на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка программного обеспечения для фильтрации растровых изображений
p align="left">//{{AFX_DATA(CBrightContDlg)

enum { IDD = IDD_BRIGHT_CONT };

CSliderCtrlm_ctrlContrast;

CSliderCtrlm_ctrlBrightness;

CStringm_strBrightness;

CStringm_strContrast;

//}}AFX_DATA

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CBrightContDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

// Generated message map functions

//{{AFX_MSG(CBrightContDlg)

virtual BOOL OnInitDialog();

afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);

virtual void OnOK();

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_BRIGHTCONTDLG_H__310F8D78_02DE_4055_A8DD_609EFC475802__INCLUDED_)

// ChildFrm.h : interface of the CChildFrame class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_)

#define AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CChildFrame : public CMDIChildWnd

{

DECLARE_DYNCREATE(CChildFrame)

public:

CChildFrame();

// Attributes

protected:

CSplitterWnd m_wndSplitter;

public:

// Operations

public:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CChildFrame)

public:

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

protected:

virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);

//}}AFX_VIRTUAL

// Implementation

public:

virtual ~CChildFrame();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

// Generated message map functions

protected:

//{{AFX_MSG(CChildFrame)

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_CHILDFRM_H__D84A743A_B4B5_4CE3_80C2_DF6B6B8A0860__INCLUDED_)

// Filter.h : interface of CFilter and derived classes

/////////////////////////////////////////////////////////////////////////////

#ifndef _FILTER_INCLUDED

#define _FILTER_INCLUDED

class CRaster;

// Базовый виртуальный класс

class CFilter

{

protected:

CRaster *m_pSourceBM;

CRaster *m_pDestBM;

public:

// Устанавливает исходное и приемное изображения

void SetBuffers(CRaster *pSource, CRaster *pDest=NULL)

{m_pSourceBM=pSource;m_pDestBM=pDest;};

// Виртуальный метод преобразования пиксела

// будет переопределен в производных классах

virtual BOOL TransformPix(LONG x, LONG y){ return FALSE;};

};

// Базовый класс для точечных фильтров

class CDotFilter: public CFilter

{

protected:

// Таблицы преобразования для компонент цвета

BYTE BGRTransTable[3][256];

public:

// Метод преобразования пиксела

BOOL TransformPix(LONG x, LONG y);

};

// Яркость-контраст

class CBrightCont: public CDotFilter

{

public:

BOOL Init(int b_offset, int c_offset);

};

// Инверсия цветов

class CInvertColors: public CDotFilter

{

public:

CInvertColors();

};

// Рельеф

/*class CEmboss: public CDotFilter

{

public:

BOOL TransformPix(LONG x, LONG y);

};*/

// Пространственные (матричные) фильтры

// Базовый класс

class CMatrixFilter: public CFilter

{

protected:

int m_rangX; // размер матрицы по X и Y

int m_rangY;

const int *m_pMatrix; // указатель на матрицу

public:

// Метод преобразования пиксела

BOOL TransformPix(LONG x, LONG y);

};

class CBlur: public CMatrixFilter

{

public:

CBlur();

};

class CSharp: public CMatrixFilter

{

public:

CSharp();

BOOL TransformPix(LONG x, LONG y);

};

#endif

// MainFrm.h : interface of the CMainFrame class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_)

#define AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

class CMainFrame : public CMDIFrameWnd

{

DECLARE_DYNAMIC(CMainFrame)

public:

CMainFrame();

// Attributes

public:

// Operations

Public:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CMainFrame)

virtual BOOL PreCreateWindow(CREATESTRUCT& cs);

//}}AFX_VIRTUAL

// Implementation

public:

virtual ~CMainFrame();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump(CDumpContext& dc) const;

#endif

protected: // control bar embedded members

CStatusBar m_wndStatusBar;

CToolBar m_wndToolBar;

// Generated message map functions

protected:

//{{AFX_MSG(CMainFrame)

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MAINFRM_H__0E83271E_987C_45D5_8475_25E6B2754E48__INCLUDED_)

// Raster.h : interface of CRaster class

/////////////////////////////////////////////////////////////////////////////

#ifndef _RASTER_INCLUDED

#define _RASTER_INCLUDED

// макрос для определения количества байт в выровненной по DWORD строки пикселов в DIB

// Width - длина строки в пикселах; BPP - бит на пиксел

#define BYTESPERLINE(Width, BPP) ((WORD)((((DWORD)(Width) * \

(DWORD)(BPP) + 31) >> 5)) << 2)

class CRaster

{

LPBITMAPINFOm_pBMI; //указатель на описание изображения

PBYTEm_pData;//указатель на начало растровых данных

public:

CRaster();

~CRaster();

void Clear(); //очистка памяти

// Возвращает

LPBITMAPINFO GetBMInfoPtr(){return m_pBMI;}//указатель на заголовок растра

RGBQUAD* GetBMColorTabPtr();//указатель на таблицу цветов

LONG GetBMWidth(); //ширину в пикселах;

LONG GetBMHeight();//высоту в пикселах;

BYTE* GetBMDataPtr(){return m_pData;};//указатель на растровые данные

BYTE* GetPixPtr(LONG x, LONG y);//указатель на пиксел

// Загружает из файла

BOOL LoadBMP(CString FileName);

// Выводит DIB на контекст pDC

// x, y - позиция левого верхнего угла области назначения

// cx, cy - размер области назначения

// x0, y0 - позиция левого верхнего угла выводимой части изображения

// cx0, cy0 - размер выводимой части изображения

// str_mode - режим масштабирования

// rop - растровая операция определяет способ наложения изображения

void DrawBitmap(CDC *pDC, LONG x=0, LONG y=0, LONG cx=0, LONG cy=0,

LONG x0=0, LONG y0=0, LONG cx0=0, LONG cy0=0, int str_mode=COLORONCOLOR, DWORD rop=SRCCOPY);

// Выводит DIB на контекст pDC с позиции (x,y) в масштабе scale

void DrawBitmap(CDC *pDC, LONG x, LONG y, double scale, int str_mode=COLORONCOLOR, DWORD rop=SRCCOPY);

// Записывает BMP в файл

BOOL SaveBMP(CString FileName);

// Создает копию

BOOL CreateCopy(CRaster *pOrg);

// Создает растр заданного размера, совместимый с параметрами BITMAPINFO

BOOL CreateCompatible(LPBITMAPINFO pBMI, LONG width=0, LONG height=0);

// Возвращает гисторамму изображения

BOOL GetHistogham(DWORD *pHist, int Range);

};

#endif

//{{NO_DEPENDENCIES}}

// Microsoft Developer Studio generated include file.

// Used by BMViewer.rc

//

#define IDD_ABOUTBOX 100

#define IDR_MAINFRAME 128

#define IDR_BMVIEWTYPE 129

#define IDD_HIST 130

#define IDD_BRIGHT_CONT 131

#define IDD_DENOISE 132

#define IDC_SLIDER_BRIGHTNESS 1001

#define IDC_STATIC_BRIGHTNESS 1002

#define IDC_SLIDER_CONTRAST 1003

#define IDC_SLIDER_HIST_B 1003

#define IDC_STATIC_CONTRAST 1004

#define IDC_SLIDER_HIST_T 1004

#define IDC_OFFSET_B_TXT 1005

#define IDC_OFFSET_T_TXT 1006

#define IDC_NOISE_SMOOTH 1008

#define IDC_NOISE_SHOW 1009

#define IDC_K 1011

#define IDC_SPIN_K 1012

#define IDC_HIST_VIEW 1014

#define ID_VIEW_HISTOGRAM 32771

#define ID_EDIT_HISTOGRAM 32772

#define ID_EDIT_BRIGHTNESSANDCONTRAST 32773

#define ID_EDIT_INVERTCOLORS 32774

#define ID_EDIT_BLUR 32775

#define ID_EDIT_SHARP 32776

#define ID_EDIT_CONTOUR 32777

#define ID_EDIT_EDITHALF 32778

#define ID_EDIT_HALF 32779

#define ID_EDIT_EMBOSS 32780

#define ID_EDIT_DENOISE 32781

#define ID_EDIT_STOP 32782

#define ID_VIEW_ZOOMIN 32792

#define ID_VIEW_ZOOMOUT 32793

#define ID_VIEW_STRETCHHALFTONE 32794

#define ID_VIEW_STRETCHCOLORONCOLOR 32795

#define ID__DFVGD 32796

// Next default values for new objects

//

#ifdef APSTUDIO_INVOKED

#ifndef APSTUDIO_READONLY_SYMBOLS

#define _APS_3D_CONTROLS 1

#define _APS_NEXT_RESOURCE_VALUE 133

#define _APS_NEXT_COMMAND_VALUE 32797

#define _APS_NEXT_CONTROL_VALUE 1015

#define _APS_NEXT_SYMED_VALUE 101

#endif

#endif

// stdafx.h : include file for standard system include files,

// or project specific include files that are used frequently, but

// are changed infrequently

//

#if !defined(AFX_STDAFX_H__3471DB7C_3910_44C3_92EA_6D934D04BC94__INCLUDED_)

#define AFX_STDAFX_H__3471DB7C_3910_44C3_92EA_6D934D04BC94__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000

#define VC_EXTRALEAN// Exclude rarely-used stuff from Windows headers

#include <afxwin.h> // MFC core and standard components

#include <afxext.h> // MFC extensions

#include <afxdisp.h> // MFC Automation classes

#include <afxdtctl.h>// MFC support for Internet Explorer 4 Common Controls

#ifndef _AFX_NO_AFXCMN_SUPPORT

#include <afxcmn.h>// MFC support for Windows Common Controls

#endif // _AFX_NO_AFXCMN_SUPPORT

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_STDAFX_H__3471DB7C_3910_44C3_92EA_6D934D04BC94__INCLUDED_)

Страницы: 1, 2, 3, 4, 5, 6



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.