|
temp1<-s[(v-1)*640*3+(i-1)*3+a];
temp2<-s[(v-1)*640*3+i*3+a];
temp3<-s[(v-1)*640*3+(i+1)*3+a];
temp4<- s[v*640*3+(i-1)*3+a];
temp6<- s[v*640*3+(i+1)*3+a];
temp7<-s[(v+1)*640*3+(i-1)*3+a];
temp8<-s[(v+1)*640*3+i*3+a];
temp9<-s[(v+1)*640*3+(i+1)*3+a];
/*与sobel模板的垂直部分卷积*/
temp<-temp2 << 1;
temp<-temp + temp1;
temp<-temp + temp3;
temp<-temp - temp7;
temp<-temp - (temp8<<1);
temp<-temp - temp9;
/*与sobel模板的水平部分卷积*/
temp0<-temp4 << 1;
temp0<-temp0 + temp1;
temp0<-temp0 + temp7;
temp0<-temp0 - temp3;
temp0<-temp0 - temp9;
temp0<-temp0 - (temp6<<1);
/*计算该点梯度值,即g=sqrt(Gx*Gx + Gy*Gy),可以简化为 g=|Gx|+|Gy|*/
temp <-abs(temp);
temp0<-abs(temp0);
temp<-temp + temp0;
if(temp>255) temp<-255;
s=<- (EXT_FLASH_BASE+0x01000036);
vga_buf<-SDRAM_BASE + 0x01000000;
i<-v<-j<-0;
for i 0 to 640*480*4 i<-i+4
{
vga_buf<-s[j];
vga_buf[i+1]<-s[j+1];
vga_buf[i+2]<-s[j+2];
vga_buf[i+3]<-0x00;
j<-j+3;
}
for(v 1 to 479 v<-v+1)
{
For i=1 to 639 i<-i+1
{vga_buf[v*640*4+i*4+0]<-sobel(0,i,v); vga_buf[v*640*4+i*4+1]<-sobel(1,i,v); vga_buf[v*640*4+i*4+2]<-sobel(2,i,v);
vga_buf[v*640*4+i*4+3]<-0x00; }
大体就是个边缘检测的程序 我改成这样了 希望高手帮忙改成伪代码
或者帮忙写个边缘检测伪代码也成 不按我这个 坐等 在线等
楼主很着急 还希望各位高手大师 神仙多多帮忙哟~ |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|