灰度腐蚀算法 C代码 高分求灰度腐蚀算法,要求:1,C代码;2,结构元素为半径为10的圆盘 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 OpenCV里面有,不然数字图像处理里面也有腐蚀算法的代码................ /* 水平腐蚀函数 */ /*list0 标准图像数据指针 list1 扩充边框后图像数据指针 Dx/Dy 标准图像的宽度和高度 style 腐蚀类型 /HORIZONTAL_CORRODE 水平腐蚀/VERTICAL_CORRODE 垂直腐蚀/CROSS_CORRODE 十字腐蚀*/void CUtilities::Corrode(BYTE** list0, BYTE** list1, int Dx, int Dy,int style){ int i,j; switch(style) { case HORIZONTAL_CORRODE: for(i=1; i<Dy+1; i++) { for(j=1; j<Dx+1; j++) { if((list1[i][j-1]==BLACK)&&(list1[i][j]==BLACK)&&(list1[i][j+1]==BLACK)) list0[i-1][j-1]=BLACK; else list0[i-1][j-1]=WHITE; } } break; case VERTICAL_CORRODE: for(i=1; i<Dy+1; i++) { for(j=1; j<Dx+1; j++) { if((list1[i-1][j]==BLACK)&&(list1[i][j]==BLACK)&&(list1[i+1][j]==BLACK)) list0[i-1][j-1]=BLACK; else list0[i-1][j-1]=WHITE; } } break; case CROSS_CORRODE: for(i=1; i<Dy+1; i++) { for(j=1; j<Dx+1; j++) { if((list1[i][j-1]==BLACK)&&(list1[i-1][j]==BLACK)&&(list1[i][j+1]==BLACK)&&(list1[i+1][j]==BLACK)&&(list1[i][j]==BLACK)) list0[i-1][j-1]=BLACK; else list0[i-1][j-1]=WHITE; } } break; default: break; }}自己写的,有测试过。 dkbrain: 灰度图和二值图像腐蚀算法有点不同,上面你给的是二值图像,呵,谢谢你。自己搞定了。也谢谢其他兄台.你们都给分的。 error C2668: “ATL::CStringT<BaseType,StringTraits>::CStringT”: 对重载函数的调用不明确 急求:像迅雷右上角的那中自动伸缩的菜单是怎么制作的啊? 我想要获取域用户登录域服务器的域用户IP地址,该怎么获取啊? 一个菜鸟问题关于生产。EXE文件 什么原因??解决马上加分!急 如何得到RegisterWindowMessage注册的系统消息对应的字符串 Project Setting -> Post-build step? Rational 高手请帮忙 急盼回音 消息映射函数中导入动态库 编程的思想是? 50分 求 位图的托动
/*list0 标准图像数据指针
list1 扩充边框后图像数据指针
Dx/Dy 标准图像的宽度和高度
style 腐蚀类型 /HORIZONTAL_CORRODE 水平腐蚀/VERTICAL_CORRODE 垂直腐蚀/CROSS_CORRODE 十字腐蚀*/
void CUtilities::Corrode(BYTE** list0, BYTE** list1, int Dx, int Dy,int style)
{
int i,j; switch(style)
{
case HORIZONTAL_CORRODE:
for(i=1; i<Dy+1; i++)
{
for(j=1; j<Dx+1; j++)
{
if((list1[i][j-1]==BLACK)&&(list1[i][j]==BLACK)&&(list1[i][j+1]==BLACK))
list0[i-1][j-1]=BLACK;
else
list0[i-1][j-1]=WHITE;
}
}
break;
case VERTICAL_CORRODE:
for(i=1; i<Dy+1; i++)
{
for(j=1; j<Dx+1; j++)
{
if((list1[i-1][j]==BLACK)&&(list1[i][j]==BLACK)&&(list1[i+1][j]==BLACK))
list0[i-1][j-1]=BLACK;
else
list0[i-1][j-1]=WHITE;
}
}
break;
case CROSS_CORRODE:
for(i=1; i<Dy+1; i++)
{
for(j=1; j<Dx+1; j++)
{
if((list1[i][j-1]==BLACK)&&(list1[i-1][j]==BLACK)&&(list1[i][j+1]==BLACK)&&(list1[i+1][j]==BLACK)&&(list1[i][j]==BLACK))
list0[i-1][j-1]=BLACK;
else
list0[i-1][j-1]=WHITE;
}
}
break;
default:
break;
}
}自己写的,有测试过。
灰度图和二值图像腐蚀算法有点不同,上面你给的是二值图像,呵,谢谢你。自己搞定了。也谢谢其他兄台.你们都给分的。