真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c語言的邊沿函數(shù) c語言的邊沿函數(shù)是什么

求用C語言用Sobels算子方法編寫圖像邊緣提取的程序算法?。保?/h2>

定義:每個像素的取值均為0或1,稱這樣的圖像為二值圖像。

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比武都網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式武都網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋武都地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

算法:檢查所有像素,若該像素為物體上與背景接觸的像素(四連通像素中既有背景像素又有物體像素),則為邊界。

程序:

#define M 30

#define N 20

void edge(int image[M][N],int bianyuan[M][N])

{

int i,j;

int inner=1,outer=1;

for (i=0;iM;i++)/*清除數(shù)據(jù)*/

for(j=0;jN;j++)

bianyuan[i][j]=0;

for(i=1;iM-1;i++)

for(j=1;jN-1;j++)

{

inner=1;/*假設(shè)該像素或為物體,或為背景*/

outer=1;

if(image[i-1][j]==0||image[i+1][j]==0||image[i][j-1]==0||image[i][j+1]==0)

inner=0;

if(image[i-1][j]==1||image[i+1][j]==1||image[i][j-1]==1||image[i][j+1]==1)

outer=0;

if(inner==0outer==0image[i][j]==1)/*像素周圍既有物體又有背景*/ bianyuan[i][j]=1;/*,且該像素為物體上的像素(image[i][j]==1),則定義為邊界*/

}

}

void output(int array[M][N],int n)

{

int i,j;

for(i=0;in;i++)

{

printf("\n");

for(j=0;jN;j++)

if(array[i][j]==1)

printf("1");

else

printf(" ");

}

}

void main()

{

int image[M][N]={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},

{0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,1,1,0,0},

{0,1,1,1,1,0,0,1,1,1,1,1,1,0,0,1,1,1,0},

{0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0},

{0,0,1,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,0},

{0,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,1,0},

{0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},

{0,0,0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0},

{0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,0},

{0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0}};

int bianyuan[M][N]={0};

int i,j;

printf("\nThe origianl image is:\n");

output(image,10);

edge(image,bianyuan);

printf("\nIts edge is:\n");

output(bianyuan,10);

}

寫完了,又看一下,感覺edge函數(shù)太羅嗦了,不夠簡練,想了一下,改成了下面的樣子,函數(shù)接口不變:

void edge(int image[M][N],int bianyuan[M][N])

{

int i,j;

for (i=0;iM;i++)

for(j=0;jN;j++)

bianyuan[i][j]=0;

for(i=1;iM-1;i++)

for(j=1;jN-1;j++)

{

int t=image[i-1][j]+image[i+1][j]+image[i][j-1]+image[i][j+1];

if(t0t4image[i][j]==1)/*周圍4個像素值介于1~3之間,*/

bianyuan[i][j]=1; /*且當前像素為物體,則其必為邊界*/

}

}

希望這段代碼對你有所幫助

C語言編寫外部中斷1為跳沿觸發(fā)的中斷初始化函數(shù)

1.SETB EA ;中斷總允許

SETB EX1 ;外中斷1允許

SETB IT1 ;脈沖方式(當IT1為0時,為電平方式)

然后就可以定義你要的初值。

2.邊沿觸發(fā)最大的特點是只在水平的邊緣改變外翻蓋獎勵的那一刻是有效的。相對JK主站和從站中,良好的穩(wěn)定性的優(yōu)點,激勵電平只需要保證在短時間內(nèi)向邊緣穩(wěn)定,外界干擾的窗口是小的。

c語言中area是什么函數(shù)

c語言里沒有這個函數(shù)area,但是可以自定義函數(shù)。

函數(shù)定義:

使用:

返回值類型 函數(shù)名(類型 變量名,類型 變量名,…)

{

函數(shù)體;

return (數(shù)據(jù));

}

例如:

int sum(int a, int b)

{

return a + b;

}

擴展資料

注意:

1、c語言一般根據(jù)函數(shù)的功能來取函數(shù)名,全部使用小寫單詞,多個單詞之間用下劃線分隔,如:add_to_arr。

2、參數(shù)的個數(shù)、類型由函數(shù)的功能決定,被調(diào)用時由調(diào)用者提供。如果函數(shù)不需要任何參數(shù)則寫void,不要空著。

3、返回值類型根據(jù)函數(shù)的結(jié)果決定,如果不需要返回值則寫void。

4、如果函數(shù)的定義出現(xiàn)在調(diào)用之前,聲明可以省略。

5、函數(shù)聲明時,參數(shù)的變量名可以省略。

6、如果不寫返回值類型(會有警告),則默認為int類型返回值。

c語言 用邊沿觸發(fā)使流水燈暫停,按鈕控制,按一下暫停,按一下繼續(xù)

#includereg52.h ?//引用庫文件

void delay() //延時函數(shù)

{

unsigned char i,j; ?//定義兩個變量,用于空循環(huán)

for(i=0;i200;i++)

for(j=0;j200;j++)

?;

}

unsigned char flag;

void main()

{

unsigned char i;

flag=1;

EA=1; ? //開放總中斷

EX0=1; ?//允許使用外中斷

IT0=1; ?//選擇負跳變來觸發(fā)外中斷

while(1) ? //用于反復(fù)循環(huán)

{

for(i=0;i8;i++) ?

{

?P1=~(1i); ? ?

delay(); ?//調(diào)用延時函數(shù)

?while(flag!=1);

}

i=0;

? //

}

}

/**************************************************************

函數(shù)功能:外中斷T0的中斷服務(wù)程序

**************************************************************/

void int0(void) interrupt 0 using 0 //外中斷0的中斷編號為0

{

flag=~flag;

}

仿真圖:

樓主的采納率好低啊(時間久了,估計給你回答的人會變少),不過我還是希望樓主能采納


分享名稱:c語言的邊沿函數(shù) c語言的邊沿函數(shù)是什么
文章URL:http://weahome.cn/article/hheppd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部