虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

红外目标检测

  • 光电检测原理及应用 3册 373页 12.7M.pdf

    超声,红外,激光,无线,通讯相关专辑 183册 1.48G光电检测原理及应用 3册 373页 12.7M.pdf

    标签:

    上传时间: 2014-05-05

    上传用户:时代将军

  • 激光光电检测 214页 5.4M.pdf

    超声,红外,激光,无线,通讯相关专辑 183册 1.48G激光光电检测 214页 5.4M.pdf

    标签:

    上传时间: 2014-05-05

    上传用户:时代将军

  • 红外遥控RGB

    #include "STC90.h" #include < intrins.h > #define uchar unsigned char #define uint unsigned int #define led_port P1 sbit IR_RE = P3^2; sbit led_r = P1^3; sbit led_g = P1^4; sbit led_b = P1^5; sbit led_wd = P1^7; sbit K1 =P3^0 ; //增加键 sbit K2 =P3^1 ; //减少键 sbit BEEP =P3^7 ; //蜂鸣器 uchar temp,temp1; bit k=0; //红外解码判断标志位,为0则为有效信号,为1则为无效 bit Flag2; uchar date[4]={0,0,0,0}; //date数组为存放地址原码,反码,数据原码,反码 uint lade_1,lade_2,lade_3,lade_4; uint num; uchar date_ram,ee_temp,ee_temp1; uchar WDT_NUM=0; uchar const dofly[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};// 显示段码值01234567 uchar code seg[]={7,6,5,4,3,2,1,0};//分别对应相应的数码管点亮,即位码 unsigned long disp_date; void fade(); void fade1(); /*************************** 看门狗子程序*************************/ void watchdog_timer() { if(WDT_NUM==5) { WDT_NUM=0; led_wd=!led_wd; } WDT_NUM++; WDT_CONTR=0x3f; } /******************************************************************/ void delay(unsigned int cnt) { while(--cnt); } /*--------------------------延时1ms程子程序-----------------------*/ void delay_1ms(uint z) { uint x,y; for(x=z;x>0;x--) for(y=126;y>0;y--); } /*--------------------------延时1ms程子程序-----------------------*/ delay1000() { uchar i,j; i=5; do{j=95; do{j--;} while(j); i--; } while(i); } /*---------------------------延时882us子程序-----------------------*/ delay882() { uchar i,j; i=6; do{j=71; do{j--;} while(j); i--; }while(i); } /*--------------------------延时2400us程子程序-----------------------*/ delay2400() { uchar i,j; i=5; do{j=237; do{j--;} while(j); i--; }while(i); } /**********************************************************************/ /* void display() { uchar i; for(i=0;i<8;i++) { P0=dofly[disp_date%10];//取显示数据,段码 P2=seg[i]; //取位码 delay_1ms(1); disp_date/=10; } } */ /*********************************************************************/ uchar EEPROM_read(uint addr)//EEPROM字节读 { ISP_CONTR=0x83; //系统时钟<12M时,对ISP_CONTR寄存器设置的值,本电路为11.0592M ISP_CMD=1; //字节读 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); return ISP_DATA; } //-------------------------------------------------------------------- void EEPROM_write(uint addr,uchar dat)//EEPROM字节写 { ISP_CONTR=0x83; //系统时钟<12M时,对ISP_CONTR寄存器设置的值,本电路为11.0592M ISP_CMD=2; //字节编程 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_DATA=dat; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //-------------------------------------------------------------------- void EEPROM_ERASE(uint addr)//EEPROM扇区擦除 { ISP_CONTR=0x83; //系统时钟<12M时,对ISP_CONTR寄存器设置的值,本电路为11.0592M ISP_CMD=3; //扇区擦除 ISP_ADDRH=(addr&0xff00)>>8; ISP_ADDRL=addr&0x00ff; ISP_TRIG=0x46; ISP_TRIG=0xb9; _nop_(); _nop_(); } //************************************************************** /*----------------------------------------------------------*/ /*-----------------------红外解码程序(核心)-----------------*/ /*----------------------------------------------------------*/ void IR_decode() { uchar i,j; while(IR_RE==0); delay2400(); if(IR_RE==1) //延时2.4ms后如果是高电平则是新码 { delay1000(); delay1000(); for(i=0;i<4;i++) { for(j=0;j<8;j++) { while(IR_RE==0); //等待地址码第1位高电平到来 delay882(); //延时882us判断此时引脚电平 ///CY=IR_RE; if(IR_RE==0) { date[i]>>=1; date[i]=date[i]|0x00; } else if(IR_RE==1) { delay1000(); date[i]>>=1; date[i]=date[i]|0x80; } } //1位数据接收结束 } //32位二进制码接收结束 } } /* void LED_PWM() { lade_2=num; //384 lade_4=num; //384 while(lade_2!=0&Flag2==1) { for(lade_3=512;lade_3>lade_4;lade_3--) //512 { led_port=0x00; delay(1); } lade_3=512; //512 lade_4--; for(lade_1=0;lade_1<lade_2;lade_1++) { led_port=0x38; //c7 delay(1); } lade_1=0; lade_2--; if(temp!=0x0c&Flag2==1) { lade_2=0; } lade_2=num; //384 lade_4=num; //384 } } */ void calc() { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; //************************************* 1 /* if(date[3]==0xff&Flag2==1) { if(num>=20) { num=num-80; } //else num=1; LED_PWM(); } if(date[3]==0xfe&Flag2==1) { if(num<=500) { num=num+80; } // else num=511; LED_PWM(); } if(ee_temp1==0xfd) { led_port=0x00; watchdog_timer(); } if(ee_temp1==0xfc) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } */ //********************************************** 2 if(ee_temp1==0xfb) { led_port=0x00; led_r=1; watchdog_timer(); } if(ee_temp1==0xfa) { led_port=0x00; led_g=1; watchdog_timer(); } if(ee_temp1==0xf9) { led_port=0x00; led_b=1; watchdog_timer(); } if(ee_temp1==0xf8) { led_port=0x00; led_r=1; led_g=1; led_b=1; watchdog_timer(); } //************************************** 3 if(ee_temp1==0xf7) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x07) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x07) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf6) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x06) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x06) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf5) { uint fade_1,fade_2,fade_3,fade_4; fade_2=448; //384 fade_4=448; //384 while(fade_2!=0&ee_temp==0x05) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x05) { fade_2=0; } watchdog_timer(); fade_2=448; //384 fade_4=448; //384 } } if(ee_temp1==0xf4) { while(ee_temp==4) { led_port=0x00; led_r=1; delay_1ms(200); led_port=0x00; led_r=1; led_g=1; delay_1ms(200); led_port=0x00; led_g=1; delay_1ms(200); watchdog_timer(); led_port=0x00; led_g=1; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; delay_1ms(200); led_port=0x00; led_b=1; led_r=1; delay_1ms(200); watchdog_timer(); } } //************************************** 4 if(ee_temp1==0xf3) { uint fade_1,fade_2,fade_3,fade_4; fade_2=416; //384 fade_4=416; //384 while(fade_2!=0&ee_temp==0x03) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x03) { fade_2=0; } watchdog_timer(); fade_2=416; //384 fade_4=416; //384 } } if(ee_temp1==0xf2) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x02) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x02) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xf1) { uint fade_1,fade_2,fade_3,fade_4; fade_2=348; //384 fade_4=348; //384 while(fade_2!=0&ee_temp==0x01) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x01) { fade_2=0; } watchdog_timer(); fade_2=348; //384 fade_4=348; //384 } } if(ee_temp1==0xf0) { while(ee_temp==0) { led_port=0x00; led_r=1; delay_1ms(500); watchdog_timer(); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); watchdog_timer(); } } //******************************************** 5 if(ee_temp1==0xef) { uint fade_1,fade_2,fade_3,fade_4; fade_2=384; //384 fade_4=384; //384 while(fade_2!=0&ee_temp==0x0f) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x10; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0f) { fade_2=0; } watchdog_timer(); fade_2=384; //384 fade_4=384; //384 } } if(ee_temp1==0xee) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0e) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x20; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0e) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xed) { uint fade_1,fade_2,fade_3,fade_4; fade_2=320; //384 fade_4=320; //384 while(fade_2!=0&ee_temp==0x0d) { for(fade_3=512;fade_3>fade_4;fade_3--) //512 { led_port=0x08; delay(1); } fade_3=512; //512 fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0d) { fade_2=0; } watchdog_timer(); fade_2=320; //384 fade_4=320; //384 } } if(ee_temp1==0xec) fade(); //******************************************* 6 if(ee_temp1==0xeb) { led_port=0x00; led_r=1; led_g=1; watchdog_timer(); } if(ee_temp1==0xea) { led_port=0x00; //led_r=0; led_g=1; led_b=1; watchdog_timer(); } if(ee_temp1==0xe9) { led_port=0x00; led_r=1; //led_g=0; led_b=1; watchdog_timer(); } if(ee_temp1==0xe8) fade1(); } void fade() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x0c) { fade_2=0; } } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); // watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); // watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=512; fade_4=511; while(fade_2!=0&ee_temp==0x0c) { if(ee_temp!=0x0c) { fade_2=0; } for(fade_3=512;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); watchdog_timer(); } fade_3=512; fade_4--; watchdog_timer(); for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); watchdog_timer(); } fade_1=0; fade_2--; } watchdog_timer(); } void fade1() { // uchar i; uint fade_1,fade_2,fade_3,fade_4; fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x10; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x08; delay(1); } fade_1=0; fade_2--; if(ee_temp!=0x08) { fade_2=0; } } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x20; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x10; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); fade_2=128; fade_4=127; while(fade_2!=0&ee_temp==0x08) { if(ee_temp!=0x08) { fade_2=0; } for(fade_3=128;fade_3>fade_4;fade_3--) { led_port=0x08; delay(1); } fade_3=128; fade_4--; for(fade_1=0;fade_1<fade_2;fade_1++) { led_port=0x20; delay(1); } fade_1=0; fade_2--; } watchdog_timer(); } void init() { led_port=0x00; /* led_r=1; delay_1ms(500); led_port=0x00; led_g=1; delay_1ms(500); led_port=0x00; led_b=1; delay_1ms(500); led_port=0x00; */ delay_1ms(2); WDT_CONTR=0x3f; delay_1ms(500); } //******************************** void main() { init(); Flag2=0; SP=0x60; //堆栈指针 EX0=1; //允许外部中断0,用于检测红外遥控器按键 EA=1; num=255; while(1) { calc(); } } //******************************************************************** /*------------------------外部中断0程序-------------------------*/ /*------------------主要用于处理红外遥控键值--------------------*/ void int0() interrupt 0 { uchar i; Flag2=0; /////// k=0; EX0=0; //检测到有效信号关中断,防止干扰 for(i=0;i<4;i++) { delay1000(); if(IR_RE==1){k=1;} //刚开始为9ms的引导码. } led_port=0x00; if(k==0) { IR_decode(); //如果接收到的是有效信号,则调用解码程序 if(date[3]>=0xe8) { if(date[3]<=0xfb) { temp1=date[3]; EEPROM_ERASE(0x2000); //STC_EEROM_0X2000 temp1 EEPROM_write(0x2000,temp1); EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; /* temp=date[3]&0x0f; EEPROM_ERASE(0x2004); //STC_EEROM_0X2004 temp EEPROM_write(0x2004,temp); */ } else { EEPROM_read(0x2000); ee_temp1=ISP_DATA; ee_temp=ee_temp1&0x0f; } } delay2400(); delay2400(); delay2400(); delay_1ms(500); } EX0=1; //开外部中断,允许新的遥控按键 }

    标签: RGB 红外遥控

    上传时间: 2016-07-02

    上传用户:184890962

  • 基于红外光谱技术的混合气体检测系统概述

    介绍检测系统的设计,对实际设计具有很大意义。希望能帮助大家

    标签: 红外 光谱技术 气体检测系统

    上传时间: 2018-03-06

    上传用户:zhf214

  • 30个数学建模智能算法及MATLAB程序代码: chapter10基于粒子群算法的多目标搜索算法.r

    30个数学建模智能算法及MATLAB程序代码:chapter10基于粒子群算法的多目标搜索算法.rarchapter11基于多层编码遗传算法的车间调度算法.rarchapter12免疫优化算法在物流配送中心选址中的应用 .rarchapter13粒子群优化算法的寻优算法.rarchapter14基于粒子群算法的PID控制器优化设计.rarchapter15基于混合粒子群算法的TSP搜索算法 .rarchapter16 基于动态粒子群算法的动态环境寻优算法.rarchapter17基于PSO工具箱的函数优化算法.rarchapter18鱼群算法函数寻优.rarchapter19基于模拟退火算法的TSP算法.rarchapter1遗传算法工具箱.rarchapter20基于遗传模拟退火算法的聚类算法.rarchapter21模拟退火算法工具箱及应用.rarchapter22蚁群算法的优化计算——旅行商问题(TSP)优化 .rarchapter23基于蚁群算法的二维路径规划算法.rarchapter24 基于蚁群算法的三维路径规划算法.rarchapter25有导师学习神经网络的回归拟合——基于近红外光谱的汽油辛烷值预测.rarchapter26.rarchapter27无导师学习神经网络的分类——矿井突水水源判别.rarchapter28支持向量机的分类——基于乳腺组织电阻抗特性的乳腺癌诊断 .rarchapter29支持向量机的回归拟合——混凝土抗压强度预测.rarchapter2基于遗传算法和非线性规划的函数寻优算法 .rarchapter30极限学习机的回归拟合及分类.rarchapter3基于遗传算法的BP神经网络优化算法 .rarchapter4sa_tsp.rarchapter5基于遗传算法的LQR控制器优化设计.rarchapter6遗传算法工具箱详解及应用 .rarchapter7多种群遗传算法的函数优化算法.rarchapter8基于量子遗传算法的函数寻优算法 .rarchapter9基于遗传算法的多目标优化算法.rar

    标签: 数学建模 matlab

    上传时间: 2021-11-28

    上传用户:

  • 红外避障传感器

    无人驾驶小车可以使用的障碍物检测模块,即红外传感器的基本资料

    标签: 红外避障传感器

    上传时间: 2021-11-28

    上传用户:

  • 低小慢目标光电探测技术研究

    光电探测技术是一种根据目标和背景辐射或者反射的光波在波长和强度之间的差异来进行目标探测的一种技术,它包括从紫外光(02-04um)、可见光(04-0.7um)、红外光(1~3μm,3~5μm,8~12μm)等多种波段的光信号探测。本文通过对低小慢目标的红外特性进行分析,提出了一种新的红外低小慢目标探测算法。低小慢飞行器因为其成本低廉和获取容易,极易形成黑飞,近年来随着低小慢目标威胁态势的增加,国内外关于低小慢目标的管控需求日益增长。但是因为低小慢目标本身种类、制作材料多样,且很多没有强热源,导致其在红外图像上与周围环境成像特征类似,常用的红外弱小目标探测算法无法充分抑制背景,探测效果较差。当前对于低小慢日标的探测以雷达探测为主,红外探测算法较少,但国内外很多研究机构都已在陆续开展红外低小慢目标探测方面的研究。本文主要对以下四点内容进行了研究总结。(1)本文首先以无人机为例对低小慢目标的红外成像特性进行分析,通过分析低小慢日标与传统红外弱小目标在红外特征差异,总结说明了低小慢目标在红外图像上更难与背景区分,同时具有复杂多变的运动轨迹(2)对红外低小慢目标增强进行了研究,通过对奇异值分解(SVD)后的奇异值矩阵设计非线性变换函数,使重构后图像中目标所在的高频部分的对比度得到增强从而使目标和背景之间的区别更加明显,达到了增强目标的目的。(3)针对 Robinson guard滤波器对极值敏感的问题,对原有的计算方式进行了改进,改进后的 Robinson Guard滤波器可以更有效的区分前景和背景,对于背景的抑制更加充分。(4)在上述研究的基础上,提出了一种新的红外低小慢目标探测算法,该算法首先使用本文所用的目标增强方法对目标进行增强,然后使用改进后的 RobinsonGuard滤波器进行背景抑制,最后使用基于局部对比度(LC)的自适应阈值分割方法来提取目标使用真实拍摄的红外低小慢目标序列图像对本文方法进行仿真分析,实验结果表明本文方法具有很好的背景抑制效果,可以有效的实现低小慢目标的探测

    标签: 光电探测

    上传时间: 2022-03-14

    上传用户:

  • 基于ARM11的嵌入式肺癌气体检测系统控制软件设计

    近年频繁出现的雾霾天气,加深了人们对肺癌的关注,迫切需要一种能对肺癌高危人群进行早期筛查和检测的仪器。卟啉类化合物能与气体中的某些分子发生明显的显色反应,该方法能有效地检测出肺癌呼出气体中的标志物。软件系统是各类仪器功能实现的前提。针对肺癌检测,本文基于ARMI设计开发了一套嵌入式肺癌呼吸气体检测软件系统。结合软件工程开发的相关技术思想,通过需求分析,在嵌入式Lnux平台下对软件系统进行开发设计,最终软件系统能通过串口正常控制LED灯、气泵、电磁阀等硬件设备,还能通过图像采集设备实现视频监控和图像采集功能,并合理协调下位机微控制系统各部件的运作时间,最终实现了肺癌检测系统的软硬件一体化,实现了肺癌气体检测系统从进气到检测到结果处理全套控制功能。文章最后对软件系统进行了相应测试。文章主要内容包括以下几点:①结合下位机微控制系统的气路设计,从用户角度采用統一建模语言与用例图对嵌入式系统软件的设计进行需求分析与模型建设②搭建嵌入式 Linux系统环境并对其构架进行剖析,完成系统开发核心的接口驱动程序—视频传输驱动程序和串口驱动程序进行设计。③以α t-Creator作为开发平台,对系统中气体富集模块,气体检测模块,图像处现模块,气体吹扫模块进行了开发设计,并对各模块的控制流程与核心技术进行了详细描述①在6410目标板上搭建Linu系统环境,并移植交叉編译后的肺癌检测系统控制软件。针对第二章中提出的开发需求对系统软件设置相应的测试用例,完成系统软件测试得出测试结果。

    标签: arm11 嵌入式

    上传时间: 2022-03-31

    上传用户:XuVshu

  • 边缘检测方法数字图像处理计算机视觉

    边缘(edge)是指图像局部强度变化最显著的部分.边缘主要存在于目标与目标、目标与背景、区域与区域(包括不同色彩)之间,是图像分割、纹理特征和形状特征等图像分析的重要基础.图像分析和理解的第一步常常是边缘检测(edge detection).由于边缘检测十分重要,因此成为机器视觉研究领域最活跃的课题之一.本章主要讨论边缘检测和定位的基本概念,并使用几种常用的边缘检测器来说明边缘检测的基本问题图像中的边缘通常与图像强度或图像强度的一阶导数的不连续性有关.图像强度的不连续可分为:()阶跃不连续,即图像强度在不连续处的两边的像素灰度值有着显著的差异(2)线条不连续,即图像强度突然从一个值变化到另一个值,保持一个较小的行程后又返回到原来的值.在实际中,阶跃和线条边缘图像是很少见的,由于大多数传感元件具有低频特性,使得阶跃边缘变成斜坡型边缘,线条边缘变成屋顶形边缘,其中的强度变化不是瞬间的,而是跨越一定的距离,这些边缘如图6.1所示对一个边缘来说,有可能同时具有阶跃和线条边缘特性.例如在一个表面上,由一个平面变化到法线方向不同的另一个平面就会产生阶跃边缘:如果这一表面具有镜面反射特性且两平面形成的棱角比较圆滑,则当棱角圆滑表面的法线经过镜面反射角时,由于镜面反射分量,在棱角圆滑表面上会产生明亮光条,这样的边缘看起来象在阶跃边缘上叠加了一个线条边缘.由于边缘可能与场景中物体的重要特征对应,所以它是很重要的图像特征。比如,个物体的轮廓通常产生阶跃边缘,因为物体的图像强度不同于背景的图像强度在讨论边缘算子之前,首先给出一些术语的定义:边缘点:图像中具有坐标[门且处在强度显著变化的位置上的点边缘段:对应于边缘点坐标[,门及其方位,边缘的方位可能是梯度角边缘检测器:从图像中抽取边缘(边缘点和边缘段)集合的算法

    标签: 边缘检测 数字图像处理 计算机视觉

    上传时间: 2022-04-22

    上传用户:bluedrops

  • 非接触式数字体温计的设计(额温枪)毕业设计+pcb+程序

    MLX90614 系列模块是一组通用的红外测温模块。 在出厂前该模块已进行校验及线性化,具有非接触、体积小、精度高,成本低等优点。被测目标温度和环境温度能通过单通道输出,并有两种输出接口,适合于汽车空调、室内暖气、家用电器、手持设备以及医疗设备应用等。本文以MLX90614为例介绍其原理和应用。 特性和优点 体积小,成本低 易集成 宽温度范围内的出厂校准设置:传感器温度范围-40…+125 ˚C物体温度范围-70…+380 ˚C Ta 和 To 由 0 到+50°C 温度范围内,精度可达到 0.5°C (医用) 高精度校准 测量辨析度可达 0.02°C 单个和双重视野版本 兼容 SMBus 数字接口 客户定制的 PWM 连续读数输出 3V 和 5V 电源电压 电源电压可从 8…16V 调节 节能工作模式 适用于不同应用领域的多种封装方式和测量方式 车用级别标准应用实例 高精度无接触测量 用于车用空调控制系统的温度舒适度传感器 用于住宅,商业和工业建筑的空调温度感应元件 挡风玻璃防雾应用 汽车视野死角检测 工业移动元件温度控制 打印机、复印机温度控制 家电温度控制 卫生保健 家畜监控 移动物体探测 多区域温度控制 – 两线通信可支持多达 100 个传感器 热动继电器 / 警报 体温测量

    标签: 数字体温计 pcb

    上传时间: 2022-05-30

    上传用户:wangshoupeng199