數(shù)字圖像處理實習(xí)報告_第1頁
數(shù)字圖像處理實習(xí)報告_第2頁
數(shù)字圖像處理實習(xí)報告_第3頁
數(shù)字圖像處理實習(xí)報告_第4頁
數(shù)字圖像處理實習(xí)報告_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)字圖像處理實習(xí)報告實習(xí)項目名稱:OCR-車牌號碼識別所屬課程名稱:數(shù)字圖像處理班 級:信息學(xué)號:姓名:指導(dǎo)教師:目錄TOC\o"1-3"\h\u15009一、實習(xí)目的 317501二、實習(xí)原理 311854三、實習(xí)步驟 4247633.1完成車牌定位的整個過程 4101513.2水平差分提取圖象邊緣 4275143.3完成圖象車牌區(qū)域的初步定位。 4319183.4利用先驗知識標(biāo)識車牌區(qū)域,進行車牌區(qū)域的選擇 4327033.5水平查找后,縱向查找。完成圖象車牌區(qū)域的初步定位。 5113773.6利用先驗知識標(biāo)識車牌區(qū)域,進行車牌區(qū)域的選擇,(橫縱向) 5140403.7計算偽車牌區(qū)的跳變平均數(shù) 539993.8找出所有偽車牌區(qū)域中具有最大跳變平均數(shù)的區(qū)域號,精確定位車牌 5248363.91找出車牌的左右邊緣 6202123.92二值化圖象 6168223.93車牌字符分割 6207953.94水平方向投影,分割出字符 621196四、實驗程序 615787五、實習(xí)結(jié)果 2428296六、實習(xí)心得 28一、實習(xí)目的(1)掌握數(shù)字圖像處理的相關(guān)知識及算法。(2)學(xué)習(xí)在VC6.0環(huán)境下編寫車牌定位與識別程序。(3)了解車牌定位方法,如邊緣檢測法,基于矢量量化的車牌定位法等。(4)了解車牌字符分割方法,如,投影法,基于車牌字符先驗知識的字符分割方法等。(5)了解車牌字符識別方法,如字符歸一化,投影法,基于數(shù)字和字母特征的模板匹配法。(6)運用編寫的車牌定位與識別程序?qū)崿F(xiàn)在各種環(huán)境下車牌的識別。二、實習(xí)原理基于VC++圖像處理的汽車牌照識別系統(tǒng)主要包括車牌定位,字符車牌分割和車牌字符識別三個關(guān)鍵環(huán)節(jié)其識別流程圖如圖1所示。原始圖像原始圖像圖像預(yù)處理車牌定位二值化均衡化字符分割字符識別圖1識別流程圖其中,原始圖像:原始的汽車圖像;圖像預(yù)處理:對采集到的圖像進行濾波等處理以克服圖像干擾;車牌定位:計算邊緣圖像的投影面積,尋找峰谷點,大致確定車牌位置,再計算此連通域內(nèi)的寬高比,剔除不在域值范圍內(nèi)的連通域,最后得到的便為車牌區(qū)域;字符分割:利用投影檢測的字符定位分割方法得到車牌的字符;字符數(shù)據(jù)庫:為第6步的字符識別建立字符模板數(shù)據(jù)庫;字符識別:通過基于模板匹配的人工神經(jīng)網(wǎng)絡(luò)算法,通過特征對比或訓(xùn)練識別出相關(guān)的字符,得到最后的汽車牌照,包括英文字母和數(shù)字。三、實習(xí)步驟請打開一個BMP格式的位圖文件:標(biāo)示圖象的坐標(biāo)標(biāo)示算子的坐標(biāo)標(biāo)識區(qū)域的地點3.1完成車牌定位的整個過程程序流程:1.產(chǎn)生副本2.水平差分提取邊緣,尋找橫向的車牌帶狀區(qū)域3.垂直差分提取邊緣,尋找縱向的車牌帶狀區(qū)域4.利用先驗知識標(biāo)識車牌區(qū)域,進行車牌帶狀區(qū)域的選擇,(橫縱向)5.構(gòu)造出車牌矩形域;6.再次利用利用跳變數(shù)選擇車牌矩形區(qū)域,進行車牌區(qū)域的最終選擇;7.精確定位車牌,即削弱車牌橫向?qū)挾龋?.更新圖象;3.2水平差分提取圖象邊緣程序流程:1.逐行掃描,sub=|f(x,y)-f(x,y+1)|;2.若差值小于20,則g(x,y)=0;若差值大于30,則增強原圖象,令g(x,y)=g(x,y)+30;3.另最后一列全部為0,即黑色;3.3完成圖象車牌區(qū)域的初步定位。程序流程:1.利用間行掃描的方式找出跳變數(shù)最大的前10行;2.對Top10行進行區(qū)域細(xì)粒度增長選擇;其相似度的選取為:0.7~1.3倍的該行跳變總數(shù);3.二值化,threshold=255;4.任意選擇一列,最好不要邊緣列,可能有干擾(本程序選擇為第十列),搜索出各個帶狀候選域,存入標(biāo)志;3.4利用先驗知識標(biāo)識車牌區(qū)域,進行車牌區(qū)域的選擇函數(shù)說明:特定應(yīng)用條件,拍攝所得車牌的區(qū)域高度、寬度均有一定的范圍,其大小可以分析圖象后可得根據(jù)統(tǒng)計得到:車牌的頂部極少出現(xiàn)在高度小于100個像素的區(qū)域;車牌高度也一般大于20個像素。程序的最終結(jié)果為滿足條件的經(jīng)過擴展了的帶狀區(qū)域程序流程:1.舍棄區(qū)域頂部小于100的待選域2.選擇區(qū)域高度大于20的待選域3.區(qū)域擴展,上下各增大5個像素。若頂部小于5,則頂部坐標(biāo)不變,高度加5;若底部大于圖象的底部,則底部坐標(biāo)不變,高度加5;3.5水平查找后,縱向查找。完成圖象車牌區(qū)域的初步定位。程序流程:1.利用間行掃描的方式找出跳變數(shù)最大的前30行;2.對Top30行進行區(qū)域增長;其相似度的選取為:0.8~1.2倍的該行跳變總數(shù);3.二值化,threshold=255;4.任意選擇一列,(本程序選擇為第十行),搜索出各個帶狀候選域,存入標(biāo)志;3.6利用先驗知識標(biāo)識車牌區(qū)域,進行車牌區(qū)域的選擇,(橫縱向)函數(shù)說明:國家標(biāo)準(zhǔn):車牌的寬高比近似為3:1;程序流程:1.初始化存儲數(shù)組2.選擇區(qū)域高寬比大于3的待選域函數(shù)功能:再次利用利用跳變數(shù)選擇車牌區(qū)域,進行車牌區(qū)域的最終選擇,(橫縱向)程序流程:1.初始化存儲數(shù)組2.計算每個偽車牌區(qū)域的跳變數(shù)3.選擇具有最大跳變數(shù)的區(qū)域為車牌區(qū)3.7計算偽車牌區(qū)的跳變平均數(shù)程序流程:1.初始化;2.水平差分,邊緣提??;3.選擇車牌的中間1/3行來計算每個偽車牌區(qū)域的跳變平均數(shù);3.8找出所有偽車牌區(qū)域中具有最大跳變平均數(shù)的區(qū)域號,精確定位車牌程序說明:選擇排序,由于水平分割出的偽車牌區(qū)域已經(jīng)比較準(zhǔn)確,故僅作垂直方向的進一步定位(縮小寬度)3.91找出車牌的左右邊緣程序流程:1.水平差分,二值化;2.垂直方向投影,統(tǒng)計各列的投影值;3.去除噪聲點;4.找出左右邊緣5.計算車牌寬度6.車牌精確定位賦值3.92二值化圖象程序說明:threshold=average+delt;程序流程:1.計算圖象均值;2.計算圖象方差;3.二值化3.93車牌字符分割程序流程:1.區(qū)域擴展;2.投影分割;3.字符區(qū)域的獲??;3.94水平方向投影,分割出字符程序流程;1.統(tǒng)計各列白象素個數(shù);2.平滑投影曲線;3.尋找波谷(trough)進行分割;四、實驗程序3.1車牌識別///<summary>///函數(shù)功能:水平方向投影,分割出字符///程序流程:1.統(tǒng)計各列白象素個數(shù);///2.平滑投影曲線;///3.尋找波谷(trough)進行分割;//二值化算法,二值化為0和1兩種值voidCDipView::BinaryImg(BYTE*DisposeImg,intwidth,intheight){ BYTE*temp=newBYTE[height*width]; intx,y; CopyImg(DisposeImg,temp,width,height); longdoubletotal=0; floataver=0; for(x=0;x<height;x++) { for(y=0;y<width;y++) { total+=DisposeImg[x*width+y]; } } aver=(BYTE)(total/(float)(height*width)); floatdelt; floatsub=0; for(x=0;x<height;x++) { for(y=0;y<width;y++) { sub+=(DisposeImg[x*width+y]-aver)*(DisposeImg[x*width+y]-aver); } } delt=(float)(sqrt(sub/(float)(height*width))); BYTEjudge; judge=(BYTE)(delt+aver); for(x=0;x<height;x++) { for(y=0;y<width;y++) { if(DisposeImg[(x*width)+y]>=judge) { DisposeImg[(x*width)+y]=(BYTE)1; } else { DisposeImg[(x*width)+y]=(BYTE)0; } } } free(temp); }//Hilditch細(xì)化算法voidCDipView::ThinnerHilditch(void*image,unsignedlonglx,unsignedlongly){ char*f,*g; charn[10]; unsignedintcounter; shortk,shori,xx,nrn; unsignedlongi,j; longkk,kk11,kk12,kk13,kk21,kk22,kk23,kk31,kk32,kk33,size; size=(long)lx*(long)ly; g=(char*)malloc(size); if(g==NULL) { printf("errorinallocatingmemory!\n"); return; } f=(char*)image; for(i=0;i<lx;i++) { for(j=0;j<ly;j++) { kk=i*ly+j; if(f[kk]!=0) { f[kk]=1; g[kk]=f[kk]; } } } counter=1; do { printf("%4d*",counter); counter++; shori=0; for(i=0;i<lx;i++) { for(j=0;j<ly;j++) { kk=i*ly+j; if(f[kk]<0) f[kk]=0; g[kk]=f[kk]; } } for(i=1;i<lx-1;i++) { for(j=1;j<ly-1;j++) { kk=i*ly+j; if(f[kk]!=1) continue; kk11=(i-1)*ly+j-1; kk12=kk11+1; kk13=kk12+1; kk21=i*ly+j-1; kk22=kk21+1; kk23=kk22+1; kk31=(i+1)*ly+j-1; kk32=kk31+1; kk33=kk32+1; if((g[kk12]&&g[kk21]&&g[kk23]&&g[kk32])!=0) continue; nrn=g[kk11]+g[kk12]+g[kk13]+g[kk21]+g[kk23]+ g[kk31]+g[kk32]+g[kk33]; if(nrn<=1) { f[kk22]=2; continue; } n[4]=f[kk11]; n[3]=f[kk12]; n[2]=f[kk13]; n[5]=f[kk21]; n[1]=f[kk23]; n[6]=f[kk31]; n[7]=f[kk32]; n[8]=f[kk33]; n[9]=n[1]; xx=0; for(k=1;k<8;k=k+2) { if((!n[k])&&(n[k+1]||n[k+2])) xx++; } if(xx!=1) { f[kk22]=2; continue; } if(f[kk12]==-1) { f[kk12]=0; n[3]=0; xx=0; for(k=1;k<8;k=k+2) { if((!n[k])&&(n[k+1]||n[k+2])) xx++; } if(xx!=1) { f[kk12]=-1; continue; } f[kk12]=-1; n[3]=-1; } if(f[kk21]!=-1) { f[kk22]=-1; shori=1; continue; } f[kk21]=0; n[5]=0; xx=0; for(k=1;k<8;k=k+2) { if((!n[k])&&(n[k+1]||n[k+2])) { xx++; } } if(xx==1) { f[kk21]=-1; f[kk22]=-1; shori=1; } else f[kk21]=-1; } } }while(shori); free(g);}//細(xì)化算法voidCDipView::ThinImage(BYTE*image,intwidth,intheight){ LONGx,y,k; BYTEimage1[10000]; k=0; LONGdigitWidth=width; LONGdigitHeight=height; for(x=0;x<digitWidth;x++) { image[x*width+0]=(BYTE)0; image[x*width+digitHeight-1]=(BYTE)0; } for(y=0;y<digitHeight;y++) { image[0*width+y]=(BYTE)0; image[(digitWidth-1)*width+y]=(BYTE)0; } for(x=0;x<digitWidth;x++) { for(y=0;y<digitHeight;y++) { image1[k]=image[x*width+y]; if(image1[k]!=0) image1[k]=(BYTE)1; k++; } } ThinnerHilditch((void*)image1,digitWidth,digitHeight); k=0; for(x=0;x<digitWidth;x++) { for(y=0;y<digitHeight;y++) { image[x*width+y]=image1[k]; if(image[x*width+y]!=0) image[x*width+y]=(BYTE)1; k++; } }}//獲取特征值的函數(shù)voidCDipView::GetFeature(BYTE*image,longwidth,longheight,double*feature,intsize){ inti,j; for(i=0;i<13;i++) feature[i]=0; //圖象是20×36大小的,分成9塊 //第一塊 for(i=0;i<7;i++) { for(j=0;j<12;j++) { if(image[i*width+j]==1) feature[0]+=1.0; } } //第二塊 for(i=0;i<7;i++) { for(j=12;j<24;j++) { if(image[i*width+j]==1) feature[1]+=1.0; } } //第三塊 for(i=0;i<7;i++) { for(j=24;j<36;j++) { if(image[i*width+j]==1) feature[2]+=1.0; } } //第四塊 for(i=7;i<13;i++) { for(j=0;j<12;j++) { if(image[i*width+j]==1) feature[3]+=1.0; } } //第五塊 for(i=7;i<13;i++) { for(j=12;j<24;j++) { if(image[i*width+j]==1) feature[4]+=1.0; } } //第六塊 for(i=7;i<13;i++) { for(j=24;j<36;j++) { if(image[i*width+j]==1) feature[5]+=1.0; } } //第七塊 for(i=13;i<20;i++) { for(j=0;j<12;j++) { if(image[i*width+j]==1) feature[6]+=1.0; } } //第八塊 for(i=13;i<20;i++) { for(j=12;j<24;j++) { if(image[i*width+j]==1) feature[7]+=1.0; } } //第九塊 for(i=13;i<20;i++) { for(j=24;j<36;j++) { if(image[i*width+j]==1) feature[8]+=1.0; } } //下面統(tǒng)計方向交點特征 for(j=0;j<36;j++) { if(image[7*width+j]==1) feature[9]+=1.0; } for(j=0;j<36;j++) { if(image[13*width+j]==1) feature[10]+=1.0; } for(i=0;i<20;i++) { if(image[i*width+12]==1) feature[11]+=1.0; } for(i=0;i<20;i++) { if(image[i*width+24]==1) feature[12]+=1.0; }}//識別函數(shù),第一個參數(shù)為LoadCharLib讀出的數(shù)組,//第二個參數(shù)為LoadCharLib的返回值(即樣本個數(shù)),//將上面獲得的特征值傳入第三個參數(shù),返回為識別結(jié)果CStringCDipView::Recognize(sample*sa,intnum,double*feature){ intj; doublemin=100000.0; CStringResult; for(inti=0;i<num;i++) { doublediff=0.0; for(j=0;j<9;j++) { diff+=fabs(feature[j]-sa[num].feature[j]); } for(j=9;j<13;j++) { diff+=fabs(feature[j]-sa[num].feature[j])*9; } if(diff<min) { min=diff; Result.Format("%s",sa[num].trueClass); } } returnResult; }*///字符識別/*voidCDipView::GetCharacter(){ //CDipDoc*pDoc=GetDocument(); //intwidth,height; //width=pDoc->ImgWidth; //height=pDoc->ImgHeight; //samplemysa[500];//doublemyfeature[13];//intnum;//CStringresult[10]; //BYTE*Img; //introw=0; //intcol=0; //intx=-1; //inty=-1; //intw=0; //inth=0; //intarea=0; //for(area=0;area<10;area++); //{ // if(cRects[area].w>0) // { // x=cRects[area].x; // y=cRects[area].y; // w=cRects[area].w; // h=cRects[area].h;//Img=newBYTE[w*h]; // for(row=0;row<h;row++) // { // for(col=0;col<w;col++) // {////Img[row*w+col]=pDoc->ImgData[y*width+x]; // } // } //// //num=LoadCharLib(mysa);//獲取樣本庫保存到mysa[500]中 //// //Zoom(Img,w,h);//對切割出的圖象進行大小歸一化 //// //ThinImage(Img,w,h);//對大小歸一化后的圖象進行細(xì)化 //// //GetFeature(Img,w,h,myfeature,13); //圖象細(xì)化以后就可以提取特征了 //// //result[area]=Recognize(mysa,num,myfeature); // } //} //delete[]mysa; //delete[]myfeature; //delete[]result;}*/voidCDipView::OnCharacterRecg(){ CMainFrame*MainFrame=(CMainFrame*)this->GetParent()->GetParent(); CCharView*pchview=(CCharView*)MainFrame->m_wndSplitter.GetPane(0,1); CDigitClassdigitTest; CStringclassResult; CStringtempstr; CStringstrInfo,strTemp; intrecgpos=1;doubletemp[13]; for(intk=0;k<CharacterNum;k++) { if((float)cDatas[k].h/cDatas[k].w>4) { if(recgpos!=1&&recgpos<8) { classResult=classResult+"1"; recgpos++; } continue; } for(intx=0;x<cDatas[k].h;x++) { for(inty=0;y<cDatas[k].w;y++) { digitTest.digitarray[y][x]=cDatas[k].Img[x*cDatas[k].w+y]; } } digitTest.digitHeight=cDatas[k].h; digitTest.digitWidth=cDatas[k].w; digitTest.FixSize(); digitTest.BinaryDigit(); //digitTest.MarrBinary(); digitTest.ThinDigit_1(); pchview->m_result.SetSel(0,-1); pchview->m_result.ReplaceSel(""); CStringstrInfo,strTemp; strInfo.Format(""); inti,j; for(i=0;i<digitTest.digitHeight;i++) { for(j=0;j<digitTest.digitWidth;j++) { if(digitTest.digitarray[j][i]==1) strInfo+="■"; else strInfo+=""; } strInfo+="\r\n"; } pchview->m_result.SetSel(0,-1); pchview->m_result.ReplaceSel(strInfo); // AfxMessageBox("hello"); digitTest.GetFeature(); if(recgpos==1) { doublemin=100000.0; POSITIONpos=hanList.GetHeadPosition(); while(pos!=NULL) { Samplesa; sa=hanList.GetNext(pos); doublediff=0.0; for(j=0;j<9;j++) { diff+=fabs(digitTest.feature[j]-sa.feature[j]); } for(j=9;j<13;j++) { diff+=fabs(digitTest.feature[j]-sa.feature[j])*9; } if(diff<min) { min=diff; tempstr.Format("%s",sa.trueClass); } } classResult=classResult+tempstr; } if(recgpos==2) { doubletemp[13]; doubleresult1[26]; boolt=0; for(i=0;i<13;i++) { temp[i]=digitTest.feature[i]/15; } char_bp.Identify(temp,13,result1,26); for(i=0;i<26;i++) { if(ABS(result1[i]-1)<0.1) { tempstr.Format("%c",i+'A'); classResult=classResult+tempstr; t=1; } } if(t!=1) classResult=classResult+'?'; } // strTemp.Format("%d",classResult); if(recgpos==3) { doubletemp[13]; doubleresult1[36]; boolt=0; for(i=0;i<13;i++) { temp[i]=digitTest.feature[i]/15; } char_num_bp.Identify(temp,13,result1,36); for(i=0;i<36;i++) { if(ABS(result1[i]-1)<0.2) { if(i<=9) { tempstr.Format("%c",i+'0'); classResult=classResult+tempstr; t=1; } else { tempstr.Format("%c",i+'A'-10); classResult=classResult+tempstr; t=1; } // tempstr.Format("%c",i); } } if(t!=1) classResult=classResult+'?'; } if(recgpos>3&&recgpos<8) { doubletemp[13]; doubleresult1[10]; boolt=0; for(i=0;i<13;i++) { temp[i]=digitTest.feature[i]/15; } char_num_bp.Identify(temp,13,result1,10); for(i=0;i<10;i++) { if(ABS(result1[i]-1)<0.1) { tempstr.Format("%c",i+'0'); classResult=classResult+tempstr; t=1; } } if(t!=1) classResult=classResult+'?'; } // strInfo+="\n\r識別結(jié)果為:"; // strInfo+=classResult; recgpos++; // pchview->m_result.SetSel(0,-1); //pchview->m_result.ReplaceSel(strInfo); }//Sampletemp;inta; strInfo+="\n\r驗證結(jié)果為:";strInfo+=classResult; if(strcmp(classResult,"粵T2205"))strInfo+="錯誤"; elsestrInfo+="正確"; pchview->m_result.SetSel(0,-1); pchview->m_result.ReplaceSel(strInfo); }voidCDipView::OnTrainfromvehicle(){ OnLocate(); OnVSplit(); CMainFrame*MainFrame=(CMainFrame*)this->GetParent()->GetParent(); CCharView*pchview=(CCharView*)MainFrame->m_wndSplitter.GetPane(0,1); CDigitClassdigitTrain; CRecvChardlg; CStringm_class; for(intk=0;k<CharacterNum;k++) { for(intx=0;x<cDatas[k].h;x++) { for(inty=0;y<cDatas[k].w;y++) { digitTrain.digitarray[y][x]=cDatas[k].Img[x*cDatas[k].w+y]; } } digitTrain.digitHeight=cDatas[k].h; digitTrain.digitWidth=cDatas[k].w; digitTrain.FixSize(); digitTrain.BinaryDigit(); digitTrain.ThinDigit_1(); pchview->m_result.SetSel(0,-1); pchview->m_result.ReplaceSel(""); CStringstrInfo,strTemp; strInfo.Format(""); inti,j; for(i=0;i<digitTrain.digitHeight;i++) { for(j=0;j<digitTrain.digitWidth;j++) { if(digitTrain.digitarray[j][i]==1) strInfo+="■"; else strInfo+=""; } strInfo+="\r\n"; } pchview->m_result.SetSel(0,-1); pchview->m_result.ReplaceSel(strInfo); if(dlg.DoModal()==IDOK) {CStringclassResult; m_class=dlg.m_char; m_class.TrimLeft(); m_class.TrimRight(); digitTrain.GetFeature(); Sampletemp; for(i=0;i<13;i++) temp.feature[i]=digitTrain.feature[i]; memcpy(temp.trueClass,(constchar*)m_class,3*sizeof(char)); if(temp.trueClass[1]=='\0') { if(temp.trueClass[0]>='0'&&temp.trueClass[0]<='9') { temp.serialnum=numList.GetCount(); numList.AddTail(temp); } if(temp.trueClass[0]>='A'&&temp.trueClass[0]<='Z') { temp.serialnum=charList.GetCount(); charList.AddTail(temp); } } elseif(temp.trueClass[2]=='\0') { temp.serialnum=hanList.GetCount(); hanList.AddTail(temp); } } }五、實習(xí)結(jié)果5.1原始圖像5.2車牌識別中值:因為把AT2205變成AT2202,2有毛刺現(xiàn)象,所以中值使其變平滑。5.3車牌號的定位,二值化,歸一化,細(xì)化車牌號定位二值化歸一化細(xì)化5.4車牌號識別結(jié)果結(jié)果正確:結(jié)果錯誤:六、實習(xí)心得一周的數(shù)字圖像處理實習(xí)很快就結(jié)束了,總的來說收貨很大,實習(xí)以分組形式,我們四人一組合作完成。通過一周以來我們共同的努力以及老師的的細(xì)心指導(dǎo),終于完成了設(shè)計要求。開始時是設(shè)計階段也沒太在意,后來到動手的時候覺得遇見了好多沒想到的問題,然后一個一個的解決,我想這也是最吸引我們的地方,讓我深深領(lǐng)會到我們課程的樂趣。這周的實習(xí)讓我收獲頗多。使我對圖像處理的原理有了一個更加深我們對數(shù)字圖形處理課程理論知識的認(rèn)識和理解,使我找到了理論與實踐的最佳結(jié)合點。以前可能只是簡單的了解記住課本一些原理,通過自己編寫程序?qū)⒗碚摳吨T實踐后。但這次實習(xí)又不同于以往做的實驗,以前做實驗的時候都使用MATLAB軟件,這次用的是C++,所以這次實習(xí)對我來說又是一個新的挑戰(zhàn)。我必須重新翻閱有關(guān)C++的書籍,那些知識更加使我真正明白并深記著,尤其能找到一些以前會忽略的細(xì)節(jié)。這為我們以后做有關(guān)圖像處理方面的工作打下了一個很好的基礎(chǔ)。這次實習(xí)雖然短暫,但是我們自主合作完成的勞動成果,將理論的內(nèi)容完完全全的在實際中實現(xiàn)。在設(shè)計的過程中,遇到了書本中不曾學(xué)到的情況。同時,由于是兩個人合作,讓我知道團隊協(xié)作是多么的重要。最后,感謝老師為我們提供這次實習(xí)機會和悉心的指導(dǎo)。

