演示文稿1[修复的]_第1页
演示文稿1[修复的]_第2页
演示文稿1[修复的]_第3页
演示文稿1[修复的]_第4页
演示文稿1[修复的]_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 张丰收 基本算法讲解 Sobel算子 其主要用于边缘检测,在技术上它是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值,Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子对于象素的位置的影响做了加权,与Prewitt算子、Roberts算子相比因此效果更好。 Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。实际使用中,常用如下两个模板来检测图像边缘。 检测水平边沿 横向模板 : 检测垂直平边沿 纵向模板: 图像的每一

2、个像素的横向及纵向梯度近似值可用以下的公式结合,来计算梯度的大小。 然后可用以下公式计算梯度方向。 1-012-021-01Gx1-2-1-000121Gy2y2xGGGxyGGarctan基本算法讲解 Prewitt算子 Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。 对数字图像f(x,y),Prewitt算子的定义如下: G(i)=|f(i-1,j-1)+f(i-1,j)+f(i-

3、1,j+1)-f(i+1,j-1)+f(i+1j)+f(i+1,j+1)| G(j)=|f(i-1,j+1)+f(i,j+1)+f(i+1j+1)-f(i-1,j-1)+f(i,j-1)+f(i+1,j-1)| 则 P(i,j)=maxG(i),G(j)或 P(i,j)=G(i)+G(j) 经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若P(i,j)T,则(i,j)为边缘点,P(i,j)为边缘图像。这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。 检测水平边沿 横向模板 检测垂直平边

4、沿 纵向模板101-101-101-Gx1110001-1-1-Gy基本算法讲解 Canny(坎尼 )边缘检测算子 该算子功能比前面几种都要好,但是它实现起来较为麻烦,Canny算子是一个具有滤波,增强,检测的多阶段的优化算子,在进行处理前,Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声,Canny分割算法采用一阶偏导的有限差分来计算梯度幅值和方向,在处理过程中,Canny算子还将经过一个非极大值抑制的过程,最后Canny算子还采用两个阈值来连接边缘。 Canny边缘检测算法: step1: 用高斯滤波器平滑图象; step2: 用一阶偏导的有限差分来计算梯度的幅值和方向; step3

