图像处理方向基础知识必备

上传人:xiao****1972 文档编号:84265947 上传时间:2019-03-03 格式:DOCX 页数:5 大小:74.31KB
返回 下载 相关 举报
图像处理方向基础知识必备_第1页
第1页 / 共5页
图像处理方向基础知识必备_第2页
第2页 / 共5页
图像处理方向基础知识必备_第3页
第3页 / 共5页
图像处理方向基础知识必备_第4页
第4页 / 共5页
图像处理方向基础知识必备_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《图像处理方向基础知识必备》由会员分享,可在线阅读,更多相关《图像处理方向基础知识必备(5页珍藏版)》请在金锄头文库上搜索。

1、图像的阈值化一、固定阈值法使用固定的阈值作为二值化的界限二、最大类间方差法:1)统计灰度直方图2)计算单个像素的平均灰度3) 计算两类间的方差for (int level=2; levelMAXLEVEL; level+) /MAXLEVEL=256 w1=0, w2=0; u1=0, u2=0; firstPartSumValue=0, secondPartSumValue=0; for (int i=1; ilevel; i+) w1 += histi; /灰度值小于level的像素点的个数 firstPartSumValue += i*histi; /灰度值小于level的像素点的灰度值

2、总和 u1= firstPartSumValue/w1; /第一部分的平均灰度 w1 /= N; /第一部分像素个数在整个图像中占有的比例 for (int j=level; jMAXLEVEL; j+) w2 += histj; secondPartSumValue += j*histj; u2= secondPartSumValue/w2; /第二部分的平均灰度 w2 /= N; /第二部分像素个数在整个图像中占有的比例 /计算两类间的方差 double sigma = w1*(u1-u)*(u1-u)+w2*(u2-u)*(u2-u); varlevel.variance = sigma

3、; /记录方差的值 varlevel.grayLevel = level; /记录当前的灰度3、 P分位法图像二值化前提:知道图像中目标所占的比率,循环不同的灰度值对图像进行分割,并计算相应的目标(像素)所占的比率。计算:若计算得到的比率小于已知比率允许的误差范围内,则使用当前的灰度值进行二值化处理。直方图均衡化 直方图均衡化是灰度变换的一个重要应用,它高效且易于实现,广泛应用于图像增强处理中。图像的像素灰度变化是随机的,直方图的图形高低不齐,直方图均衡化就是用一定的算法使直方图大致平和。 直方图均衡化有以下三个步骤:一、统计各个灰度级出现的次数及概率;1)统计灰度直方图for(i=0;ihe

4、ight;i+) for(j=0;jwidth;j+) pixValue = *(pImage + i*widthStep + j); histpixValue+; 2)计算各个灰度值出现的概率for(i=0;i256;i+) pHisti=histi/(width*height);二、累计归一化的直方图;for(i=0;i256;i+) for(j=0;j=i;j+) ci+=pHistj; 三、计算新的像素值。1)找出当前处理的图像中最大和最小的灰度值略2)计算新的像素值for(i=0;iheight;i+) for(j=0;jwidth;j+) pixValue = *(pImage +

5、 i*widthStep + j); *(pDstImage + i*widthStep + j) = cpixValue*(max-min)+min; 图像平滑的常见算法一、均值滤波 取N*N模板的各个像素的平均值作为当前像素的灰度值。N为奇数。二、中值滤波 将N*N模板的各个像素的灰度值排序,排序后取位于中间位置的灰度值作为当前像素的像素值。三、高斯滤波高斯滤波:需要的参数(float)fSigma, (int)winSize1) 根据winSize的大小及高斯函数计算高斯滤波的模板,并归一化2) 创建的高斯模板系数相当于u=0, 标准差fSigma时的高斯函数/ 计算模板系数int wi

6、nR = winSize/2;float aTemplateMAX_WIN_SIZE = 0;unsigned long aTemplate32UMAX_WIN_SIZE = 0;float fAcc = 0;for(int i=-winR; i=winR; i+) aTemplatei + winR = exp( -i*i/(2*fSigma*fSigma) ) / fSigma; fAcc += aTemplatei + winR;/ 归一化float fInvAcc = 1/fAcc;for(int i=0; iwinSize; i+) aTemplatei /= fAcc;3) 将系数

7、放大,变为整数,例如乘以1012;4) 横向滤波及边界处理:原图乘以高斯模板系数得到新的pFilterData;5) 纵向滤波及边界处理: pFilterData纵向乘以高斯模板系数得到滤波后的图像pDst边缘检测常见算法1、使用模板卷积达到边缘检测目的的有如下算子:2、 canny边缘检测,minTh,maxThminTh控制边缘的连接,maxTh控制强边缘的初始分割。1)使用sobel算子计算梯度图像2)使用sobel算子计算梯度gx,gy3)计算gx,gy(梯度方向)所处的象限,tan(alpha) = gy/gx;4)若当前的梯度g小于minTh则舍去,若当前的梯度g大于gx,大于gy且大于maxTh,则为强边缘,反之为弱边缘。5)将与强边缘连通的弱边缘与强边缘合并(8方向)6)cannny边缘检测完成Hough变换1、图像的边缘检测2、直线上的每一点都满足法线方程 p= x*cos(th) + y*sin(th);直线p的值的大小小于宽度,也小于高度3、loop1:角度遍历 0180; loop2:遍历边缘点,计算p并投票voteth,p4、选择投票最高的th,p5、重新计算p(采用当前角度),与maxP距离大的点舍弃,用剩余的点画条直线。5

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号