玻璃表面检测算法详解
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)
玻璃表面检测算法详解相关推荐
- Matlab人脸检测算法详解
这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...
- 【百度飞浆】YOLO系列目标检测算法详解
YOLO系列目标检测算法详解 1 YOLO发展史 2 YOLO v3目标检测原理 3 PaddleDetection中YOLO v3模型介绍 4 YOLO v3配置演练 1 YOLO发展史 2 YOL ...
- 【百度飞浆】RCNN系列目标检测算法详解
RCNN系列目标检测算法详解 目录 两阶段目标检测算法发展历程 R-CNN R-CNN网络结构 R-CNN网络效果 Fast R-CNN Fast R-CNN网络效果 Faster R-CNN Fas ...
- html5 游戏 算法,JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】...
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解[圆形情况] 发布时间:2020-10-10 13:42:43 来源:脚本之家 阅读:95 作者:krapnik 本文实例讲述了JS/HTML ...
- JDA人脸检测算法详解
JDA人脸检测算法详解: 第一步: JDA算法原理详解: 作者建立了一个叫post classifier的分类器,方法如下: 1.样本准备:首先作者调用OpenCV的Viola-Jones分类器,将r ...
- YOLT遥感图像检测算法详解
You Only Look Twice: Rapid Multi-Scale Object Detection InSatellite Imagery-论文链接-代码链接 目录 1.需求解读 2.遥感 ...
- YOLOv1——YOLOX系列及FCOS目标检测算法详解
文章目录 一. 开山之作:YOLOv1 1.1. YOLOv1简介 1.2 YOLOv1 检测原理 1.3 YOLOv1网络结构 1.4 YOLOv1 损失函数 1.5 YOLOv1优缺点 二. YO ...
- single-shot detection(SSD)目标检测算法详解——(一看就懂系列!!!)
SSD是One-stage系列的优秀算法之一 one-stage的意思是挑选候选框和预测候选框两步是同时完成的,R-CNN家族都是two-stage. SSD有什么创新点? (1)基于Faster-R ...
- YOLO系列目标检测算法详解
目录 前言 YOLO发展历程 目标检测 YOLO开山之作 ---- YOLO(v1) YOLOv2 YOLOv3 PaddleDetection中YOLOv3模型介绍 总结 前言 YOLO发展历程 F ...
最新文章
- RAID损坏后 对数据的完整备份
- UNIX系统编程(1)
- C#几种访问修饰符理解
- Java黑皮书课后题第3章:**3.22(几何:点是否在圆内)编写程序,提示用户输入一个点(x,y),然后检查这个点是否在以(0,0)为圆心、半径为10的圆内
- 通过JavaScript操作HTML中select标签
- 年度回忆录(2011.12----2012.09)
- vs2015 html预览,Blend for Visual Studio 2015 预览版
- 安卓mysql类库_Android 链接mysql数据库
- cad墙线打断lisp_autocad 2010怎么打断墙线?
- 密码学家王小云:十年破解MD5和SHA-1两大国际密码
- 遥控直升机主旋翼设定
- 把桌面路径移动到D盘的一种方法
- 微信小程序开发:向数组中插入数据
- 哪款运动蓝牙耳机好用、运动型蓝牙耳机推荐
- Hej Stylus for Mac(手写笔画图工具)
- 腾讯视频会议真实内部实现分享
- Add Python Interpreter 报错 Error code:2. XX can‘t open file XX [Errno 2] No such file or directory
- 软件需求评审会到底做什么?
- magento系统自带批量小结
- 我对响应式编程中Mono和Flux的理解