亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

彩色轉(zhuǎn)灰度實(shí)習(xí)報(bào)告

時(shí)間:2022-08-03 16:03:58 實(shí)習(xí)報(bào)告 我要投稿
  • 相關(guān)推薦

彩色轉(zhuǎn)灰度實(shí)習(xí)報(bào)告

《面向?qū)ο蟪绦蛟O(shè)計(jì)》實(shí)習(xí)報(bào)告 彩色轉(zhuǎn)灰度

彩色轉(zhuǎn)灰度實(shí)習(xí)報(bào)告

一、功能模塊分析

這個(gè)程序主要是實(shí)現(xiàn)實(shí)現(xiàn) BMP圖片的讀取、顯示、保存與圖像處理包括灰度化。

1.圖片的存取

1.1 BMP圖片的讀取

在MyDIPDoc.cpp文件的OnOpenDocumen()函數(shù)實(shí)現(xiàn)BMP文件的讀取。讀取功能的實(shí)現(xiàn)函數(shù)中需要傳入BMP圖片的名字路徑,然后該函數(shù)沿著此路徑去尋找相應(yīng)的BMP圖片,讀取圖像數(shù)據(jù)進(jìn)內(nèi)存生成DIB,并存放在m_lpDib所指向的緩沖區(qū),若返回值為1,則會(huì)讀取打開此圖片;否則,則會(huì)報(bào)Read error的錯(cuò)誤。

1.2 BMP圖片的顯示

修改MyDIPView中的OnDraw()函數(shù)和OnInitialUpdate()函數(shù),實(shí)現(xiàn)圖片的顯示。在顯示函數(shù)實(shí)現(xiàn)其功能時(shí),需要傳入給定設(shè)備環(huán)境指針,以及需要顯示的矩形區(qū)域在設(shè)備環(huán)境中的位置,然后將m_lpDib所指向的DIB顯示出來并可根據(jù)需要設(shè)置顯示窗口大小。

1.3 BMP圖片的保存

在MyDIPDoc.cpp文件的OnSaveDocument()函數(shù)實(shí)現(xiàn)BMP文件的保存。保存圖片時(shí)則需給定一個(gè)圖像文件名及其路徑,將m_lpDib指向DIB存盤,當(dāng)找到此路徑后,應(yīng)用程序自然將其保存在當(dāng)前路徑下。

2.圖片的操作

2.1 BMP圖片的負(fù)像

void MyDIPView::OnReverse()函數(shù)將m_pImgData作為輸入圖像,將其求負(fù)像操作,結(jié)果存入m_pImgDataOut中。黑白圖像的輸出結(jié)果與原來相反,即原來的白色輸出為黑色,原來的黑色輸出為白色。對(duì)于彩色圖像,要分通道單獨(dú)處理,最終得出的仍然是彩色圖像,其色彩與原來的成互補(bǔ)關(guān)系。

2.2 BMP圖片的灰度化

void MyDIPView::OnGray()函數(shù)將m_pImgData作為輸入圖像,將其求灰值操作,結(jié)果存入m_pImgDataOut中。應(yīng)用程序丟掉圖像的彩色成分,用灰度來表示圖像的亮度信息,最終輸出黑白圖像。其只處理彩色圖像。

二、實(shí)驗(yàn)環(huán)境與步驟

一. 創(chuàng)建工程與前期準(zhǔn)備

1. 新建程序

運(yùn)行Microsoft VisualC++ 6.0在其中打開新建創(chuàng)建工程,采用MFC App Wizard應(yīng)用程序向?qū)Ы⒌腗DI(多文檔)框架的工程mtg。

2. 添加新類

向新建的工程中添加新的類CImageCenterDib和CGrayTrans,首先是將ImageCenterDib.cpp,ImageCenterDib.h;GrayTrans.cpp,GrayTrans.h這四個(gè)文件復(fù)制到所創(chuàng)建的程序中,在file view中的Source Files中添加兩個(gè).cpp的資源文件,在Head Files中添加兩個(gè).h的頭文件。并在CMtgView 類中的mtgView.cpp和MyDIP類的mtgView.cpp文件包含新加入的兩個(gè)類的頭文件#include "ImageCenterDib.h"和#include "GrayTrans.h"。其中類CImageCenterDib主要實(shí)現(xiàn)圖像的打開,顯示和保存。CGrayTrans主要實(shí)現(xiàn)對(duì)圖像的編輯。