5、: 对梯度幅值进行非极大值抑制 step4: 用双阈值算法检测和连接边缘 (1)图象边缘检测必须满足两个条件:一能有效地抑制噪声;二必须尽量精确确定边缘的位置。 (2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。这就是Canny边缘检测算子。基本算法讲解otsu法(最大类间方差法,有时也称之为大津算法)使用的是聚类的思想,把图像的灰度数按灰度级分成2个部分,使得两个部分之间的灰度值差异最大,每个部分之间的灰度差异最小,通过方差的计算来寻找一个合适的灰度级别 来划分。 所以 可以在二值化的时候 采用otsu算法来自动选取阈值进行二值化。otsu算法被认为是图像分割中阈值选取的最佳算法,计

6、算简单,不受图像亮度和对比度的影响。因此,使类间方差最大的分割意味着错分概率最小。 设t为设定的阈值。wo: 分开后 前景像素点数占图像的比例uo: 分开后 前景像素点的平均灰度w1:分开后 被景像素点数占图像的比例u1: 分开后 被景像素点的平均灰度u= w0*u0 + w1*u1 :图像总平均灰度从L个灰度级遍历t,使得t为某个值的时候,前景和背景的方差最大, 则 这个 t 值便是我们要求得的阈值。其中,方差的计算公式如下:g=w0*(uo - u)*(uo - u) + w1 * (u1 - u) * (u1 - u) 此公式计算量较大,可以采用: g = wo *w1* (uo - u

7、1) * (uo - u1) 由于otsu算法是对图像的灰度级进行聚类,所以在执行otsu算法之前,需要计算该图像的灰度直方图。 迭代法原理:迭代选择法是首先猜测一个初始阈值,然后再通过对图像的多趟计算对阈值进行改进的过程。重复地对图像进行阈值操作,将图像分割为对象类和背景类,然后来利用每一个类中的灰阶级别对阈值进行改进。 图像阈值分割-迭代算法 处理流程: 1.为全局阈值选择一个初始估计值T(图像的平均灰度)。 2.用T分割图像。产生两组像素:G1有灰度值大于T的像素组成,G2有 小于等于T像素组成。 3.计算G1和G2像素的平均灰度值m1和m2; 4.计算一个新的阈值:T = (m1 +

8、m2) / 2; 5.重复步骤2和4,直到连续迭代中的T值间的差小于一个预定义参数为止。 适合图像直方图有明显波谷基本算法讲解 霍夫变换是图像变换中的经典手段之一,主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。霍夫变换寻找直线与圆的方法相比与其它方法可以更好的减少噪声干扰。经典的霍夫变换常用来检测直线,圆,椭圆等。 霍夫变换是图像变换中的经典手段之一,主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。霍夫变换寻找直线与圆的方法相比与其它方法可以更好的减少噪声干扰。经典的霍夫变换常用来检测直线,圆,椭圆等。 x*cos(theta) + y * sin(t

9、heta) = r 其中角度theta指r与X轴之间的夹角,r为到直线几何垂直距离。任何在直线上点,x, y都可以表达,其中 r, theta是常量。该公式图形表示如下: 然而在实现的图像处理领域,图像的像素坐标P(x, y)是已知的,而r, theta则是我们要寻找的变量。如果我们能绘制每个(r, theta)值根据像素点坐标P(x, y)值的话,那么就从图像笛卡尔坐标系统转换到极坐标霍夫空间系统,这种从点到曲线的变换称为直线的霍夫变换。变换通过量化霍夫参数空间为有限个值间隔等分或者累加格子基本算法讲解 中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是

10、把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。 roberts,sobel,prewitt算子仿真图 roberts算子图像要比prewitt更清楚,得知sobel要比prewitt更能准确检测图像边缘。而sobel算子比两者更能能准确检测图像边缘由图可以看出霍夫变换就是坐标系的变换,但是跟prewitt算子比较更加能够示边界情况,霍夫变换可以更好的减少噪声干扰 (1) 灰度图像 (2)prewitt算子检测后图像(3

11、) 霍夫变换图 (4)霍夫变换检测图像 (3) 霍夫变换图 (4)霍夫变换检测图像(1)原始图像由图可以看出otsu阈值分割不受图像亮度和对比度的影响。能狗显示出整体像分割情况(2)otsu阈值分割图像 由图可以看出阈值200的比阈值150的多几个黑色的圆圈,所以阈值不同,筛选图像信息不同,可以更好的筛选有用的信息。(1)灰度图像(4)阈值200的分割图像(3)阈值150的分割图像 (2)灰度直方图 Matlab图像处理软件建立与仿真 K60 微控制器系列具有 的性能:内核ARM Cortex-M4 内核带DSP指令,性能可达 1.25 DMIPS/MHz (部分Kinetis系列提供浮点单元

12、),多达32通道的DMA可用于外设和存储器数据传输并减少CPU干预 ,提供不同级别的CPU频率50 MHz、72 MHz和100 MHz(部分Kinetis系列提供120 MHz 和 150 MHz ) , 极低的功耗: 10种低功耗操作模式用于优化外设活动和唤醒时间以延长电池的寿命,低漏唤醒单元、低功耗定时器和低功耗RTC可以更加灵活地实现低功耗,行业领先的快速唤醒时间。 存储器: 内存空间可扩展,从32 KB 闪存 / 8 KB RAM 到 1 MB 闪存 / 128 KB RAM。多个独立的闪存模块,使同时进行代码执行和固件升级成为可能 ,可选的16 KB 缓存用于优化总线带宽和闪存执行

13、性能 ,Flex存储器具有高达 512 KB的 FlexNVM和高达16 KB的 FlexRAM。FlexNVM 能够被分区以支持额外的程序闪存(例如引导加载程序)、数据闪存 (例如存储大表)或者EEPROM 备份。 FlexRAM 支持EEPROM 字节写/字节擦除操作,并且指示最大 EEPROM空间, EEPROM最高超过一千万次的使用寿命EEPROM 擦除/写速度远高于传统的EEPROM,模拟混合信号:快速、高精度的16位 ADC、12位DAC、可编程增益放大器、高速比较器和内部电压参考。提供 强大的信号调节、转换和分析性能的同时降低了系统成本 。人机接口 (HMI):低功耗感应触摸传感

14、接口在所有低功耗模式均可工作,连接性和通信:UART 支持 ISO7816 和 IrDA,I2S、CAN、I2C 和 SPI 可靠性和安全性: 硬件循环冗余校验引擎用于验证存储器内容、通信数据和增加的系统可靠性,独立时钟工作的COP用于防止代码跑飞,外部看门狗监控。 定时和控制:强大的FlexTimers支持通用、PWM和电机控制功能,载波调制器发射器用于产生红外波形 ,可编程中断定时器用于RTOS任务调度或者为ADC转换和可编程延迟模块提供触发源。 外部接口:多功能外部总线接口提供和外部存储器、门阵列逻辑或LCD的接口 系统:5 V容限的GPIO带引脚中断功能 ,从 1.71 V 到 3.6

15、 V的宽操作电压范围,闪存编程电压低至 1.71 V ,并且此时闪存和模拟外设所有功能正常 ,运行温度 -40 C到105 C。void CameraInit() exti_init(PORTC,1,rising_down); /行中断,PORTC1 端口外部中断初始化 ,上升沿触发中断,内部下拉 disable_irq(89); /行中断关闭 disable_irq(90); /场中断关闭 exti_init(PORTD,1,falling_down); /场中断,PORTD1 端口外部中断初始化 ,下降沿触发中断,内部下拉 /二值化函数void BinaData() int i=0,j=0

16、; /count=0; unsigned char *p; for(i=0;iV;i+) p=Pix_datai; for(j=0;j=threshold) Bina_dataij=1; / count+; else Bina_dataij=0; void AllFilt() count=0; /unsigned char sum; for(CCD_V=1;CCD_VV-1;CCD_V+) for(CCD_H=1;CCD_H=4) Bina_dataCCD_VCCD_H=1; else Bina_dataCCD_VCCD_H=0; */ else if(Bina_dataCCD_VCCD_H=

17、0) if(Bina_dataCCD_V-1CCD_H=0 | Bina_dataCCD_V+1CCD_H=0) & (Bina_dataCCD_VCCD_H-1=0 | Bina_dataCCD_VCCD_H+1=0) Bina_dataCCD_VCCD_H=0; else Bina_dataCCD_VCCD_H=1; count+; /*sum=0; sum=sum + Bina_dataCCD_V-1CCD_H + Bina_dataCCD_V-1CCD_H-1 + Bina_dataCCD_V-1CCD_H+1 + Bina_dataCCD_VCCD_H-1 + Bina_da

18、taCCD_VCCD_H+1 + Bina_dataCCD_V+1CCD_H+1 + Bina_dataCCD_V+1CCD_H-1 + Bina_dataCCD_V+1CCD_H; if(sum=6) Bina_dataCCD_VCCD_H=0; else Bina_dataCCD_VCCD_H=1;*/ /中心线提取void get_center() unsigned char *p; static unsigned char last_center=75; for(CCD_V=0;CCD_V1;CCD_H-)/中间往右 if(*(p+CCD_H)=0) & (*(p+CCD_H-1)=0) & (*(p+CCD_H-2)=0) /右边黑线检测 RightBorderCCD_V=CCD_H; break; else RightBorderCCD_V=0; /如果右边没有检测到有黑线 for(CCD_H=75

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论