sobel图像预处理
2015-09-01 17:29
155 查看
实现 <<一种微小表面缺陷的机器视觉检测方法>>一文中的预处理
在微小表面缺陷检测中,由于缺陷面积很小,缺陷区域的灰度值变化往往更剧烈. 梯度向量的模值能反映该剧烈变化,且计算量不大. 梯度处理不但能突出图像中的小缺陷,而且能使变化缓慢的背景的特征减弱,大大简化了自动检测的计算任务[8]. 因此,对于背景变化不剧烈的表面图像,可以采用梯度法对表面图像进行增强. 当表面缺陷面积较小时,缺陷形状往往与圆形有一定的相似度,例如孔形、点状、斑状缺陷等,于是用Sobel 算子[8]对图像中3×3大小的邻域计算邻域中心位置像素的梯度幅值,并将该幅值记为g. 设图像的灰度级分为1,
2, · · · , L,如果g>l则灰度值取l,小于l则取g
![](http://img.blog.csdn.net/20150901172754440?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
不知道是不是我理解错误~怎么感觉就不怎么好看不像那么一回事
在微小表面缺陷检测中,由于缺陷面积很小,缺陷区域的灰度值变化往往更剧烈. 梯度向量的模值能反映该剧烈变化,且计算量不大. 梯度处理不但能突出图像中的小缺陷,而且能使变化缓慢的背景的特征减弱,大大简化了自动检测的计算任务[8]. 因此,对于背景变化不剧烈的表面图像,可以采用梯度法对表面图像进行增强. 当表面缺陷面积较小时,缺陷形状往往与圆形有一定的相似度,例如孔形、点状、斑状缺陷等,于是用Sobel 算子[8]对图像中3×3大小的邻域计算邻域中心位置像素的梯度幅值,并将该幅值记为g. 设图像的灰度级分为1,
2, · · · , L,如果g>l则灰度值取l,小于l则取g
#include <opencv2/core/core.hpp> #include "opencv2/imgproc/imgproc.hpp" #include "opencv2/highgui/highgui.hpp" #include <iostream> using namespace cv; using namespace std; int main(){ Mat img,img2,img3;//请读入灰度图像 img=imread("D:\\ping\\lf1.bmp",0); Mat kernel=(Mat_<uchar>(3,3)<<-1,-2,-1,0,0,0,1,2,1); copyMakeBorder(img,img2,1,1,1,1,BORDER_CONSTANT,Scalar(0) );//边界扩展 img2.copyTo(img3); int nc=img2.cols; int nr=img2.rows; int level=250; for(int j=1;j<=nr-2;j++){ uchar *p=img2.ptr<uchar>(j); uchar *p1=img3.ptr<uchar>(j); for(int i=1;i<=nc-2;i++){ int n; n=abs(-(p+i-nc-1)[0]-2*(p+i-nc-1)[1]-(p+i-nc-1)[2]+(p+i+nc-1)[0]+2*(p+i+nc-1)[1]+(p+i+nc-1)[2])/8; if(n<=level) p1[i]=n; else p1[i]=level; } } namedWindow("src"); namedWindow("result"); imshow("src",img); imshow("result",img3); waitKey(0); return 0; }
不知道是不是我理解错误~怎么感觉就不怎么好看不像那么一回事
相关文章推荐
- 37.百度地图经纬度转换为指定view的屏幕坐标(像素点)
- 38.微信二维码扫描效果--设定扫描区域,周边是半透明--iOS原生二维码扫描
- js性能优化
- BZOJ 3771 Triple FFT+容斥原理
- 在IE中调试Javascript
- fp oo
- source code of MES Data
- IOS开发之 ---- 振动强度和时间(私有api)
- 36.在iPhone4S上,UIButton-setEnabled属性为NO时,无法改变button的状态,如上面的文字
- 40.iOS循环播放雷达扫描动画--Life365中的开启定位
- 基础知识(七)opencv、python、人脸框检测
- 自己写的Dapper通用数据访问层
- hdu 4756 MST+树形dp ****
- 新技术
- 手机充值
- 60个开发者不容错过的免费资源库
- 网页一键分享按钮HTML代码
- NodePad++ 添加NppaStyle.dll问题
- 清空表里的数据
- 34.iOS计算时间差,返回差值---xx天xx小时xx秒