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

正文內(nèi)容

基于dsp器件的圖像邊緣檢測(cè)的分析研究畢業(yè)設(shè)計(jì)論文-資料下載頁

2025-06-27 18:05本頁面
  

【正文】 IRAM fill = 0 .far IRAM fill = 0 .switch IRAM fill = 0 .sysmem IRAM fill = 0 .tables IRAM fill = 0 .cio IRAM fill = 0} /**050442422 宋登亮 圖像讀入程序 */include include include void InitImage(unsigned char *pImage,char *cFileName,int nWidth,int nHeight){ static int i。 unsigned char *pWork。 FILE *fp。fp = fopen(cFileName, rb)。 // 以二進(jìn)制讀方式打開文件 // 讀取文件 if (fp != NULL) { fseek(fp,1078L,SEEK_SET)。 pWork=pImage+(nHeight1)*nWidth。 for ( i=0。inHeight。i++,pWork=nWidth ) fread(pWork,nWidth,1,fp)。 fclose(fp)。 }}/**050442422 宋登亮空域低通濾波程序 */define IMAGEWIDTH 160define IMAGEHEIGHT 146extern unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT]。extern unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT]。static int mi,mj,grad。static unsigned char *pImg1,*pImg2,*pImg3,*pImg。static unsigned int x1,x2,x3,x4,x5,x6,x7,x8,x9。static unsigned int H[10]={0,0,1,0,1,4,1,0,1,0}。 //空域模版系數(shù)void Filter(int nWidth,int nHeight){ static int i。 pImg=dbTargetImage。 for ( i=0。iIMAGEWIDTH。i++,pImg++) (*pImg)=0。 //初始化第一行 (*pImg)=0。 pImg1=dbImage。 pImg2=pImg1+IMAGEWIDTH。 pImg3=pImg2+IMAGEWIDTH。 for ( mj=2。mjnHeight。mj++ ) { pImg++。 x1=(*pImg1)。 pImg1++。 x2=(*pImg1)。 pImg1++。 x4=(*pImg2)。 pImg2++。 x5=(*pImg2)。 pImg2++。 x7=(*pImg3)。 pImg3++。 x8=(*pImg3)。 pImg3++。 for ( mi=2。minWidth。mi++,pImg++,pImg1++,pImg2++,pImg3++ ) { x3=(*pImg1)。 x6=(*pImg2)。 x9=(*pImg3)。 //空域模版 grad=(int)((H[1]*x1+H[2]*x2+H[3]*x3+H[4]*x4+H[5]*x5+ H[6]*x6+H[7]*x7+H[8]*x8+H[9]*x9)/8)。 if ( grad255 ) grad=255。 else if ( grad0 ) grad=0。 (*pImg)=grad。 //替換中心像素 x1=x2。 x2=x3。 x4=x5。 x5=x6。 x7=x8。 x8=x9。 } (*pImg)=0。 pImg++。 } }/**050442422 宋登亮一維最大熵閾值獲取程序*/ include unsigned char GetMaxHtoThrod(unsigned char *pImage,int nWidth,int nHeight) { static int i,j,t。 static unsigned char *pWork,uWork。 static float p[256],H1,H2,pt,num[256],MAX。 //初始化數(shù)組p[]。 for(i=0。i256。i++) p[i]=。 //統(tǒng)計(jì)各個(gè)灰度級(jí)出現(xiàn)的次數(shù); pWork=pImage。 for ( i=0。inHeight。i++ ) { for ( j=0。jnWidth。j++,pWork++ ) { uWork=(unsigned int)(*pWork)。 p[uWork]++。 } } //統(tǒng)計(jì)各個(gè)灰度級(jí)出現(xiàn)的概率; uWork=nWidth*nHeight。 for ( i=0。i256。i++ ) { p[i]/=uWork。 } //對(duì)每一個(gè)灰度級(jí)進(jìn)行比較; for(i=0。i256。i++) { H1=H2=。 pt=。 for(j=0。j=i。j++) { pt+=p[j]。 } for(j=0。j=i。j++) { H1+=(float)p[j]/pt*logf(p[j]/pt)。 } for(j=i+1。j256。j++) { H2+=(float)p[j]/(1pt)*logf(p[j]/(1pt))。 } num[i]=H1+H2。 } MAX=。 //找到使類的熵最大的灰度級(jí); for(i=0。i256。i++) { if(MAXnum[i]) { MAX=num[i]。 t=i。 } } return t。 }/**050442422 宋登亮模板匹配程序*/include include include include define IMAGEWIDTH 160define IMAGEHEIGHT 146define mwidth 62define mheight 18 extern int u,v。extern unsigned char modImage[mwidth*mheight]。extern unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT]。 void Pickup(){ static int i,j,m,n,sum,MIN=1000。 static unsigned char *pI,*pImg,*pImg0,*pImg1。//*pImg1定義為模版行指針 pImg=dbImage。 for (j=0。j(IMAGEHEIGHTmheight+1)。j++) { for (i=0。i(IMAGEWIDTHmwidth+1)。i++,pImg++) { pImg1=pImg。 pI=modImage。 sum=0。 for (m=0。mmheight。m++) { pImg0=pImg1。 pImg1=pImg0+IMAGEWIDTH。 for (n=0。nmwidth。n++) { sum=sum+abs((*pI++)(*pImg0++))。 if (sum1000) break。 } } //找到非相似度最小的像素及其位置; if(sumMIN) { MIN=sum。 u=i。 v=j。 } } pImg=pImg+mwidth1。 } }/**050442422 宋登亮梯度邊緣檢測(cè)程序*/define IMAGEWIDTH 160define IMAGEHEIGHT 146define MAX 0define PLUS 1define TYPE1 11define TYPE2 12define TYPE3 13define TYPE4 14define TYPE5 15define LG 255 //根據(jù)需要設(shè)置灰度級(jí)LG表示明顯邊緣define LB 0 //根據(jù)需要設(shè)置灰度級(jí)LB表示背景define T 128 extern unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT]。extern unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT]。static int mi,mj,fx,fy,grad。static unsigned char *pImg1,*pImg2,*pImg,*pImg0。static unsigned int x1,x2,x3,x4。void Grads(unsigned int modeA,unsigned int modeB,int nWidth,int nHeight){ static int i。 pImg=dbTargetImage。 pImg0=dbImage。 //與pImg同步指針 for ( i=0。iIMAGEWIDTH。i++,pImg++,pImg0++) (*pImg)=0。 //初始化第一行 (*pImg)=0。 pImg1=dbImage。 pImg2=pImg1+IMAGEWIDTH。 for ( i=1。inHeight。i++ ) { pImg++。pImg0++。 x1=(*pImg1)。 pImg1++。 x3=(*pImg2)。 pImg2++。 for ( mi=1。minWidth。mi++,pImg++,pImg0++,pImg1++,pImg2++) { x2=(*pImg1)。 x4=(*pImg2)。 //Roberts算子模版 fx=abs(x3x1)。 //|f39。x| fy=abs(x2x1)。 //|f39。y| switch (modeA) { case MAX: if ( fxfy ) fx=fy。 fy=fx。 //grad(x,y)=max(|f39。x|,|f39。y|) 0 break。 case PLUS: fy=fx+fy。 //grad(x,y)=|f39。x|+|f39。y| 1 break。 default: break。 } grad=fy。 if ( grad255 ) grad=255。 else if ( grad0 ) grad=0。 switch (modeB) { case TYPE1: (*pImg)=grad。 //g(x,y)=grad(x,y) break。 case TYPE2: if(grad=T) (*pImg)=grad。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1