freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc數(shù)字圖像處理課程設(shè)計說明書-在線瀏覽

2025-08-08 16:28本頁面
  

【正文】 3 系統(tǒng)設(shè)計 本階段的主要任 務(wù)是 設(shè)計程序的體系結(jié)構(gòu),確定程序組成模塊,以及各模塊之間的關(guān)系。 系統(tǒng)總體結(jié)構(gòu)設(shè)計 系統(tǒng)總體結(jié)構(gòu)圖 數(shù)字圖像處理界面 的總體結(jié)構(gòu)設(shè)計如圖 所示 : 主界面 圖像 特效顯示 圖像的 灰度變換 圖像邊緣檢測和形態(tài)學處理 圖像的增強處理 圖像的 鏡像與旋轉(zhuǎn)變換 歡迎界面 開 始 《 VC++》課程設(shè)計 6 圖 數(shù)字圖像 處理 界面 總體結(jié)構(gòu)設(shè)計 系統(tǒng)模塊設(shè)計 模塊設(shè)計是對處理流程圖的注 釋性書面文件,以幫助程序設(shè)計人員進一步了解模塊的功能和設(shè)計要求 數(shù)字 圖像處理系統(tǒng) 主要分為 兩大模塊,即歡迎界面和主界面 ,其中主界面又分為文件操作模塊 ,特效顯示模塊 ,圖像鏡像與旋轉(zhuǎn)模塊 ,圖像增強處理模塊 ,圖像邊緣檢測和形態(tài)學處理模塊 。 : (1) 文件操作模塊 : 該模塊主要實現(xiàn)圖像的文件操作 ,包括新建操作 ,打開操作 .保存操作 ,另存為操作 ,關(guān)閉操作 ,打印操作等。 (3) 圖像鏡像與旋轉(zhuǎn)模塊 :該模塊實現(xiàn)了圖像的鏡像變換和圖像旋轉(zhuǎn)顯示 ,包括水平鏡像 ,垂直鏡像 ,順時針旋轉(zhuǎn) 90 度 ,逆時針旋轉(zhuǎn) 90 度 ,圖像旋轉(zhuǎn) 180 度 。 (5) 圖像邊緣檢測模塊 :該模塊實現(xiàn)了圖像邊緣輪廓檢測 , 包括羅伯茨算子邊緣檢測 ,圖像輪廓提取。 4 系統(tǒng)詳細設(shè)計 基類的設(shè)計 BMP 文件是 Windows 操作系統(tǒng)所推薦和支持的圖像文件格式 ,是一種將內(nèi)存或顯示器的圖像數(shù)據(jù)不經(jīng)過壓縮而直接按位存盤的文件格式 , 同時 BMP 文件文件可以分為 DIB格式和 DDB格式 ,其中 DIB格式是與設(shè)備無關(guān)的 BMP文件 ,通用性很強 。在這里我們命名這個基類為ImgCenterDib,各種算 法的實現(xiàn)都是以 ImgCenterDib 類為基類派生出來 。 //圖像數(shù)據(jù)指針 LPRGBQUAD m_lpColorTable。 //每像素占的位數(shù) private: LPBYTE m_lpDib。 //邏輯調(diào)色板句柄 int m_nColorTableLength。 //圖像的寬,像素為單位 int m_imgHeight。 //圖像信息頭指針 public: ImgCenterDib()。 //帶參數(shù)的構(gòu)造函數(shù) ~ImgCenterDib()。//獲取 DIB的尺寸(寬高) BOOL Read(LPCTSTR lpszPathName)。 //DIB 寫函數(shù) BOOL Draw(CDC* pDC, CPoint origin, CSize size)。 //用新的數(shù)據(jù)替換 DIB int ComputeColorTabalLength(int nBitCount)。//創(chuàng)建邏輯調(diào)色板 void Empty()。 同時將各個模塊函數(shù)封裝起來 成為一個類 ,這些類都以 ImgCenterDib 類共有繼承 ,在主程序中調(diào)用 ,減少代碼的重復性 ,提高利用率。 設(shè)計思想 :歡迎界面在程序運行時是以圖形式顯現(xiàn)的 ,這里要封裝一個 位圖的類 Cbtmap(派生于位圖類 CBitmap),獲取圖像的寬 ,高 ,創(chuàng)建邏輯調(diào)色板等等 。 啟動窗口 類的主要代碼如下 : class Csplash : public CWnd { public: Csplash()。//調(diào)用 CreateEx創(chuàng)建窗口 public: virtual ~Csplash()。 //}}AFX_MSG DECLARE_MESSAGE_MAP() private: Cbtmap m_bitmap。 位圖類的主要代碼如下 : class Cbtmap : public CBitmap { public: DECLARE_DYNAMIC(Cbtmap) Cbtmap()。 基類 ImgCenterDib(public) 派生的特效顯示類 :SpecialEffectShow 派生的灰度變換類 :GrayTrans 派生的圖像增強類 :Pic_Enhance 派生的幾何變換類 :GeometryTrans 派生的圖像邊緣檢測類 : Pic_Segment 《 VC++》課程設(shè)計 9 CPalette *GetPalette(){return m_pPalette。 public: virtual ~Cbtmap()。 int m_Height。 }。 //聲明 Splash 類的對象 (IDB_WZDSPLASH)。 Sleep(2021)。 通過對用戶的需求分析得出文件操作模塊的功能結(jié)構(gòu)圖,文件操作模塊的功能結(jié)構(gòu)圖如圖 所示 : 圖 文件操作模塊功能結(jié)構(gòu)圖 文件操作模塊 打開操作 新建操作 圖 像 保 存 圖 像 打 印 另存為操作 關(guān)閉操作 《 VC++》課程設(shè)計 10 在 文件操作模塊 ,新建操作 ,關(guān)閉操作 和圖像打印操作可以直接調(diào)用系統(tǒng)提供的不需要重載的函數(shù)很容易就實現(xiàn) ,其他操作 都需要將文件 下的 .bmp格式的圖像數(shù)據(jù)讀進計算機內(nèi)存中生成 DIB, 存放在 m_lpDib(指向 DIB 的指針 )所指向的緩沖區(qū) 。 調(diào)用 ImgCenterDib 的 Read函數(shù)讀圖 形入內(nèi)存中 。 調(diào)用 ImgCenterDib 的 write函數(shù)讀圖形入內(nèi)存中 。 經(jīng)過分析圖像特效顯示功能,得出圖像處理的功能模塊圖如圖 所示 : 圖 特效顯示模塊 功能結(jié)構(gòu) 圖 特效顯示類 SpecialEffectShow 是在基類 ImgCenterDib 基礎(chǔ)上派生出來的 ,特效顯示類設(shè)計代碼如下 : class SpecialEffectShow : public ImgCenterDib { public: SpecialEffectShow( CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData)。//掃描特效顯示 void Slide(CDC*pDC)。//漸進特效顯示 virtual ~SpecialEffectShow()。//防止從外部訪問無參數(shù)的構(gòu)造函數(shù) }。 經(jīng)過分析圖像 灰度變換 功能,得出圖像處理的功能 模塊圖如圖 所示 : 獲取文檔類中 m_dib 的指針,訪問當前DIB 數(shù)據(jù) 。 獲得設(shè)備環(huán)境變量 。 《 VC++》課程設(shè)計 13 圖 灰度變換模塊 功能結(jié)構(gòu)圖 灰度變換類 GrayTrans是在基類 ImgCenterDib基礎(chǔ)上派生出來的 , 灰度變換類設(shè)計代碼如下 : class GrayTrans:public ImgCenterDib { public: int m_nBitCountOut。 //輸出圖像位圖數(shù)據(jù)指針 LPRGBQUAD m_lpColorTableOut。 //圖像的寬,像素為單位 int m_imgHeightOut。 //輸出圖像顏色表長度 public: GrayTrans()。 //帶參數(shù)的構(gòu)造函數(shù) ~GrayTrans()。//以像素為單位返回輸出圖像的寬和高 void ColorToGray()。 //灰度變彩色格式 void Binary(int threshold=128)。 利用類向?qū)?,給相應(yīng)的控件定義消息處理函數(shù),如下表 表 2 主要的消息處理函數(shù)表 序號 ID 號及類名 消息處理函數(shù) 函數(shù)功能 1 ID_TOGRAY OnTogray 彩色變灰度格式 2 ID_Graytocolor OnGraytocolor 灰度變彩色格式 3 ID_BinTwo OnBinTwo 二值化 在 重載消息處理函數(shù) ,這三個消息處理函數(shù)代碼基本灰度變換模 塊塊 彩色變灰度格 式 灰度變彩色格式 二值化 《 VC++》課程設(shè)計 14 相似 ,共同操作 偽代碼如下 : 功能截圖如下 : 彩色變灰度格式 : 灰度變彩色格式 : 二值化 : 獲取文檔類中 m_dib 的指針,訪問當前 DIB 數(shù)據(jù) 。 分別 定義 GrayTrans 類的對象 ,調(diào)用相應(yīng)的函數(shù) 。 《 VC++》課程設(shè)計 15 (4)圖像鏡像與旋轉(zhuǎn)模塊 圖像鏡像與旋轉(zhuǎn)模塊實現(xiàn)了圖像的鏡像變換和圖像旋轉(zhuǎn)顯示 ,包括水平 鏡像 ,垂直鏡像 ,順時針旋轉(zhuǎn) 90 度 ,逆時針旋轉(zhuǎn) 90度 ,圖像旋轉(zhuǎn) 180 度。該類與 灰度變換類 GrayTrans 有相同的成員變量 ,其成員 函數(shù) 除 CSize GetDimensions()函數(shù)外變?yōu)?: GeometryTrans()。 //帶參數(shù)的構(gòu)造函數(shù) ~GeometryTrans()。 //平移 void MirrorHori()。//垂直鏡像 void Clockwise90()。//逆時針旋轉(zhuǎn) 90 度 void Rotate180()。 判斷灰度圖像或者彩色圖像 。 建立一個新視圖,顯示分割結(jié)果 。 圖像增強處理類 Pic_Enhance是在基類 ImgCenterDib基礎(chǔ)上派生出來的 , 圖像增強處理類 設(shè)計代碼如下 : class Pic_Enhance:public ImgCenterDib { public: int m_nBitCountOut。 LPRGBQUAD m_lpColorTableOut。 public: Pic_Enhance()。 ~Pic_Enhance()。 //梯度銳化 }。 判斷是否是灰度圖像 ,若是進行下一步 ,否則警告 。 建立一個新視圖,顯示操作 結(jié)果 。該類與 灰度變換類 GrayTrans 有相同的成員 變量 ,其成員函數(shù)除 CSize GetDimensions()函數(shù)相同 ,其他的成員函數(shù)如下 : Pic_Segment()。 //帶參數(shù)的構(gòu)造函數(shù) ~Pic_Segment()。//Roberts算 void ContourExtract()。 判斷是否是灰度圖像 (二值圖像 ),若是進行下一步 ,否則警告 。 建立一個新 視圖,顯示操作 結(jié)果 。編程中在不同類之間函數(shù)參數(shù)和變量的傳遞和函數(shù)的調(diào)用出了問題 ,但是理清函數(shù)的編譯編譯順序和變量的類型這些問題都逐一解決 ,同時增強了對工具欄 ,菜單欄的手動操作能力。 該數(shù)字圖像界面 是基于 Microsoft Visual C++ 的 MFC 多文檔實現(xiàn)的 ,在界面設(shè)計上看起來過于單調(diào) ,界面設(shè)計簡單 ,但易于操作 。 [1] 鄭莉 董淵 張瑞豐 , C++語言程 序設(shè)計 (第三版 ), 清華大學出版社 2021 [2]David (美 )等 , Visual C++ 技術(shù)內(nèi)幕 ,北京希望電子出版社 ,2021 [3]謝鳳英 趙丹培 , Visual C++ 數(shù)字圖像處理 ,電子工業(yè)出版社 ,2021 [4]求是科技 張宏林 ,精通 Visual C++ 數(shù)字圖像處理典型算法及實現(xiàn) ,人民郵電出版社 ,2021 [5]劉銳寧 宋坤等 , Visual C++從入門到精通 ,清華大學出版社 ,2021 《 VC++》課程設(shè)計 21 關(guān)鍵源代碼 : ///////////////////////ImgCenterDib::ImgCenterDib() //缺省變量的構(gòu)造函數(shù) { m_lpDib=NULL。 m_lpColorTable=NULL。 // 圖像數(shù)據(jù)指針為空 m_lpBmpInfoHead=NULL。//調(diào)色板為空 } ImgCenterDib::ImgCenterDib(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData) { if(pImgData==NULL){//沒有位圖數(shù)據(jù)傳入, DIB為空 m_lpDib=NULL。 m_pImgData=NULL。 m_hPalette = NULL。 m_imgHeight=。
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1