




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一.一個(gè)簡(jiǎn)單的“photoshop”軟件二.設(shè)計(jì)目的:數(shù)字圖像處理,就是用數(shù)字計(jì)算機(jī)及其他有關(guān)數(shù)字技術(shù),對(duì)圖像進(jìn)行處理,以達(dá)到預(yù)期的目的。隨著計(jì)算機(jī)的發(fā)展,圖像處理技術(shù)在許多領(lǐng)域得到了廣泛應(yīng)用,數(shù)字圖像處理已成為電子信息、通信、計(jì)算機(jī)、自動(dòng)化、信號(hào)處理等專業(yè)的重要課程。數(shù)字圖像處理課程設(shè)計(jì)是在完成數(shù)字圖像處理的相關(guān)理論的學(xué)習(xí)后,進(jìn)行的綜合性訓(xùn)練課程,其目的主要包括:1、使學(xué)生進(jìn)一步鞏固數(shù)字圖像處理的基本概念、理論、分析方法和實(shí)現(xiàn)方法;2、增強(qiáng)學(xué)生應(yīng)用VC++編寫數(shù)字圖像處理的應(yīng)用程序及分析、解決實(shí)際問(wèn)題的能力;3、嘗試將所學(xué)的內(nèi)容解決實(shí)際工程問(wèn)題,培養(yǎng)學(xué)生的工程實(shí)踐能力,提高工科學(xué)生的就業(yè)能力。三.設(shè)計(jì)內(nèi)容:1.打開(kāi)圖像:主要代碼:staticcharszFilter[]="BMP文件(*.bmp)|*.bmp||";//定義過(guò)濾文件的類型 CFileDialogdlg(TRUE,"bmp",NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);//定義文件對(duì)話框?qū)ο?CStringfilename;intret=dlg.DoModal();//運(yùn)行打開(kāi)文件對(duì)方框 if(ret==IDOK) { filename=dlg.GetFileName();//獲取所選擇圖像的路徑 m_dib.LoadFromFile(filename);//加載圖像 if(!m_dib.m_bLoaded)//判斷是否加載圖像成功 { AfxMessageBox("圖像打不開(kāi)"); return; }效果圖:2.水平鏡像:把圖像的第一列和最后一列調(diào)轉(zhuǎn),第二列和倒數(shù)第二列換過(guò)來(lái),以此類推下去,直到第nw/2為止。代碼:inttemp,i,j;for(j=0;j<nh;j++) for(i=0;i<nw/2;i++) { temp=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=m_dib.m_pdata[nw-i-1+j*nw];m_dib.m_pdata[nw-i-1+j*nw]=temp; }效果圖:3.素描風(fēng)格:先把灰度值與右下的作對(duì)比,如果差值大于一個(gè)值則說(shuō)明這是輪廓,先把非輪廓的位置像素置為黑色,最后對(duì)所有像素進(jìn)行底片化處理代碼:inttemp,i,j;for(j=0;j<nh;j++) for(i=0;i<nw;i++) { temp=m_dib.m_pdata[j*nw+i]-m_dib.m_pdata[(j+1)*nw+i+1]; if(temp<10) m_dib.m_pdata[j*nw+i]=0;//黑色為0 }for(j=0;j<nh;j++) for(i=0;i<nw;i++) { intgray=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=255-gray; }效果圖:4圖像霧化:在圖像中引入一定的隨機(jī)值,打亂圖像中的像素值代碼:inti,j,k,dat;//i表示列,j表行byte*ptemp=(byte*)newbyte[nw*nh];memset(ptemp,0,nw*nh);for(j=0;j<nh;j++) for(i=0;i<nw;i++) { k=rand()%8;//取任意的隨機(jī)值 dat=j*nw+i+k; if(dat>=nw*nh) dat=nw*nh-1; ptemp[j*nw+i]=m_dib.m_pdata[dat]; }memcpy(m_dib.m_pdata,ptemp,nw*nh);效果圖:5.浮雕處理:通過(guò)勾畫圖象輪廓和降低周圍像素色值,從而生成具有凹凸感的浮雕效果。其方法是生成一緩沖區(qū),計(jì)算當(dāng)前像素的左上角與右下角的像素值之差,再加上一個(gè)補(bǔ)值。將其存儲(chǔ)到緩沖區(qū)。再將緩沖區(qū)的數(shù)據(jù)逐點(diǎn)替換到圖像中并顯示出來(lái)。代碼:intw=3,i,j;//w為模板寬度BYTE*p=newBYTE[nw*nh];memcpy(p,m_dib.m_pdata,nw*nh);for(j=w/2;j<nh-w/2;j++) for(i=w/2;i<nw-w/2;i++) { p[j*nw+i]=m_dib.m_pdata[(j-1)*nw+i-1]*(1)+m_dib.m_pdata[(j+1)*nw+i+1]*(-1)+120; }memcpy(m_dib.m_pdata,p,nw*nh); delete[]p;效果圖:6.直方圖均衡化代碼:intn[256]={0},g[256]={0};//定義頻數(shù)數(shù)組n,均衡化每個(gè)像素的灰度級(jí)的數(shù)組gdoublef[256],t[256];//定義頻率數(shù)組f,累加的頻率數(shù)組tintg_max=0,g_mim=255;inti,j,k,z;for(j=0;j<nh;j++)//統(tǒng)計(jì)灰度級(jí)的頻數(shù)n for(i=0;i<nw;i++) { z=m_dib.m_pdata[j*nw+i];n[z]++; } for(k=0;k<=255;k++)//統(tǒng)計(jì)每個(gè)灰度級(jí)出現(xiàn)的頻率 f[k]=n[k]/(nw*nh*1.0); //累計(jì)灰度級(jí)的頻率t[0]=f[0]; for(k=1;k<=255;k++) t[k]=t[k-1]+f[k]; for(j=0;j<nh;j++) for(i=0;i<nw;i++) { BYTEw=m_dib.m_pdata[j*nw+i]; g_max=w>g_max?w:g_max;//得到最大值 g_mim=w<g_mim?w:g_mim; //得到最小值 } for(k=0;k<=255;k++)//利用公式求每個(gè)像素均衡化后的灰度級(jí) g[k]=(int)((g_max-g_mim)*t[k]+g_mim+0.5); for(j=0;j<nh;j++)//逐個(gè)替換 for(i=0;i<nw;i++) { k=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=g[k]; } for(j=0;j<nh;j++)//計(jì)算均衡化的直方圖 for(i=0;i<nw;i++) {BYTEtemp=m_dib.m_pdata[j*nw+i]; m_hist[temp]++; } m_bHist=true;{//繪制原圖像的直方圖 CStringstr; intnh=m_dib.GetDIBHeight(); inti; // 畫坐標(biāo)軸 //繪制坐標(biāo)軸 pDC->MoveTo(410,nh+20);//(410,nh+20)是直方圖的左上角坐標(biāo) //垂直軸 pDC->LineTo(410,nh+200);//(410,nh+200)是直方圖的左下角坐標(biāo) //水平軸 pDC->LineTo(710,nh+200);//(710,nh+200)是直方圖的右下角坐標(biāo) //寫X軸刻度值 str.Format("0"); pDC->TextOut(410,nh+200+10,str); str.Format("50"); pDC->TextOut(460,nh+200+10,str); str.Format("100"); pDC->TextOut(510,nh+200+10,str); str.Format("150"); pDC->TextOut(560,nh+200+10,str); str.Format("200"); pDC->TextOut(610,nh+200+10,str); str.Format("255"); pDC->TextOut(665,nh+200+10,str); //繪制X軸刻度 for(i=0;i<256;i+=25) { if((i&1)==0) { //10的倍數(shù) pDC->MoveTo(i+10,nh+200-2); pDC->LineTo(i+10,nh+200+2); } else { //10的倍數(shù) pDC->MoveTo(i+10,nh+200-2); pDC->LineTo(i+10,nh+200+2); } } //繪制X軸箭頭 pDC->MoveTo(705,nh+200-5); pDC->LineTo(710,nh+200); pDC->LineTo(705,nh+200+5); //繪制y軸箭頭 pDC->MoveTo(410,nh+20); pDC->LineTo(405,nh+20+5); pDC->MoveTo(410,nh+20); pDC->LineTo(415,nh+20+5); intmax=0; for(i=0;i<256;i++) if(m_yuan[i]>max) max=m_yuan[i]; for(i=0;i<256;i++) { pDC->MoveTo(410+i,nh+200); pDC->LineTo(410+i,nh+200-(m_yuan[i]*160/max)); } } } if(m_bHist==true)//繪畫新的直方圖 { CStringstr; intnh=m_dib.GetDIBHeight(); inti; // 畫坐標(biāo)軸 //繪制坐標(biāo)軸 pDC->MoveTo(10,nh+20);//(10,nh+20)是直方圖的左上角坐標(biāo) //垂直軸 pDC->LineTo(10,nh+200);//(10,nh+200)是直方圖的左下角坐標(biāo) //水平軸 pDC->LineTo(310,nh+200);//(310,nh+200)是直方圖的右下角坐標(biāo) //寫X軸刻度值 str.Format("0"); pDC->TextOut(10,nh+200+10,str); str.Format("50"); pDC->TextOut(60,nh+200+10,str); str.Format("100"); pDC->TextOut(110,nh+200+10,str); str.Format("150"); pDC->TextOut(160,nh+200+10,str); str.Format("200"); pDC->TextOut(210,nh+200+10,str); str.Format("255"); pDC->TextOut(265,nh+200+10,str); //繪制X軸刻度 for(i=0;i<256;i+=25) { if((i&1)==0) { //10的倍數(shù) pDC->MoveTo(i+10,nh+200-2); pDC->LineTo(i+10,nh+200+2); } else { //10的倍數(shù) pDC->MoveTo(i+10,nh+200-2); pDC->LineTo(i+10,nh+200+2); } } //繪制X軸箭頭 pDC->MoveTo(305,nh+200-5); pDC->LineTo(310,nh+200); pDC->LineTo(305,nh+200+5); //繪制y軸箭頭 pDC->MoveTo(10,nh+20); pDC->LineTo(5,nh+20+5); pDC->MoveTo(10,nh+20); pDC->LineTo(15,nh+20+5); intmax=0; for(i=0;i<256;i++) if(m_hist[i]>max) max=m_hist[i]; for(i=0;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券市場(chǎng)宏觀經(jīng)濟(jì)指標(biāo)分析考核試卷
- 船舶固廢處理考核試卷
- 筆的筆身圖案設(shè)計(jì)考核試卷
- 金屬表面處理的工藝原理考核試卷
- 冬季常見(jiàn)疾病預(yù)防與保健
- 飲食健康與疾病防治
- 頸叢阻滯麻醉學(xué)
- Fosamprenavir-13C6-Amprenavir-phosphate-sup-13-sup-C-sub-6-sub-生命科學(xué)試劑-MCE
- 2025年互聯(lián)網(wǎng)+醫(yī)療美容行業(yè)市場(chǎng)細(xì)分領(lǐng)域投資機(jī)會(huì)與風(fēng)險(xiǎn)預(yù)警報(bào)告
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)NFV在工業(yè)自動(dòng)化控制系統(tǒng)中的數(shù)據(jù)安全防護(hù)實(shí)踐報(bào)告
- 2025年四川省自貢市中考物理試卷及答案
- 2025年6月14日萍鄉(xiāng)市事業(yè)單位面試真題及答案解析
- 2025年環(huán)境工程考試試卷及答案
- 2025年高考真題-語(yǔ)文(全國(guó)二卷) 含解析
- 2025年廬山市國(guó)有投資控股集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 2024年深圳市中考生物試卷真題(含答案解析)
- 生物基可降解地膜行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 出租車租憑合同協(xié)議書
- GB/T 24217-2025洗油
- 2025年天津市西青區(qū)八年級(jí)會(huì)考模擬生物試卷(含答案)
- 企業(yè)隱患內(nèi)部報(bào)告獎(jiǎng)勵(lì)和安全生產(chǎn)“紅線”兩項(xiàng)制度參考資料
評(píng)論
0/150
提交評(píng)論