Preface xi Acknowledgements xvii 1 Image Processing 1 1.1 Basic Definitions 2 1.2 Image Formation 3 1.3 Image Processing Operations 7 1.4 Example Application 9 1.5 Real-Time Image Processing 11 1.6 Embedded Image Processing 12 1.7 Serial Processing 12 1.8 Parallelism 14 1.9 Hardware Image Processing Systems 18 2 Field Programmable Gate Arrays 21 2.1 Programmable Logic 21 2.1.1 FPGAs vs. ASICs 24 2.2 FPGAs and Image Processing 25 2.3 Inside an FPGA 26 2.3.1 Logic 27 2.3.2 Interconnect 28 2.3.3 Input and Output 29 2.3.4 Clocking 30 2.3.5 Configuration 31 2.3.6 Power Consumption 32 2.4 FPGA Families and Features 33 2.4.1 Xilinx 33 2.4.2 Altera 38 2.4.3 Lattice Semiconductor 44 2.4.4 Achronix 46 2.4.5 SiliconBlue 47 2.4.6 Tabula 47 2.4.7 Actel 48 2.4.8 Atmel 49 2.4.9 QuickLogic 50 2.4.10 MathStar 50 2.4.11 Cypress 51 2.5 Choosing an FPGA or Development Board 51 3 Languages 53 3.1 Hardware Description Languages 56 3.2 Software-Based Languages 61 3.2.1 Structural Approaches 63 3.2.2 Augmented Languages 64 3.2.3 Native Compilation Techniques 69 3.3 Visual Languages 72 3.3.1 Behavioural 73 3.3.2 Dataflow 73 3.3.3 Hybrid 74 3.4 Summary 77 4 Design Process 79 4.1 Problem Specification 79 4.2 Algorithm Development 81 4.2.1 Algorithm Development Process 82 4.2.2 Algorithm Structure 83 4.2.3 FPGA Development Issues 86 4.3 Architecture Selection 86 4.3.1 System Level Architecture 87 4.3.2 Computational Architecture 89 4.3.3 Partitioning between Hardware and Software 93 4.4 System Implementation 96 4.4.1 Mapping to FPGA Resources 97 4.4.2 Algorithm Mapping Issues 100 4.4.3 Design Flow 101 4.5 Designing for Tuning and Debugging 102 4.5.1 Algorithm Tuning 102 4.5.2 System Debugging 104 5 Mapping Techniques 107 5.1 Timing Constraints 107 5.1.1 Low Level Pipelining 107 5.1.2 Process Synchronisation 110 5.1.3 Multiple Clock Domains 111 5.2 Memory Bandwidth Constraints 113 5.2.1 Memory Architectures 113 5.2.2 Caching 116 5.2.3 Row Buffering 117 5.2.4 Other Memory Structures 118 vi Contents 5.3 Resource Constraints 122 5.3.1 Resource Multiplexing 122 5.3.2 Resource Controllers 125 5.3.3 Reconfigurability 130 5.4 Computational Techniques 132 5.4.1 Number Systems 132 5.4.2 Lookup Tables 138 5.4.3 CORDIC 142 5.4.4 Approximations 150 5.4.5 Other Techniques 152 5.5 Summary 154 6 Point Operations 155 6.1 Point Operations on a Single Image 155 6.1.1 Contrast and Brightness Adjustment 155 6.1.2 Global Thresholding and Contouring 159 6.1.3 Lookup Table Implementation 162 6.2 Point Operations on Multiple Images 163 6.2.1 Image Averaging 164 6.2.2 Image Subtraction 166 6.2.3 Image Comparison 170 6.2.4 Intensity Scaling 171 6.2.5 Masking 173 6.3 Colour Image Processing 175 6.3.1 False Colouring 175 6.3.2 Colour Space Conversion 176 6.3.3 Colour Thresholding 192 6.3.4 Colour Correction 193 6.3.5 Colour Enhancement 197 6.4 Summary 197 7 Histogram Operations 199 7.1 Greyscale Histogram 199 7.1.1 Data Gathering 201 7.1.2 Histogram Equalisation 206 7.1.3 Automatic Exposure 210 7.1.4 Threshold Selection 211 7.1.5 Histogram Similarity 219 7.2 Multidimensional Histograms 219 7.2.1 Triangular Arrays 220 7.2.2 Multidimensional Statistics 222 7.2.3 Colour Segmentation 226 7.2.4 Colour Indexing 229 7.2.5 Texture Analysis 231 Contents vii 8 Local Filters 233 8.1 Caching 233 8.2 Linear Filters 239 8.2.1 Noise Smoothing 239 8.2.2 Edge Detection 241 8.2.3 Edge Enhancement 243 8.2.4 Linear Filter Techniques 243 8.3 Nonlinear Filters 248 8.3.1 Edge Orientation 250 8.3.2 Non-maximal Suppression 251 8.3.3 Zero-Crossing Detection 252 8.4 Rank Filters 252 8.4.1 Rank Filter Sorting Networks 255 8.4.2 Adaptive Histogram Equalisation 260 8.5 Colour Filters 261 8.6 Morphological Filters 264 8.6.1 Binary Morphology 264 8.6.2 Greyscale Morphology 269 8.6.3 Colour Morphology 270 8.7 Adaptive Thresholding 271 8.7.1 Error Diffusion 271 8.8 Summary 273 9 Geometric Transformations 275 9.1 Forward Mapping 276 9.1.1 Separable Mapping 277 9.2 Reverse Mapping 282 9.3 Interpolation 285 9.3.1 Bilinear Interpolation 286 9.3.2 Bicubic Interpolation 288 9.3.3 Splines 290 9.3.4 Interpolating Compressed Data 292 9.4 Mapping Optimisations 292 9.5 Image Registration 294 9.5.1 Feature-Based Methods 295 9.5.2 Area-Based Methods 299 9.5.3 Applications 305 10 Linear Transforms 309 10.1 Fourier Transform 310 10.1.1 Fast Fourier Transform 311 10.1.2 Filtering 318 10.1.3 Inverse Filtering 320 10.1.4 Interpolation 321 10.1.5 Registration 322 viii Contents 10.1.6 Feature Extraction 323 10.1.7 Goertzel’s Algorithm 324 10.2 Discrete Cosine Transform 325 10.3 Wavelet Transform 328 10.3.1 Filter Implementations 330 10.3.2 Applications of the Wavelet Transform 335 10.4 Image and Video Coding 336 11 Blob Detection and Labelling 343 11.1 Bounding Box 343 11.2 Run-Length Coding 346 11.3 Chain Coding 347 11.3.1 Sequential Implementation 347 11.3.2 Single Pass Algorithms 348 11.3.3 Feature Extraction 350 11.4 Connected Component Labelling 352 11.4.1 Random Access Algorithms 353 11.4.2 Multiple-Pass Algorithms 353 11.4.3 Two-Pass Algorithms 354 11.4.4 Single-Pass Algorithms 356 11.4.5 Multiple Input Labels 358 11.4.6 Further Optimisations 358 11.5 Distance Transform 359 11.5.1 Morphological Approaches 360 11.5.2 Chamfer Distance 360 11.5.3 Separable Transform 362 11.5.4 Applications 365 11.5.5 Geodesic Distance Transform 365 11.6 Watershed Transform 366 11.6.1 Flow Algorithms 366 11.6.2 Immersion Algorithms 367 11.6.3 Applications 369 11.7 Hough Transform 370 11.7.1 Line Hough Transform 371 11.7.2 Circle Hough Transform 373 11.7.3 Generalised Hough Transform 374 11.8 Summary 375 12 Interfacing 377 12.1 Camera Input 378 12.1.1 Camera Interface Standards 378 12.1.2 Deinterlacing 383 12.1.3 Global and Rolling Shutter Correction 384 12.1.4 Bayer Pattern Processing 384 Contents ix 12.2 Display Output 387 12.2.1 Display Driver 387 12.2.2 Display Content 390 12.3 Serial Communication 393 12.3.1 PS2 Interface 393 12.3.2 I2C 395 12.3.3 SPI 397 12.3.4 RS-232 397 12.3.5 USB 398 12.3.6 Ethernet 398 12.3.7 PCI Express 399 12.4 Memory 400 12.4.1 Static RAM 400 12.4.2 Dynamic RAM 401 12.4.3 Flash Memory 402 12.5 Summary 402 13 Testing, Tuning and Debugging 405 13.1 Design 405 13.1.1 Random Noise Sources 406 13.2 Implementation 409 13.2.1 Common Implementation Bugs 410 13.3 Tuning 412 13.4 Timing Closure 412 14 Example Applications 415 14.1 Coloured Region Tracking 415 14.2 Lens Distortion Correction 418 14.2.1 Characterising the Distortion 419 14.2.2 Correcting the Distortion 421 14.3 Foveal Sensor 424 14.3.1 Foveal Mapping 425 14.3.2 Using the Sensor 429 14.4 Range Imaging 429 14.4.1 Extending the Unambiguous Range 431 14.5 Real-Time Produce Grading 433 14.5.1 Software Algorithm 434 14.5.2 Hardware Implementation 436 14.6 Summary 439 References 441 Index 475 x Content
2023-01-07 18:32:43 27.35MB FPGA 图像处理
1
Unity内嵌网页pc插件Embedded Browser基本使用流程插件下载基本操作导入导入网页导入本地
2023-01-05 16:19:35 428.48MB EmbeddedBrowser
1
艾玛 Emma内存和Mapfile分析器(Emma) 基于任意链接器映射文件进行静态(即,最坏情况)的内存消耗分析。 它会生成大量的.csv文件,这些文件易于过滤和后期处理。 可选的.html和markdown报告以及整洁的数字可以帮助您可视化结果。 给定一个地图文件输入(默认为Green Hills地图文件,但其他配置文件(例如GCC)通过配置选项支持;随附示例)Emma map s到内存的部分(即图像)和/或对象(即模块)的地址区域(在编译时必须知道通过映射文件指定的所有地址)。 这些存储器区域分别被分为两个级别的粒度。 第一级根据您的个人喜好定义任意组(但是,使用与您的微控制器供应商定义的名称相似的名称最有意义)。 之后,将这些区域中的每个区域(第二级)分配给四个广义的预定义存储区域之一(这些区域是: INT_RAM , INT_FLASH , EXT_RAM , EXT_FL
2022-11-21 16:19:36 24.18MB visualization python map embedded
1
IAR Embedded Workbench for STM8是由IAR Systems开发的用于8位STM8微控制器的强大编译器。默认情况下,此编译器支持 C 系列语言,尤其是C++,并且可以在高度复杂的和工业项目中使用。默认情况下,该软件使用名为C-STAT的插件发布,该插件可以全面,快速地分析您的代码并修复错误和错误。借助此插件,可以保证代码的质量,并且提供的代码将符合最新标准。IAR Embedded Workbench for STM8实际上是一个高度用户友好的集成开发环境(IDE),它将专业的开发环境与项目管理和版本管理工具,强大而智能的编辑器,丰富的库,示例项目和各种编码模板相结合。该软件作为编译器或解释器的性能非常出色。该软件能够尽可能快速,最佳地读取您的代码,并使其成为机器的可理解命令。还有一系列针对不同STM8动态的配置文件,对于一定范围的用户来说非常有用。用于STM8软件的IAR嵌入式工作台配有用于STM8微控制器的强大仿真器。此调试器可以虚拟模拟代码结果,然后通过提供准确且可验证的文档来修复代码缺陷。
2022-11-16 21:46:58 322.03MB stm8 EWSTM8-3.11.4
1
qtwebserver:基于Qt的Web应用程序服务器
2022-11-15 17:29:20 134KB lightweight qt embedded webserver
1
嵌入式设计模式教程,系统设计分析相关的,可以看看
2022-11-12 01:52:19 31.17MB design embedded
1
目前Windows Embedded的开发资源已经非常多了,我们在这里试着对这些资源进行一个归纳,使次进入Windows Embedded领域的开发者能够更容易得找到有用的开发资源。   Windows Embedded是什么   Windows Embedded是微软针对嵌入式领域推出的操作系统,目前主要包括三大产品:Windows Embedded CE、XP Embedded和。NET Micro Framework。   其中Windows Embedded CE可以适应多种CPU,比如ARM、MIPS、SH4和x86等,主要应用于手持设备、机顶盒、GPS和PMP等嵌入式设备中。基于W
2022-11-11 07:29:15 73KB Windows Embedded开发资源汇总
1
Mastering Embedded Linux Programming(2nd) 英文epub 第2版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
2022-11-10 12:21:03 2.66MB Mastering Embedded Linux Programming
1
μPixels(微像素) 用于启用 MicroPython 的微控制器的可寻址 RGB LED 灯条控制器 内容 特别感谢 特征 只需三行代码即可启动并运行! 由微控制器本身托管的用户友好界面! 从延迟时间、颜色、亮度完全控制动画 完全可定制的动画和用户界面,仅用 Python/HTML/CSS/JS 编写! 与用户界面一起使用,或以编程方式使用Animations API 从网络调用动画! 支持可选的独立状态指示灯 LED 开箱即用的动画: 彩虹 彩虹追逐 弹跳 火花 擦拭 追赶 RGB 淡入淡出 交替颜色 随机填充 从中间填充 从侧面填充 填充条 圣诞节 变更日志 释放 变化 日期 v2.0 /execute API 正式发布 添加 setStrip 方法 新的彩虹追逐 + 擦拭 + 闪光动画 追逐动画的片段长度 12/31/2020 v1.2 新颜色部分 新的
1
eMQTT5 C ++中的嵌入式MQTTv5客户端,具有最小的占用空间和最佳的性能。 该存储库包含完整的MQTT v5.0客户端,该客户端针对代码大小进行了优化,而不会牺牲性能。 据我所知,这是用于嵌入式系统的最小(且完整!)的MQTT v5.0客户端,其二进制大小在ESP32上小于17kB(在MacOSX上小于75kB)。 MQTT v5.0是一个比MQTT v3.1.1更复杂的协议,在每个数据包和身份验证子系统中都添加了属性。 为什么要使用另一个MQTT客户端? 因为许多的原因: 周围的许多客户端不支持MQTT v5.0协议(仅限于版本3.1.1) 有些很大,并且/或者需要大量的依赖 此代码专门用于带有或不带有操作系统的嵌入式系统 许多客户端不是在Linux系统上构建的,因此难以调试 使用它们的许可过于严格 一些客户端依赖堆并Swift将堆碎片化,这使得长期使用变得危险 与我
2022-10-18 15:51:51 255KB c-plus-plus embedded mqtt-client v5
1