glcmC语言编程实现灰度共生矩阵检测织物疵点.docx

glcmC语言编程实现灰度共生矩阵检测织物疵点.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
glcmC语言编程实现灰度共生矩阵检测织物疵点

void GLCM(Uint8 *in_data, Uint32 row_start, Uint32 col_start, Uint32 row_width, Uint32 col_width){Uint32 i, j;Uint8 *x_data,*y_data,*m_data; Uint32 *n_data;Int i1,j1,i2,j2,i3,j3,i4,j4,i5,j5,i6,j6,n,m2,n2,m3,n3; Int d3,d4,intTemp=0,intTemp1=0;y_data =( Uint8 *)malloc(720*576);x_data =( Uint8 *)malloc(720*576);m_data =( Uint8 *)malloc(32*40);n_data =( Uint32 *)malloc(16*16);for(i=0;i576;i++)for(j=0;j720;j++){*(Uint8 *)(y_data + 720 * i + j) = *(Uint8 *)(in_data + (i*720 + j) * 2 + 1);}for(i=0;i576;i++){ for(j=0;j720;j++){ for(n=0;n16;n++) { if(n*16=*(Uint8 *)(y_data + i*720 + j) =n*16+15 ) { *(Uint8 *)(x_data + i*720 + j)=n; break; } } }} for(i=0;i18;i++) { for(j=0;j18;j++) { i3=0; for(i2=i*32;i2(i+1)*32;i2++) { i3++; j3=0; for(j2=j*40;j2(j+1)*40;j2++){ j3++;*(Uint8 *)(m_data + 40 *(i3-1) + (j3-1)) = *(Uint8 *)(x_data + i2*720 + j2); } } for(m3=0;m316;m3++){for(n3=0;n316;n3++) { *(Uint32 *)(n_data + m3*16 + n3)=0;}} for(m2=0;m216;m2++) { for(n2=0;n216;n2++) { for(i1=0;i132;i1++) { for(j1=0;j140;j1++) { if(j139(*(Uint8 *)(m_data + i1*40+ j1) ==m2)(*(Uint8 *)(m_data + i1*40 + (j1+1)) ==n2)) { *(Uint32 *)(n_data + m2*16 + n2)=*(Uint32 *)(n_data + m2*16 + n2) +1; *(Uint32 *)(n_data + n2*16 + m2)=*(Uint32 *)(n_data + m2*16 + n2); } } } if(m2=n2) { *(Uint32 *)(n_data + m2*16 + n2)=(*(Uint32 *)(n_data + m2*16 + n2))*2; } } } for(i4=0;i416;i4++) { for(j4=0;j416;j4++) { intTemp=intTemp+(*(Uint32 *)(n_data + i4*16 + j4)); } } for(d3=0;d316;d3++) { for(d4=0;d416;d4++) { *(Uint32 *)(n_data + d3*16 + d4)=(*(Uint32 *)(n_data + d3*16 + d4))/intTemp; } } for(i5=0;i516;i5++) { for(j5=0;j516;j5++) { intTemp1=intTemp1+(*(Uint32 *)(n_data + i5*16 + j5))*(*(Uint32 *)(n_data + i5*16 + j5)); } } if(intTemp10.3) {//---------------------- 上边 ---------------------------for(i

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档