二. 圖像的基本操作,打開,顯示和保存。

1. 在文檔類中定義一個(gè)私有屬性的ImageCenterDib類對(duì)象 m_dib,用來為打開BMP文件創(chuàng)建一個(gè)ImageCenterDib類對(duì)象。

Private :

ImgCenterDib m_dib;

并實(shí)現(xiàn)一個(gè)公有函數(shù)GetPDib(),用來返回m_dib的指針,為視圖類訪問文檔類m_dib數(shù)據(jù)提供之處。

ImgCenterDib *GetPDib()

{return &m_dib;}

2.圖像的讀取

首先通過類向?qū)騇yDIP中添加函數(shù)OnOpenDocumen()。然后在MyDIPDoc.cpp文件的OnOpenDocumen()函數(shù)中添加如下代碼,實(shí)現(xiàn)BMP文件的讀取

3.BMP圖片的保存

首先通過類向?qū)騇yDIP中添加函數(shù)OnSaveDocumen()。然后在MyDIPDoc.cpp文件中的OnSaveDocument()函數(shù)中添加如下代碼,實(shí)現(xiàn)BMP文件的保存

4.BMP圖片的顯示

用類向?qū)騇yDIPView中添加OnDraw()函數(shù)和OnInitialUpdate()函數(shù),然后再編輯其中代碼實(shí)現(xiàn)圖片的顯示和子窗口中滾動(dòng)條的添加。

三、實(shí)驗(yàn)結(jié)果及分析

一.實(shí)驗(yàn)結(jié)果截圖

1. 圖片的打開

2. 圖片的顯示

3. 圖片的保存

4. 圖片的灰度化

四.總結(jié)體會(huì)

經(jīng)過這幾天的上級(jí)實(shí)習(xí),自己的動(dòng)手能力得到了很大的提高,一些快遺忘的知識(shí)又再次得到了鞏固,可以說真來了一個(gè)總復(fù)習(xí)。由于代碼一直寫的比較亂,在程序出現(xiàn)錯(cuò)誤很難找到原因,特別是在代碼比較長(zhǎng)的的時(shí)候,于是明白了代碼的書寫規(guī)范很重要,它不僅是給機(jī)器閱讀的,只有寫的規(guī)范才能更好的讓人理解。雖然編程過程遇到一些困難難以解決,但只要仔細(xì)思考,最終還是做出來了,當(dāng)然成功的那一刻的喜悅也是無以言表的。上機(jī)最大的收獲還是懂得如何去分析需求,根據(jù)需求來設(shè)計(jì)程序的框架,以免出現(xiàn)思維混亂的的情況。當(dāng)然程序思維也得到了很大的提高,對(duì)于代碼的閱讀及修正能力也有了一些進(jìn)步。通過此次上機(jī)我還認(rèn)識(shí)到,只有通過自己實(shí)踐得到的知識(shí)才是自己的,同時(shí)通過上機(jī)才能對(duì)知識(shí)的理解的更透徹。當(dāng)然可能有些進(jìn)步我自己也沒有也沒有發(fā)覺,就像老師說的這門課程最重要的就是實(shí)踐,因此可以這么說上機(jī)有百利而無一害。

【彩色轉(zhuǎn)灰度實(shí)習(xí)報(bào)告】相關(guān)文章:

2016轉(zhuǎn)正述職報(bào)告08-05

大學(xué)轉(zhuǎn)專業(yè)怎么轉(zhuǎn)04-02

員工2022轉(zhuǎn)正述職報(bào)告09-27

2016年轉(zhuǎn)正述職報(bào)告08-05

彩色的我作文02-05

彩色幸福作文03-07

彩色的童年作文06-18

《彩色世界》教案08-27

彩色的夢(mèng)教案01-11

彩色的校園作文06-19