玻璃表面检测算法详解

1图像缓存区拷贝:

输入:原始图像A(4500*4096),缓存区B(1350*4096)

输出:拷贝缓存区后图像C(5850*4096)

STEP1:为C申请1350*4096空间

STEP2:将B的全部数据拷贝到C的0~1349行

STEP3:将A的全部数据拷贝到C的1350~5849行

STEP4:将A的2150~4499行拷到B的0~1349行

2.2图像行重排:

输入:拷贝缓存区后图像C(5850*4096)

输出:行重排后图像D(5850*4096)

STEP1:为D申请5850*4096的结果数据空间

STEP2:将C的第 9 * i + j 行拷贝至D的第 650 * j + i 行,i = 0 ~ 649,j = 0 ~ 9

2.3 图像分段

输入:拷贝缓存区后图像D(5850*4096)

输出:分段后图像E、F、G、H、I、J、K、L、M(650*4096)

STEP1:为E、F、G、H、I、J、K、L、M分别申请9个650*4096的结果数据空间

STEP2:将D的第0~649行拷贝至E的第0~649行

STEP3:将D的第650~1299行拷贝至F的第0~649行

STEP4:将D的第1300~1949行拷贝至G的第0~649行

STEP5:将D的第1950~2599行拷贝至H的第0~649行

STEP6:将D的第2600~3249行拷贝至I的第0~649行

STEP7:将D的第3250~3899行拷贝至J的第0~649行

STEP8:将D的第3900~4549行拷贝至K的第0~649行

STEP9:将D的第4550~5199行拷贝至L的第0~649行

STEP10:将D的第5200~5849行拷贝至L的第0~649行

2.4图像近暗场列重排(图像12BIT转为8BIT):

输入:分段后图像F、G、H、I(650*4096)

输出:近暗场列重排后图像N、O(650*4096)

STEP1:为N、O分别申请2个650*4096的结果数据空间,灰度初始值为3

STEP2:将F的第800~1479、2160~2839、3520~4095列拷贝至N的相同位置列

STEP3:将G的第470~799、1480~2159、2840~3519列拷贝至N的相同位置列

STEP4:将H的第1140~1819、2500~3179、3860~4095列拷贝至O的相同位置列

STEP5:将I的第470~1139、1820~2499、3180~3859列拷贝至O的相同位置列

2.5图像远暗场列重排(图像12BIT转为8BIT):

输入:分段后图像F、G、H、I(650*4096)

输出:远暗场列重排后图像P(650*4096)

STEP1:为P申请650*4096的结果数据空间,灰度初始值为3

STEP2:将F的第990~1289/、2350~2649/、3730~4029/列拷贝至P的相同位置列

STEP3:将G的第470~609/、1670~1969/、3030~3329/列拷贝至P的相同位置列

STEP4:将H的第1350~1649/、2690~2989/列拷贝至P的相同位置列

STEP5:将I的第650~950/、2010~2309/、3370~3669/列拷贝至P的相同位置列

2.6图像暗场融合:

输入:列重排后图像N、O、P(650*4096)

输出:暗场融合后图像Q(650*4096)

STEP1:为Q申请650*4096的结果数据空间

STEP2:遍历650*4096范围全部像素,Q = min( 1 * N + 1 * O + 4 * P, 255 )

2.7图像反射场融合:

输入:分段后图像J、K、L、M(650*4096)

输出:反射场融合后图像R(650*4096)

STEP1:为R申请650*4096的结果数据空间

STEP2:遍历650*4096范围全部像素,R = min( J + K + L + M, 255 )

R由12BIT转为8BIT格式,形成8K图像,即R1(4096*650)与R2(4096*650);

2.8图像滤波:

输入:分段后图像E(650*4096),暗场融合后图像Q(650*4096)

输出:图像滤波结果S、T、U(650*4096)

STEP1:为S、T、U分别申请2个650*4096的结果数据空间

STEP2:对E进行21*11均值滤波,结果保存至S,

S阈值得到S1;

S-E 得到S2,S2做阈值;

S1与S2取或得到S3;

STEP3:对R进行3*3中值滤波,结果保存至T,求领域内3*3最小值;

STEP4:对T进行41*41均值滤波,结果保存至U

U-T 得到U1,取U1的5*5领域最大值

2.9 明场处理

E 21*11滤波=S明场均值,S 阈值分割=S1;

(S-E)绝对值求阈值分割=S2;

S1 或 S2 =S3明场检测结果;

3.0 暗场处理

Q 3*3中值=T,T 41*41均值=暗场均值U,T求5*5最小值=T1;

(U-T)低阈值分割=T2,T2求5*5最大值=T3,(T-T1)高阈值分割=T4,T4&&T3=T5;

T2 或 T5=T6暗场检测结果

3.1预处理模块整体接口

输入:原始图像A(4500*4096)

输出:结果图像E、Q、R1、R2、S、S3、U、T6(650*4096)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bryan Ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值