visual C++數字影像處理類

泡溫水澡的青蛙發表於2015-01-21

由於現在手頭的學習是關於影像處理的,有些技能肯定遲早要用上,於是決定利用假期學習Visual C++的相關知識。

今天是第一天,主要學習使用visual c++進行物件導向程式設計的基本方法。並給出數字影像處理基本類,以作為後續數字影像模式識別實際案例的程式設計基礎

1.物件導向

物件導向的程式設計的最根本目的是使程式設計師更好的理解和管理龐大而複雜的程式、為此,物件導向的程式設計圍繞真是世界的概念來組織模型,它採用物件阿里描述問題實體空間。在程式設計領域,可以用物件=資料+作用與這些資料上的操作來表示物件導向的程式設計。

在物件導向的程式設計裡,一個物件有三個基本的要素:狀態、行為和標識;

a物件的狀態包括它的屬性和這些屬性的當前值;

b物件的行為是指定義在物件型別的操作;

c標識是物件的名稱,不同的語言通常對識別符號有不同的規範,但差別很小

物件導向的核心概念就是通常所說的抽象、封裝、繼承和多型性。

(1)抽象:(2)封裝;(3)繼承;(4)多型性

2.類定義、物件定義

類是物件導向程式設計的一個實現方式,它集中體現了物件導向程式設計的特性

類定義主要包括說明和定義兩部分:

class <類名>

    private:

    protected:

    public:

};

<各成員函式的實現>

物件定義:

<類名><物件名錶>

物件名錶可以是一個物件的名稱,也可以是一個物件的指標,或者物件陣列名,多個物件名列表

物件成員的表示方法:

<物件名>.<成員名>

或者是:

<物件指標名>-><成員名>

解構函式與建構函式是兩個特殊的函式,一個負責物件的建立;一個負責物件的銷燬。

2.MFC類

一個完整的windows應用程式應該包括使用者介面、窗體、各種對話方塊、按鈕、選單等等,開發者可以利用api實現這一切,但api根據c的標準定義,用它編寫程式C++的很多特性就不能用。mfc類是位於所有api之上的類。mfc類形成了建立應用程式的框架,利用這些類可以充分支援windows應用程式的開發。mfc具有以下特點:

mfc完整的封裝了windows的api函式;具有良好的通用性和移植性;mfc wizard可以減少必要程式碼的書寫;mfc包含了c++的所有良好特性。在visual c++中,應用程式是以工程的形式存在的,工程檔案以.dsp為副檔名,副檔名為.dsw的為workspace檔案,在workspace檔案中可以存在多個project,由workspace檔案對它們統一進行管理和協調。

在設計思想上,mfc將物件導向和事件驅動結合的非常好,下面簡單介紹mfc中常用的幾個類:

文件類:用於構建應用程式的框架,為用於定義的文件類提供大量操作,如open,read等

檢視類:檢視類有CVIew及其子類構成。CView類繼承自CWnd。CViem類廣泛用於基於文件的應用程式中。

框架視窗類:為開發者提供建立應用視窗的方法。可以建立單文件和多文件兩種窗體。

對話方塊類:對話方塊類主要用於建立及操作各種各樣的模態和非模態對話方塊;

控制元件類;繪圖類及繪圖物件類;文件服務類:該類提供了各種用於處理檔案的類。

還有一些異常處理、特殊結構(list、array和map)資料庫(ODBC、DAO)的一些專用類。

應用程式的框架:在程式提供的介面中,有許多可操作的可視物件,使用者通過選取某個物件及相應操作,被選擇的物件會產生某些事件,這些事件的結果是向程式中的某些物件傳送訊息,然後這些物件呼叫相應的訊息處理機制來完成特定的操作。

windows應用程式的特點就是程式沒有特定的流程,不同的事件觸發不同的物件操作。

to be continued...

相關文章