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

正文內(nèi)容

基于vc數(shù)字圖像處理課程設計說明書(編輯修改稿)

2025-02-12 14:22 本頁面
 

【文章內(nèi)容簡介】 功能截圖如下:掃描顯示: 滑動顯示:漸進顯示(3)圖像灰度變換模塊圖像灰度變換模塊實現(xiàn)了彩色圖像變灰度格式,灰度圖像變彩色格式和二值化操作。經(jīng)過分析圖像灰度變換功能,:灰度變換模塊塊 二值化灰度變彩色格式彩色變灰度格式 灰度變換模塊功能結構圖灰度變換類GrayTrans是在基類ImgCenterDib基礎上派生出來的, 灰度變換類設計代碼如下:class GrayTrans:public ImgCenterDib{public: int m_nBitCountOut。 //輸出圖像每像素位數(shù)unsigned char * m_pImgDataOut。 //輸出圖像位圖數(shù)據(jù)指針LPRGBQUAD m_lpColorTableOut。 //輸出圖像顏色表private: int m_imgWidthOut。 //圖像的寬,像素為單位int m_imgHeightOut。 //圖像的高 int m_nColorTableLengthOut。 //輸出圖像顏色表長度public: GrayTrans()。//不帶參數(shù)的構造函數(shù) GrayTrans(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData)。 //帶參數(shù)的構造函數(shù)~GrayTrans()。 CSize GetDimensions()。//以像素為單位返回輸出圖像的寬和高 void ColorToGray()。//彩色變灰度格式 void GrayToColor()。 //灰度變彩色格式 void Binary(int threshold=128)。 //二值化}。利用類向?qū)Вo相應的控件定義消息處理函數(shù),如下表表2 主要的消息處理函數(shù)表序號ID號及類名消息處理函數(shù)函數(shù)功能1ID_TOGRAYOnTogray彩色變灰度格式2ID_GraytocolorOnGraytocolor灰度變彩色格式3ID_BinTwoOnBinTwo二值化,這三個消息處理函數(shù)代碼基本相似,共同操作偽代碼如下:獲取文檔類中m_dib的指針,訪問當前DIB數(shù)據(jù)。判斷灰度圖像還是彩色圖像。分別定義GrayTrans類的對象,調(diào)用相應的函數(shù)。建立一個新視圖,顯示分割結果。 功能截圖如下: 彩色變灰度格式: 灰度變彩色格式:二值化:(4)圖像鏡像與旋轉模塊鏡像與旋轉模塊圖像鏡像與旋轉模塊實現(xiàn)了圖像的鏡像變換和圖像旋轉顯示,包括水平鏡像,垂直鏡像,順時針旋轉90度,逆時針旋轉90度,圖像旋轉180度。:旋轉180度水平鏡像垂直鏡像順時針旋轉90逆時針旋轉9090圖 圖像鏡像與旋轉模塊功能結構圖 鏡像與旋轉類GeometryTrans是在基類ImgCenterDib基礎上派生出來的。該類與灰度變換類GrayTrans有相同的成員變量,其成員函數(shù)除CSize GetDimensions()函數(shù)外變?yōu)?GeometryTrans()。GeometryTrans(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData)。 //帶參數(shù)的構造函數(shù)~GeometryTrans()。void Move(int offsetX, int offsetY)。 //平移void MirrorHori()。//水平鏡像void MirrorVerti()。//垂直鏡像void Clockwise90()。//順時針旋轉90度void Anticlockwise90()。//逆時針旋轉90度void Rotate180()。//旋轉180利用類向?qū)Вo相應的控件定義消息處理函數(shù),如下表表3 主要的消息處理函數(shù)表序號ID號及類名消息處理函數(shù)函數(shù)功能1ID_XmirrorOn Xmirror水平鏡像2ID_YmirrorOn Ymirror垂直鏡像3ID_Clock90On Clock90順時針旋轉90度4D_AnticClock90On AnticClock90逆時針旋轉90度5ID_Clock180On Clock180旋轉180度,這五個消息處理函數(shù)代碼基本相似,共同操作偽代碼如下:獲取文檔類中m_dib的指針,訪問當前DIB數(shù)據(jù)。判斷灰度圖像或者彩色圖像。分別定義GeometryTrans類的對象,調(diào)用相應的函數(shù)。建立一個新視圖,顯示分割結果。 功能截圖如下: 水平鏡像: 垂直鏡像: 順時針旋轉90度: 逆時針旋轉90度: 旋轉180度: (5)圖像增強處理模塊圖像增強處理模塊主要實現(xiàn)了圖像銳化效果,是模糊的圖像變得更加清晰,顏色變得鮮明突出,更適合人眼觀察和識別。圖像增強處理類Pic_Enhance是在基類ImgCenterDib基礎上派生出來的, 圖像增強處理類設計代碼如下:class Pic_Enhance:public ImgCenterDib { public:int m_nBitCountOut。 unsigned char * m_pImgDataOut。 LPRGBQUAD m_lpColorTableOut。 int m_nColorTableLengthOut。public: Pic_Enhance()。 Pic_Enhance(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData)。~Pic_Enhance()。 void GradSharp(BYTE bThre)。 //梯度銳化}。利用類向?qū)?,給相應的控件定義消息處理函數(shù),如下表 表4 主要的消息處理函數(shù)表序號ID號消息處理函數(shù)函數(shù)功能1ID_RuihuaOnRuihua圖像銳化獲取文檔類中m_dib的指針,訪問當前DIB數(shù)據(jù)。判斷是否是灰度圖像,若是進行下一步,否則警告。定義Pic_Enhance類的對象,調(diào)用GradSharp函數(shù)。建立一個新視圖,顯示操作結果。,偽代碼敘述如下:功能截圖如下:(6) 圖像邊緣檢測模塊圖像邊緣檢測模塊實現(xiàn)了圖像邊緣輪廓檢測, 包括羅伯茨算子邊緣檢測,圖像輪廓提取,:圖像邊緣檢測模塊 圖像輪廓提取羅伯茨算子邊緣檢測 圖像邊緣檢測類Pic_Segment是在基類ImgCenterDib基礎上派生出來的。該類與灰度變換類GrayTrans有相同的成員變量,其成員函數(shù)除CSize GetDimensions()函數(shù)相同,其他的成員函數(shù)如下: Pic_Segment()。Pic_Segment(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData)。 //帶參數(shù)的構造函數(shù) ~Pic_Segment()。void Roberts()。//Roberts算void ContourExtract()。//輪廓提取利用類向?qū)?,給相應的控件定義消息處理函數(shù),如下表表5 主要的消息處理函數(shù)表序號 ID號 消息處理函數(shù) 函數(shù)功能1 ID_Roberts On Roberts 羅伯茨算子2 ID_Outline On Outline 輪廓提取,這2個消息處理函數(shù)代碼基本相似,共同操作偽代碼敘述如下:獲取文檔類中m_dib的指針,訪問當前DIB數(shù)據(jù)。判斷是否是灰度圖像(二值圖像),若是進行下一步,否則警告。在消息函數(shù)定義Pic_Segment類的1個對象segmen,調(diào)用Roberts(或ContourExtract)函數(shù)。建立一個新視圖,顯示操作結果。功能截圖如下:羅伯茨算子:輪廓提取:5 結論與心得體會 這次課程設計是以Microsoft Visual C++ 文檔視圖編程為基礎實現(xiàn)的,這就要求對MFC文檔視圖操作有一定的了解和操作編程能力,在做課程設計前,我查閱了該方面相關的書籍,對我完成歡迎界面和主界面的設計有很大的幫助。編程中在不同類之間函數(shù)參數(shù)和變量的傳遞和函數(shù)的調(diào)用出了問題,但是理清函數(shù)的編譯編譯順序和變量的類型這些問題都逐一解決,同時增強了對工具欄,菜單欄的手動操作能力。 ,數(shù)字圖像處理關鍵是算法的設計思想和算法的實現(xiàn),通過這次課程設計,使我了解到了算法設計的重要性(算法設計是編程實現(xiàn)的前提),提高了自己動手編程的能力和汲取一些先進算法的思想,這對以后圖像處理的深入學習大有幫助。 該數(shù)字圖像界面是基于Microsoft Visual C++ ,在界面設計上看起來過于單調(diào),界面設計簡單,但易于操作。 Visual C++ ,更接近軟件系統(tǒng),給人不一樣的感覺,提高了工具欄和菜單欄的編程實現(xiàn)難度和設計的復雜度,這是今后學習的方向。[1] 鄭莉 董淵 張瑞豐, C++語言程序設計(第三版), 清華大學出版社 2003[2]David (美)等, Visual C++ ,北京希望電子出版社,2002[3]謝鳳英 趙丹培, Visual C++ 數(shù)字圖像處理,電子工業(yè)出版社,2008[4]求是科技 張宏林,精通Visual C++ 數(shù)字圖像處理典型算法及實現(xiàn),人民郵電出版社,2008[5]劉銳寧 宋坤等, Visual C++從入門到精通,清華大學出版社,2008關鍵源代碼:///////////////////////ImgCenterDib::ImgCenterDib() //缺省變量的構造函數(shù){ m_lpDib=NULL。//初始化m_lpDib為空。 m_lpColorTable=NULL。//顏色表指針為空 m_pImgData=NULL。 // 圖像數(shù)據(jù)指針為空 m_lpBmpInfoHead=NULL。 // 圖像信息頭指針為空 m_hPalette = NULL。//調(diào)色板為空}ImgCenterDib::ImgCenterDib(CSize size, int nBitCount, LPRGBQUAD lpColorTable, unsigned char *pImgData){ if(pImgData==NULL){//沒有位圖數(shù)據(jù)傳入,DIB為空 m_lpDib=NULL。 m_lpColorTable=NULL。 m_pImgData=NULL。 m_lpBmpInfoHead=NULL。 m_hPalette = NULL。 } else{ m_imgWidth=。 m_imgHeight=。 m_nBitCount=nBitCount。 m_nColorTableLength=ComputeColorTabalLength(
點擊復制文檔內(nèi)容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1