咖啡店創(chuàng)業(yè)計劃書第一部分:背景在中國,人們越來越愛喝咖啡。隨之而來的咖啡文化充滿生活的每個時刻。無論在家里、還是在辦公室或各種社交場合,人們都在品著咖啡??Х戎饾u與時尚、現(xiàn)代生活聯(lián)系在一齊。遍布各地的咖啡屋成為人們交談、聽音樂、休息的好地方,咖啡豐富著我們的生活,也縮短了你我之間的距離,咖啡逐漸發(fā)展為一種文化。隨著咖啡這一有著悠久歷史飲品的廣為人知,咖啡正在被越來越多的中國人所理解。第二部分:項目介紹第三部分:創(chuàng)業(yè)優(yōu)勢目前大學(xué)校園的這片市場還是空白,競爭壓力小。而且前期投資也不是很高,此刻國家鼓勵大學(xué)生畢業(yè)后自主創(chuàng)業(yè),有一系列的優(yōu)惠政策以及貸款支持。再者大學(xué)生往往對未來充滿期望,他們有著年輕的血液、蓬勃的朝氣,以及初生牛犢不怕虎的精神,而這些都是一個創(chuàng)業(yè)者就應(yīng)具備的素質(zhì)。大學(xué)生在學(xué)校里學(xué)到了很多理論性的東西,有著較高層次的技術(shù)優(yōu)勢,現(xiàn)代大學(xué)生有創(chuàng)新精神,有對傳統(tǒng)觀念和傳統(tǒng)行業(yè)挑戰(zhàn)的信心和欲望,而這種創(chuàng)新精神也往往造就了大學(xué)生創(chuàng)業(yè)的動力源泉,成為成功創(chuàng)業(yè)的精神基礎(chǔ)。大學(xué)生創(chuàng)業(yè)的最大好處在于能提高自己的潛力、增長經(jīng)驗,以及學(xué)以致用;最大的誘人之處是透過成功創(chuàng)業(yè),能夠?qū)崿F(xiàn)自己的理想,證明自己的價值。第四部分:預(yù)算1、咖啡店店面費用咖啡店店面是租賃建筑物。與建筑物業(yè)主經(jīng)過協(xié)商,以合同形式達(dá)成房屋租賃協(xié)議。協(xié)議資料包括房屋地址、面積、結(jié)構(gòu)、使用年限、租賃費用、支付費用方法等。租賃的優(yōu)點是投資少、回收期限短。預(yù)算10-15平米店面,啟動費用大約在9-12萬元。2、裝修設(shè)計費用咖啡店的滿座率、桌面的周轉(zhuǎn)率以及氣候、節(jié)日等因素對收益影響較大??Х瑞^的消費卻相對較高,主要針對的也是學(xué)生人群,咖啡店布局、格調(diào)及采用何種材料和咖啡店效果圖、平面圖、施工圖的設(shè)計費用,大約6000元左右3、裝修、裝飾費用具體費用包括以下幾種。(1)外墻裝飾費用。包括招牌、墻面、裝飾費用。(2)店內(nèi)裝修費用。包括天花板、油漆、裝飾費用,木工、等費用。(3)其他裝修材料的費用。玻璃、地板、燈具、人工費用也應(yīng)計算在內(nèi)。整體預(yù)算按標(biāo)準(zhǔn)裝修費用為360元/平米,裝修費用共360*15=5400元。4、設(shè)備設(shè)施購買費用具體設(shè)備主要有以下種類。(1)沙發(fā)、桌、椅、貨架。共計2250元(2)音響系統(tǒng)。共計450(3)吧臺所用的烹飪設(shè)備、儲存設(shè)備、洗滌設(shè)備、加工保溫設(shè)備。共計600(4)產(chǎn)品制造使用所需的吧臺、咖啡杯、沖茶器、各種小碟等。共計300凈水機,采用美的品牌,這種凈水器每一天能生產(chǎn)12l純凈水,每一天銷售咖啡及其他飲料100至200杯,價格大約在人民幣1200元上下??Х葯C,咖啡機選取的是電控半自動咖啡機,咖啡機的報價此刻就應(yīng)在人民幣350元左右,加上另外的附件也不會超過1200元。磨豆機,價格在330―480元之間。冰砂機,價格大約是400元一臺,有點要說明的是,最好是買兩臺,不然夏天也許會不夠用。制冰機,從制冰量上來說,一般是要留有富余??钪票鶛C每一天的制冰量是12kg。價格稍高550元,質(zhì)量較好,所以能夠用很多年,這么算來也是比較合算的。5、首次備貨費用包括購買常用物品及低值易耗品,吧臺用各種咖啡豆、奶、茶、水果、冰淇淋等的費用。大約1000元6、開業(yè)費用開業(yè)費用主要包括以下幾種。(1)營業(yè)執(zhí)照辦理費、登記費、保險費;預(yù)計3000元(2)營銷廣告費用;預(yù)計450元7、周轉(zhuǎn)金開業(yè)初期,咖啡店要準(zhǔn)備必須量的流動資金,主要用于咖啡店開業(yè)初期的正常運營。預(yù)計2000元共計: 120000+6000+5400+2250+450+600+300+1200+1200+480+400+550+1000+3000+450+2000=145280元第五部分:發(fā)展計劃1、營業(yè)額計劃那里的營業(yè)額是指咖啡店日常營業(yè)收入的多少。在擬定營業(yè)額

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論