1.改进CNN&FCN的中值中值晶圆缺陷分割系统
2.Proteusçµåçµè·¯è®¾è®¡å仿ççç®å½
3.FPGA高端项目:FPGA帧差算法图像识别+目标跟踪,提供11套工程源码和技术支持
4.å¾åå¤çç¿»è¯
5.ç¨c++åå¾åè¯å«
改进CNN&FCN的晶圆缺陷分割系统
随着半导体行业的快速发展,半导体晶圆的源码源码生产需求与日俱增,然而在生产过程中不可避免地会出现各种缺陷,中值中值这直接影响了半导体芯片产品的滤波滤波质量。因此,源码源码lua获取源码基于机器视觉的中值中值晶圆表面检测方法成为研究热点。本文针对基于机器视觉的滤波滤波晶圆表面缺陷检测算法进行深入研究。
在实验中,源码源码我们采用三种方式对样本晶圆进行成像。中值中值第一种方式使用工业显微相机,滤波滤波配备白色环光,源码源码成像分辨率高达×,中值中值位深度为,滤波滤波视野约为5.5mm ×3.1mm。源码源码第二种方式使用相机 MER--GM,配有蓝色环光和2倍远心镜头,物距mm,成像分辨率×,位深度,视野宽4.4mm,呆呆源码精度为2jum。第三种方式采用相机 Manta G-B,白色环光LTS-RN-W,镜头TY-A,物距mm,成像分辨率×,位深度8,视野宽3mm,精度1 jum。
传统的繁体源码基于CNN的分割方法在处理晶圆缺陷时存在存储开销大、效率低下、像素块大小限制感受区域等问题。而全卷积网络(FCN)能够从抽象特征中恢复每个像素所属的类别,但在细节提取和空间一致性方面仍有不足。
本文提出改进DUC(dense upsampling convolution)和HDC(hybrid dilated convolution),通过学习一系列上采样滤波器一次性恢复label map的全部分辨率,解决双线性插值丢失信息的问题,实现端到端的分割。
系统整合包括源码、环境部署视频教程、rtlinux源码数据集和自定义UI界面等内容。
参考文献包括关于机器视觉缺陷检测的研究综述、产品缺陷检测方法、基于深度学习的产品缺陷检测、基于改进的加权中值滤波与K-means聚类的织物缺陷检测、基于深度学习的子弹缺陷检测方法、机器视觉表面缺陷检测综述、基于图像处理的晶圆表面缺陷检测、非接触超声定位检测研究、基于深度学习的高低源码人脸识别方法研究等。
Proteusçµåçµè·¯è®¾è®¡å仿ççç®å½
第1ç« Proteusæ¦è¿° 11.1 Proteusåå² 1
1.2 Proteusåºç¨é¢å 1
1.3 Proteus VSMç»ä»¶ 2
1.4 Proteusçå¯å¨åéåº 3
1.5 Proteus设计æµç¨ 5
1.5.1 èªé¡¶åä¸è®¾è®¡ 5
1.5.2 èªä¸èä¸è®¾è®¡ 5
1.6 Proteuså®è£ æ¹æ³ 6
第2ç« Proteus ISISåºæ¬æä½ 9
2.1 Proteus ISISå·¥ä½çé¢ 9
2.1.1 ç¼è¾çªå£ 9
2.1.2 é¢è§çªå£
2.1.3 对象éæ©å¨
2.1.4 èåæ ä¸ä¸»å·¥å ·æ
2.1.5 ç¶ææ
2.1.6 å·¥å ·ç®±
2.1.7 æ¹åå·¥å ·æ å仿çæé®
2.2 ç¼è¾ç¯å¢è®¾ç½®
2.2.1 模æ¿è®¾ç½®
2.2.2 å¾è¡¨è®¾ç½®
2.2.3 å¾å½¢è®¾ç½®
2.2.4 ææ¬è®¾ç½®
2.2.5 å¾å½¢ææ¬è®¾ç½®
2.2.6 交ç¹è®¾ç½®
2.3 ç³»ç»åæ°è®¾ç½®
2.3.1 å ä»¶æ¸ å设置
2.3.2 ç¯å¢è®¾ç½®
2.3.3 è·¯å¾è®¾ç½®
2.3.4 å±æ§å®ä¹è®¾ç½®
2.3.5 å¾çº¸å¤§å°è®¾ç½®
2.3.6 ææ¬ç¼è¾é项设置
2.3.7 å¿«æ·é®è®¾ç½®
2.3.8 å¨ç»é项设置
2.3.9 仿çé项设置
å®ä¾2-1 åçå¾ç»å¶å®ä¾
第3ç« Proteus ISISçµè·¯ç»å¶
3.1 ç»å¾æ¨¡å¼åå½ä»¤
3.1.1 Componentï¼å 件ï¼æ¨¡å¼
3.1.2 Junction dotï¼èç¹ï¼æ¨¡å¼
3.1.3 Wire labelï¼è¿çº¿æ å·ï¼æ¨¡å¼
3.1.4 Text scriptsï¼æåèæ¬ï¼æ¨¡å¼
3.1.5 æ»çº¿ï¼Busesï¼æ¨¡å¼
3.1.6 Subcircuitï¼åçµè·¯ï¼æ¨¡å¼
3.1.7 Terminalsï¼ç»ç«¯ï¼æ¨¡å¼
3.1.8 Device Pinsï¼å¨ä»¶å¼èï¼æ¨¡å¼
3.1.9 2Då¾å½¢å·¥å ·
3.2 导线çæä½
3.2.1 两对象è¿çº¿
3.2.2 è¿æ¥ç¹
3.2.3 éå¤å¸çº¿
3.2.4 æå¨è¿çº¿
3.2.5 移走èç¹
3.3 对象çæä½
3.3.1 éä¸å¯¹è±¡
3.3.2 æ¾ç½®å¯¹è±¡
3.3.3 å é¤å¯¹è±¡
3.3.4 å¤å¶å¯¹è±¡
3.3.5 æå¨å¯¹è±¡
3.3.6 è°æ´å¯¹è±¡
3.3.7 è°æ´æå
3.3.8 ç¼è¾å¯¹è±¡
3.4 ç»å¶çµè·¯å¾è¿é¶
3.4.1 æ¿æ¢å 件
3.4.2 éèå¼è
3.4.3 设置头æ¡
3.4.4 设置è¿çº¿å¤è§
3.5 å ¸åå®ä¾
å®ä¾3-1 ç»å¶å ±åå°ææ¾å¤§çµè·¯
å®ä¾3-2 JK触åå¨ç»æçä¸ä½äºè¿å¶å
æ¥è®¡æ°å¨çç»å¶ä¸æµè¯
å®ä¾3-3 KEYPADçç»å¶å仿ç
å®ä¾3-4 åçæºæ§ä¸²è¡è¾å ¥å¹¶è¡è¾åº
移ä½å¯åå¨ç»å¶ç»ä¹
第4ç« ProteusISISåæå仿çå·¥å ·
4.1 èæ仪å¨
4.2 æ¢é
4.3 å¾è¡¨
4.4 æ¿å±æº
4.4.1 ç´æµä¿¡å·åçå¨DC设置
4.4.2 å¹ åº¦ãé¢çãç¸ä½å¯æ§çæ£å¼¦
æ³¢åçå¨SINE设置
4.4.3 模æèå²åçå¨PULSE设置
4.4.4 ææ°èå²åçå¨EXP设置
4.4.5 åé¢çè°é¢æ³¢ä¿¡å·åçå¨SFFM
设置
4.4.6 PWLINå段线æ§èå²ä¿¡å·åç
å¨è®¾ç½®
4.4.7 FILEä¿¡å·åçå¨è®¾ç½®
4.4.8 é³é¢ä¿¡å·åçå¨AUDIO设置
4.4.9 åå¨ææ°åèå²åçå¨DPULSE
设置
4.4. æ°åå边沿信å·åçå¨DEDGE
设置
4.4. æ°åå稳æé»è¾çµå¹³åçå¨
DSTATE设置
4.4. æ°åæ¶éä¿¡å·åçå¨DCLOCK
设置
4.4. æ°å模å¼ä¿¡å·åçå¨DPATTERN
设置
4.5 å ¸åå®ä¾
å®ä¾4-1 å ±åå°ææ¾å¤§çµè·¯åæ
å®ä¾4-2 ADCçµè·¯æ¶åºåæ
å®ä¾4-3 å ±åå°æåºç¨ä½é滤波çµè·¯
åæ
第5ç« æ¨¡æçµè·¯è®¾è®¡å仿ç
5.1 è¿ç®æ¾å¤§å¨åºæ¬åºç¨çµè·¯
5.1.1 åç¸æ¾å¤§çµè·¯
5.1.2 åç¸æ¾å¤§çµè·¯
5.1.3 å·®å¨æ¾å¤§çµè·¯
5.1.4 å æ³è¿ç®çµè·¯
5.1.5 åæ³è¿ç®çµè·¯
5.1.6 å¾®åè¿ç®çµè·¯
5.1.7 积åè¿ç®çµè·¯
å®ä¾5-1 PIDæ§å¶çµè·¯åæ
5.2 æµéæ¾å¤§çµè·¯ä¸é离çµè·¯
5.2.1 æµéæ¾å¤§å¨
å®ä¾5-2 æµéæ¾å¤§å¨æµæ¸©çµè·¯åæ
5.2.2 é离æ¾å¤§å¨
å®ä¾5-3 模æä¿¡å·é离æ¾å¤§çµè·¯
åæ
5.3 ä¿¡å·è½¬æ¢çµè·¯
5.3.1 çµåæ¯è¾çµè·¯
5.3.2 çµå/é¢ç转æ¢çµè·¯
5.3.3 é¢ç/çµå转æ¢çµè·¯
5.3.4 çµåâçµæµè½¬æ¢çµè·¯
5.3.5 çµæµâçµå转æ¢çµè·¯
5.4 移ç¸çµè·¯ä¸ç¸ææ£æ³¢çµè·¯
5.4.1 移ç¸çµè·¯
5.4.2 ç¸ææ£æ³¢çµè·¯
å®ä¾5-4 ç¸ææ£æ³¢å¨é´ç¸ç¹æ§åæ
5.5 ä¿¡å·ç»åçµè·¯
å®ä¾5-5 çµé»é¾äºåé¢ç»åçµè·¯
åæ
5.6 ææºæ»¤æ³¢çµè·¯
5.6.1 ä½é滤波çµè·¯
5.6.2 é«é滤波çµè·¯
5.6.3 带é滤波çµè·¯
5.6.4 带é»æ»¤æ³¢çµè·¯
5.7 ä¿¡å·è°å¶/解è°
5.7.1 è°å¹ çµè·¯
5.7.2 è°é¢çµè·¯
5.7.3 è°ç¸çµè·¯
5.8 å½æ°åççµè·¯
5.8.1 æ£å¼¦æ³¢ä¿¡å·åççµè·¯
å®ä¾5-6 çµå®¹ä¸ç¹å¼æ¯è¡çµè·¯åæ
5.8.2 ç©å½¢æ³¢ä¿¡å·åççµè·¯
5.8.3 å 空æ¯å¯è°çç©å½¢æ³¢åç
çµè·¯
5.8.4 ä¸è§æ³¢ä¿¡å·åççµè·¯
5.8.5 é¯é½¿æ³¢ä¿¡å·åççµè·¯
å®ä¾5-7 éæå½æ°åçå¨ICL
çµè·¯åæ
第6ç« æ°åçµè·¯è®¾è®¡å仿ç
6.1 åºæ¬åºç¨çµè·¯
6.1.1 å稳æ触åå¨
6.1.2 å¯åå¨/移ä½å¯åå¨
å®ä¾6-1 LS 8ä½åå移ä½å¯åå¨
åæ
6.1.3 ç¼ç çµè·¯
6.1.4 è¯ç çµè·¯
å®ä¾6-2 CDè¯ç æ¾ç¤ºçµè·¯
åæ
6.1.5 ç®æ¯é»è¾çµè·¯
6.1.6 å¤è·¯éæ©å¨
6.1.7 æ°æ®åé å¨
6.1.8 å /å计æ°å¨
6.2 èå²çµè·¯
6.2.1 å®æ¶å¨ææçå¤è°æ¯è¡å¨
å®ä¾6-3 å 空æ¯ä¸é¢çåå¯è°çå¤
è°æ¯è¡å¨åæ
6.2.2 ç©å½¢èå²çæ´å½¢
6.3 çµå®¹æµé仪
6.3.1 çµå®¹æµé仪设计åç
6.3.2 çµå®¹æµé仪çµè·¯è®¾è®¡
6.4 å¤è·¯çµåæ¢çå¨
6.4.1 ç®å8è·¯çµåæ¢çå¨
6.4.2 8路带æ°åæ¾ç¤ºçµåæ¢çå¨
第7ç« åçæºä»¿ç
7.1 Proteusä¸åçæºä»¿ç
7.1.1 å建æºä»£ç æ件
7.1.2 ç¼è¾æºä»£ç ç¨åº
7.1.3 çæç®æ 代ç
7.1.4 代ç çæå·¥å ·
7.1.5 å®ä¹ç¬¬ä¸æ¹æºä»£ç ç¼è¾å¨
7.1.6 使ç¨ç¬¬ä¸æ¹IDE
7.1.7 åæ¥è°è¯
7.1.8 æç¹è°è¯
7.1.9 MULTI-CPUè°è¯
7.1. å¼¹åºå¼çªå£
7.2 WinAVRç¼è¯å¨
7.2.1 WinAVRç¼è¯å¨ç®ä»
7.2.2 å®è£ WinAVRç¼è¯å¨
7.2.3 WinAVRç使ç¨
7.3 ATMEGAåçæºæ¦è¿°
7.3.1 AVRç³»ååçæºç¹ç¹
7.3.2 ATmegaæ»ä½ç»æ
7.4 I/O端å£åå ¶ç¬¬äºåè½
7.4.1 端å£Aç第äºåè½
7.4.2 端å£Bç第äºåè½
7.4.3 端å£Cç第äºåè½
7.4.4 端å£Dç第äºåè½
å®ä¾7-1 使ç¨Proteus仿çé®çæ§
LED
7.5 ä¸æå¤ç
7.5.1 ATmegaä¸ææº
7.5.2 ç¸å ³I/Oå¯åå¨
7.5.3 æå¤ç
å®ä¾7-2 使ç¨Proteus仿çä¸æå¤éç
é®ç
7.6 ADC模æè¾å ¥æ¥å£
7.6.1 ADCç¹ç¹
7.6.2 ADCçå·¥ä½æ¹å¼
7.6.3 ADCé¢åé¢å¨
7.6.4 ADCçåªå£°æå¶
7.6.5 ä¸ADCæå ³çI/Oå¯åå¨
7.6.6 ADCåªå£°æ¶é¤ææ¯
å®ä¾7-3 使ç¨Proteus仿çç®æçµ
é计
7.7 éç¨ä¸²è¡æ¥å£UART
7.7.1 æ°æ®ä¼ é
7.7.2 æ°æ®æ¥æ¶
7.7.3 ä¸UARTç¸å ³çå¯åå¨
å®ä¾7-4 使ç¨Proteus仿ç以æ¥è¯¢æ¹å¼
ä¸èæç»ç«¯ååçæºä¹é´äºç¸
éä¿¡
å®ä¾7-5 使ç¨Proteus仿çå©ç¨æ åI/O
æµä¸èæç»ç«¯éä¿¡è°è¯
7.8 å®æ¶å¨/计æ°å¨
7.8.1 T/C0
7.8.2 T/C1
7.8.3 T/C2
7.8.4 å®æ¶å¨/计æ°å¨çé¢åé¢å¨
å®ä¾7-6 使ç¨Proteus仿çT/C0å®æ¶
éªçLEDç¯
å®ä¾7-7 使ç¨Proteus仿çT/C2产ç
ä¿¡å·T/C1è¿è¡æè·
å®ä¾7-8 使ç¨Proteus仿çT/C1产ç
PWMä¿¡å·æ§çµæº
å®ä¾7-9 使ç¨Proteus仿ççé¨ç
å®æ¶å¨
7.9 åæ¥ä¸²è¡æ¥å£SPI
7.9.1 SPIç¹æ§
7.9.2 SPIå·¥ä½æ¨¡å¼
7.9.3 SPIæ°æ®æ¨¡å¼
7.9.4 ä¸SPIç¸å ³çå¯åå¨
å®ä¾7- 使ç¨Proteus仿ç端å£
æ©å±
7. 两线串è¡æ¥å£TWI
7..1 TWIç¹æ§
7..2 TWIçæ»çº¿ä»²è£
7..3 TWIç使ç¨
7..4 ä¸TWIç¸å ³çå¯åå¨
å®ä¾7- 使ç¨Proteus仿çåè¯ç
TWIéä¿¡
7. 综å仿ç
å®ä¾7- 使ç¨Proteus仿çDSB
æµæ¸©è®¡
å®ä¾7- 使ç¨Proteus仿ççµå
ä¸å¹´å
å®ä¾7- 使ç¨Proteus仿çDS
å®æ¶æ¶é
第8ç« PCBå¸æ¿
8.1 PCBæ¦è¿°
8.2 Proteus ARESçå·¥ä½çé¢
8.2.1 ç¼è¾çªå£
8.2.2 é¢è§çªå£
8.2.3 对象éæ©å¨
8.2.4 èåæ ä¸ä¸»å·¥å ·æ
8.2.5 ç¶ææ
8.2.6 å·¥å ·ç®±
8.3 ARESç³»ç»è®¾ç½®
8.3.1 é¢è²è®¾ç½®
8.3.2 é»è®¤è§å设置
8.3.3 ç¯å¢è®¾ç½®
8.3.4 éæ©è¿æ»¤å¨è®¾ç½®
8.3.5 å¿«æ·é®è®¾ç½®
8.3.6 ç½æ ¼è®¾ç½®
8.3.7 使ç¨æ¿å±è®¾ç½®
8.3.8 æ¿å±å¯¹è®¾ç½®
8.3.9 è·¯å¾è®¾ç½®
8.3. 模æ¿è®¾ç½®
8.3. å·¥ä½åºå设置
å®ä¾8-1 PCBå¸æ¿æµç¨
åèæç®
åçå¾ï¼é¡¾åæä¹å°±æ¯è¡¨ç¤ºçµè·¯æ¿ä¸åå¨ä»¶ä¹é´è¿æ¥åççå¾è¡¨ãå¨æ¹æ¡å¼åçæ£åç 究ä¸ï¼åçå¾çä½ç¨æ¯é常éè¦çï¼è对åçå¾çæå ³ä¹å ³ä¹æ´ä¸ªé¡¹ç®çè´¨éçè³çå½ãç±åçå¾å»¶ä¼¸ä¸å»ä¼æ¶åå°PCB layoutï¼ä¹å°±æ¯PCBå¸çº¿ï¼å½ç¶è¿ç§å¸çº¿æ¯åºäºåçå¾æ¥åæçï¼éè¿å¯¹åçå¾çåæ以åçµè·¯æ¿å ¶ä»æ¡ä»¶çéå¶ï¼è®¾è®¡è å¾ä»¥ç¡®å®å¨ä»¶çä½ç½®ä»¥åçµè·¯æ¿çå±æ°çã
åºå°é夫å®å¾Kirchhoff lawsæ¯çµè·¯ä¸çµååçµæµæéµå¾ªçåºæ¬è§å¾ï¼æ¯åæå计ç®è¾ä¸ºå¤æçµè·¯çåºç¡ï¼å¹´ç±å¾·å½ç©çå¦å®¶G.R.åºå°é夫ï¼Gustav Robert Kirchhoffï¼ï½ï¼æåºãå®æ¢å¯ä»¥ç¨äºç´æµçµè·¯çåæï¼ä¹å¯ä»¥ç¨äºäº¤æµçµè·¯çåæï¼è¿å¯ä»¥ç¨äºå«æçµåå 件çé线æ§çµè·¯çåæãè¿ç¨åºå°é夫å®å¾è¿è¡çµè·¯åææ¶ï¼ä» ä¸çµè·¯çè¿æ¥æ¹å¼æå ³ï¼èä¸ææ该çµè·¯çå å¨ä»¶å ·æä»ä¹æ ·çæ§è´¨æ å ³ãåºå°é夫å®å¾å æ¬çµæµå®å¾ï¼KCL)åçµåå®å¾(KVL)ï¼åè åºç¨äºçµè·¯ä¸çèç¹èåè åºç¨äºçµè·¯ä¸çåè·¯ã
å¤ç¨è¡¨
multimeter
ç±ç£çµç³»çµè¡¨çæµéæºæä¸æ´æµå¨ææçå¤åè½ãå¤éç¨çæºæ¢°å¼æ示çµè¡¨ï¼è§çµæµè¡¨ï¼ãå¯ç¨ä»¥æµé交ãç´æµçµåï¼äº¤ãç´æµçµæµï¼çµé»ãå称ä¸ç¨è¡¨æç¹ç¨è¡¨ãæäºå¤ç¨è¡¨è¿å ·ææµéçµå®¹ãçµæçåè½ã
å¤ç¨è¡¨ä¸»è¦ç±ç£çµç³»çµè¡¨çæµéæºæãæµéçµè·¯å转æ¢å¼å ³
ç»æãå ¶ä¸ï¼è½¬æ¢å¼å ³æ¯å¤ç¨è¡¨éæ©ä¸åæµéåè½åä¸åéç¨æ¶çåæ¢å 件ã
满å转çµæµçº¦ä¸º ï½Î¼Aãå¤ç¨è¡¨ç¨ä¸ä¸ªæµéæºææ¥æµéå¤ç§çµå¦éï¼åå ·æå 个éç¨ãå ¶å·¥ä½åçæ¯:éè¿æµéçµè·¯çåæ¢,å°è¢«æµéåæ¢æç£çµç³»æµéæºæè½å¤æ¥åçç´æµçµæµãä¾å¦æµéæºæç»ååæµå¨ï¼è§çµæµè¡¨ï¼åååå¨ï¼å°±å½¢ææµéç´æµçµæµåçµåçå¤éç¨ç´æµçµè¡¨ãç£çµç³»æµéæºæä¸åæ³¢æå ¨æ³¢æ´æµå¨ç»ææ´æµå¼çµè¡¨çæµéæºæï¼åç»ååæµå¨åååå¨ï¼å°±å½¢ææµé交æµçµæµåçµåçå¤éç¨äº¤æµçµè¡¨ãå¤ç¨è¡¨å è¿å¸¦æçµæ± ï¼å½è¢«æµçµé»å¼ä¸åæ¶ï¼çµæ± 使æµéæºæå éè¿ä¸åæ°å¼ççµæµï¼ä»èåæ åºä¸åç被æµçµé»å¼ã转æ¢å¼å ³æ¯å¤ç¨è¡¨éæ©ä¸åæµéåè½åä¸åéç¨æ¶çåæ¢å 件ã
ç¨å¤ç¨è¡¨æµéçµé»çåççµè·¯è§å¾ãå½è¢«æµçµé»Rx=0æ¶,çµè·¯ä¸ççµæµæ大,è°èR使æµéæºææéçå转è§ä¸ºæ»¡å»åº¦å¼ï¼æ¤æ¶çµè·¯ä¸ççµæµå¼I0=E/Rãå½è¢«æµçµé»Rxå¢å¤§æ¶,çµæµI=E/(R+Rx)éæ¸åå°ï¼æéçå转è§ä¹åå°ãå æ¤å¤ç¨è¡¨è¡¨çä¸ççµé»å¼æ å°ºæ¯ååçï¼èä¸å»åº¦ä¸ååãè¥è¢«æµçµé»Rx=Rï¼åçµæµI=I0/2ï¼æéå转è§ä¸ºæ»¡å转è§çä¸åãå æ¤å»åº¦ä¸ç¹å¤ææ ççµé»å¼(称为ä¸å¼çµé»)å³ä¸ºè¯¥éç¨ä¸å¤ç¨è¡¨çå é»å¼ãé常çµé»å¼æ å°ºçææ读æ°èå´ä¸º0.1ï½åä¸å¼çµé»å¼ã
éççµåææ¯çä¸æè¿æ¥ï¼å¤ç¨è¡¨æ£éæ¥åæ°åå¼æ¹ååå±ã
FPGA高端项目:FPGA帧差算法图像识别+目标跟踪,提供套工程源码和技术支持
本文介绍了一项高端的FPGA项目,利用FPGA实现帧差算法进行图像识别和目标跟踪。项目包含套针对不同FPGA型号和输入源的工程源码,涵盖了Xilinx(如Artix7、Kintex7、Zynq、Zynq)和Altera(如Cyclone IV)系列,以及各种分辨率和输入方式,如OV、OV摄像头和HDMI输入。
设计流程从视频采集开始,通过FPGA采集输入视频,使用FDMA图像缓存架构存储并处理视频。接着,进行RGB转灰度、帧差计算、中值滤波、图像腐蚀膨胀,最终框出运动目标。工程源码详细说明了每套方案的FPGA型号、输入输出参数、HDMI编码方式以及适用的开发板,提供给在校学生、研究生和在职工程师进行项目开发或研究。
项目设计原理框图清晰地展示了运动目标检测过程,以及针对不同输入源的处理方法,包括OV和OV的i2c配置。每个工程都配备了详细的上板调试步骤和所需设备,包括FPGA开发板、摄像头和显示器。此外,还有高清HDMI输入版本的演示效果。
福利部分,本文提供了工程源码的获取方式,以网盘链接形式,方便读者下载。同时,博主根据用户反馈,还提供了个性化服务以满足不同用户的需求。
å¾åå¤çç¿»è¯
é对ç»åºçå¾åï¼moon.tifï¼æè èªè¡éæ©çç°åº¦å¾åï¼
1ï¼ï¼ç»å¾ååå«æ·»å é«æ¯åªå£°åæ¤çåªå£°ã
2ï¼ï¼å¯¹å åªå¾åçä¸å¿åºåï¼*ï¼è¿è¡ç©ºé´æ»¤æ³¢ï¼å°½æ大å¯è½æ¶é¤åªå£°ã
3ï¼ï¼å¯¹å åªå¾åçä¸å¿åºåï¼*ï¼è¿è¡é¢å滤波ï¼å°½æ大å¯è½æ¶é¤åªå£°ã
ææ¯æè¿°ï¼
对å¾åè¿è¡å é«æ¯åªå£°åæ¤çåªå£°å¤çï¼å¯¹å å«é«æ¯åªå£°åæ¤çåªå£°çå¾çè¿è¡å¤çï¼ä½¿å¤çåçå¾åæ¯åå¾åæ¸ æ°ã
æéåºç¨å°çææ¯ï¼å æ¬ï¼
a>对å¾çå åªå£°
b>éåä¸å¿åºå
c>对éåçåºåè¿è¡éåªå¤ç
d>éæ°çæå¾åã
e>æé é«æ¯ä½é滤波å¨æ¶ç¨å°äºé«æ¯å ¬å¼ï¼exp(-(u^2+v^2)/(2*(D0^2)))
ç»æ讨论ï¼
以ä¸æ¯å¯¹ä¸åç滤波å¨é对ä¸ååªç¹å¤ççæµè¯ç»æã
åèä¸é¢çè¯éªç»æï¼è¿è¡è®¨è®ºï¼
A()æ¯ä½¿ç¨fspecial('gaussianâ)å¹³æ»ç©ºå滤波å¤çææï¼ä¸è¿ææä¸æ¯æ好ï¼ç±äºæ大ç¨åº¦éåªï¼å¯¼è´å¾å模ç³ï¼
A()æ¯é¢å滤波å¤çåçç»æï¼å 为使ç¨äºé«æ¯ä½é滤波å¨ï¼æ以ä¼ææ¡é»çº¿ï¼å¤çä¸è¬ï¼
A()æ¯ä½¿ç¨medfilt2ï¼ï¼ç©ºåä¸å¼æ»¤æ³¢å¨ææï¼éåªææå¾ä¸éï¼å¾åä¹å¾æ¸ æ°ï¼
A() æ¯é¢å滤波å¤çåçç»æï¼åA()ï¼å 为使ç¨äºé«æ¯ä½é滤波å¨ï¼æ以ä¼ææ¡é»çº¿ï¼ææä¸è¬ã
è¯éªç»æ:
é«æ¯å åªåæ¤çå åªå¤çå¾åå«å¦ä¸:
å¦å¾:
å¾(A):åå¾
å¾(A):é«æ¯å åª
å¾(A):对å¾(A)è¿è¡ä¸å¿*空å滤波
å¾(A):对å¾(A)è¿è¡ä¸å¿*é¢å滤波
ï¼A0ï¼ ï¼Aï¼
ï¼Aï¼ (A)
å¦å¾:
å¾(A):åå¾
å¾(A):æ¤çå åª
å¾(A):对å¾(A)è¿è¡ä¸å¿*空å滤波
å¾(A):对å¾(A)è¿è¡ä¸å¿*é¢å滤波
(A) (A)
(A) (A)
éå½ï¼
æºä»£ç 1 ï¼å¯¹é«æ¯åªå£°çå¤ç
f=imread('moon.tif');
J=imnoise(f,'gaussian',0.,0.);%æ·»å é«æ¯åªå£°
%空å滤波
r=[ ];
c=[ ];
BW=roipoly(J,c,r);
h=fspecial('gaussian',[5 5]);
A=roifilt2(J,h,BW);
figure,imshow(A);
%é¢å滤波
f1=imcrop(fn,[ ]);
%æªå*大å°ççªå£å¾ç
f2=[ ];
%建ç«ä¸ä¸ªæ°çå¾å
f2=uint8(f2);
f2=padarray(f2,[ ],);
%å°æ°å»ºå¾åæå±å°*çé»è²å¾ç
f2=padarray(f2,[ ],0);
%å¨æ°å»ºå¾çå¨å´æ·»å ç½è²ä½¿ä¹å¤§å°ä¸ºmoonå¾çç大å°
fn=fn-f2;
%å¾å°ä¸å¿*åºåå 为é»è²çmoonå¾ç
PQ=paddedsize(size(f1));
[u,v]=dftuv(PQ(1),PQ(2));
D0=0.2*PQ(2);
hh=exp(-(u.^2+v.^2)/(2*(D0^2)));
%æé é«æ¯ä½é滤波å¨
h1=dftfilt(f1,hh);
A=padarray(h1,[ ],0);
%å°h1æå±å°moonå¾ç大å°
A=uint8(A)+fn;
%å¾å°ä¸å¿*åºåå¤çåçmoonå¾ç
figure,imshow(A);
æºä»£ç 2 ï¼å¯¹æ¤çåªå£°çå¤ç
f=imread('moon.tif');
fn=imnoise(f,'salt & pepper',0.);
%æ·»å æ¤çåªå£°
%空å滤波
f1=imcrop(fn,[ ]);
%æªå*大å°ççªå£å¾ç
f2=[ ];
%建ç«ä¸ä¸ªæ°çå¾å
f2=uint8(f2);
f2=padarray(f2,[ ],);
%å°æ°å»ºå¾åæå±å°*çé»è²å¾ç
f2=padarray(f2,[ ],0);
%å¨æ°å»ºå¾çå¨å´æ·»å ç½è²ä½¿ä¹å¤§å°ä¸ºmoonå¾çç大å°
fn=fn-f2;
%å¾å°ä¸å¿*åºåå 为é»è²çmoonå¾ç
h=medfilt2(f1,'symmetric');
%对f1è¿è¡ä¸å¼å¤ç
A=padarray(h,[ ],0);
%å°hæå±å°moonå¾ç大å°
A=A+fn;
%å¾å°ä¸å¿*åºåå¤çåçmoonå¾ç
figure,imshow(A);
%é¢å滤波
f1=imcrop(fn,[ ]);
%æªå*大å°ççªå£å¾ç
f2=[ ];
%建ç«ä¸ä¸ªæ°çå¾å
f2=uint8(f2);
f2=padarray(f2,[ ],);
%å°æ°å»ºå¾åæå±å°*çé»è²å¾ç
f2=padarray(f2,[ ],0);
%å¨æ°å»ºå¾çå¨å´æ·»å ç½è²ä½¿ä¹å¤§å°ä¸ºmoonå¾çç大å°
fn=fn-f2;
%å¾å°ä¸å¿*åºåå 为é»è²çmoonå¾ç
PQ=paddedsize(size(f1));
[u,v]=dftuv(PQ(1),PQ(2));
D0=0.1*PQ(2);
hh=exp(-(u.^2+v.^2)/(2*(D0^2)));%æé é«æ¯ä½é滤波å¨
h1=dftfilt(f1,hh);
A=padarray(h1,[ ],0);
%å°h1æå±å°moonå¾ç大å°
A=uint8(A)+fn;
%å¾å°ä¸å¿*åºåå¤çåçmoonå¾ç
figure,imshow(A);
ç¨c++åå¾åè¯å«
æ个大è´æè·¯ï¼ é¦å 读ä¸ä¸ä¸¤å¼ å¾çï¼å°å¾åäºå¼åï¼æå ¶ææç¹ç»å离åºæ¥ï¼ç¶åå°å¾çç¨0å1两个å¼è¿è¡è¡¨ç¤ºï¼ç¶åå°å¾çæ¯ä¸ä¸ªåç´ ç¹è½¬æ¢ä¸ºæ°ç»æ°æ®ï¼ç¶åæ ¹æ®è§å®åæ å°æ°ç»éé¢å¤å®ï¼æåè¿åç»æãåºè¯¥ä¼ç¨ä¸âå¾çç°åº¦åç®æ³âï¼âå¾çä¸å¼æ»¤æ³¢ç®æ³âï¼çæ¯è¾éè¦çç®æ³ã ç¨C++çè¯ï¼åºè¯¥ç¨opencvå§ï¼ææ个åå¦å人è¸è¯å«çï¼å°±ç¨è¿ä¸ªç±»åºãç¨opencvè¯ä¸è¯å§ /projects/opencvlibrary