{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,21]],"date-time":"2026-01-21T10:04:17Z","timestamp":1768989857721,"version":"3.49.0"},"reference-count":40,"publisher":"MDPI AG","issue":"18","license":[{"start":{"date-parts":[[2024,9,20]],"date-time":"2024-09-20T00:00:00Z","timestamp":1726790400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"funder":[{"name":"Portuguese Agency FCT (Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia)","award":["UIDB\/00066\/2020"],"award-info":[{"award-number":["UIDB\/00066\/2020"]}]},{"name":"Portuguese Agency FCT (Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia)","award":["UIDB\/04111\/2020"],"award-info":[{"award-number":["UIDB\/04111\/2020"]}]},{"name":"Portuguese Agency FCT (Funda\u00e7\u00e3o para a Ci\u00eancia e Tecnologia)","award":["CEECINST\/00147\/2018\/CP1498\/CT0015"],"award-info":[{"award-number":["CEECINST\/00147\/2018\/CP1498\/CT0015"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>Currently, there is a demand for an increase in the diversity and quality of new products reaching the consumer market. This fact imposes new challenges for different industrial sectors, including processes that integrate machine vision. Hardware acceleration and improvements in processing efficiency are becoming crucial for vision-based algorithms to follow the complexity growth of future industrial systems. This article presents a generic library of pre-processing filters for execution in field-programmable gate arrays (FPGAs) to reduce the overall image processing time in vision systems. An experimental setup based on the Zybo Z7 Pcam 5C Demo project was developed and used to validate the filters described in VHDL (VHSIC hardware description language). Finally, a comparison of the execution times using GPU and CPU platforms was performed as well as an evaluation of the integration of the current work in an industrial application. The results showed a decrease in the pre-processing time from milliseconds to nanoseconds when using FPGAs.<\/jats:p>","DOI":"10.3390\/s24186101","type":"journal-article","created":{"date-parts":[[2024,9,24]],"date-time":"2024-09-24T08:56:06Z","timestamp":1727168166000},"page":"6101","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Generic FPGA Pre-Processing Image Library for Industrial Vision Systems"],"prefix":"10.3390","volume":"24","author":[{"given":"Diogo","family":"Ferreira","sequence":"first","affiliation":[{"name":"INTROSYS SA, 2950-805 Quinta do Anjo, Portugal"},{"name":"NOVA School of Science and Technology, NOVA University Lisbon, 2829-516 Caparica, Portugal"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0930-7418","authenticated-orcid":false,"given":"Filipe","family":"Moutinho","sequence":"additional","affiliation":[{"name":"NOVA School of Science and Technology, NOVA University Lisbon, 2829-516 Caparica, Portugal"},{"name":"Center of Technology and Systems (UNINOVA-CTS) and Associated Lab of Intelligent Systems (LASI), 2829-516 Caparica, Portugal"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9409-7736","authenticated-orcid":false,"given":"Jo\u00e3o P.","family":"Matos-Carvalho","sequence":"additional","affiliation":[{"name":"Center of Technology and Systems (UNINOVA-CTS) and Associated Lab of Intelligent Systems (LASI), 2829-516 Caparica, Portugal"},{"name":"COPELABS, Centro Universit\u00e1rio de Lisboa, Universidade Lus\u00f3fona, 1749-024 Lisbon, Portugal"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-2450-8349","authenticated-orcid":false,"given":"Magno","family":"Guedes","sequence":"additional","affiliation":[{"name":"INTROSYS SA, 2950-805 Quinta do Anjo, Portugal"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pedro","family":"Deusdado","sequence":"additional","affiliation":[{"name":"INTROSYS SA, 2950-805 Quinta do Anjo, Portugal"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2024,9,20]]},"reference":[{"key":"ref_1","doi-asserted-by":"crossref","first-page":"183192","DOI":"10.1109\/ACCESS.2020.3029127","article-title":"A Review and Analysis of Automatic Optical Inspection and Quality Monitoring Methods in Electronics Industry","volume":"8","author":"Ebayyeh","year":"2020","journal-title":"IEEE Access"},{"key":"ref_2","doi-asserted-by":"crossref","first-page":"5703","DOI":"10.1109\/TII.2019.2950255","article-title":"FPGA-Based Design for Real-Time Crack Detection Based on Particle Filter","volume":"16","author":"Chisholm","year":"2020","journal-title":"IEEE Trans. Ind. Inform."},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Silva, B.A.d., Lima, A.M., Arias-Garcia, J., Huebner, M., and Yudi, J. (2021). A Manycore Vision Processor for Real-Time Smart Cameras. Sensors, 21.","DOI":"10.3390\/s21217137"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Soubervielle-Montalvo, C., Perez-Cham, O.E., Puente, C., Gonzalez-Galvan, E.J., Olague, G., Aguirre-Salado, C.A., Cuevas-Tello, J.C., and Ontanon-Garcia, L.J. (2022). Design of a Low-Power Embedded System Based on a SoC-FPGA and the Honeybee Search Algorithm for Real-Time Video Tracking. Sensors, 22.","DOI":"10.3390\/s22031280"},{"key":"ref_5","doi-asserted-by":"crossref","first-page":"1033","DOI":"10.1109\/TII.2013.2294112","article-title":"Field-Programmable System-on-Chip for Localization of UGVs in an Indoor iSpace","volume":"10","author":"Chow","year":"2014","journal-title":"IEEE Trans. Ind. Inform."},{"key":"ref_6","doi-asserted-by":"crossref","first-page":"1155","DOI":"10.1109\/TII.2017.2764485","article-title":"Real-Time FPGA-Based Detection of Speeded-Up Robust Features Using Separable Convolution","volume":"14","author":"Faigl","year":"2018","journal-title":"IEEE Trans. Ind. Inform."},{"key":"ref_7","doi-asserted-by":"crossref","unstructured":"Bhowmik, D., and Appiah, K. (2018, January 2\u20134). Embedded vision systems: A review of the literature. Proceedings of the Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 10824 LNCS, Santorini, Greece.","DOI":"10.1007\/978-3-319-78890-6_17"},{"key":"ref_8","doi-asserted-by":"crossref","unstructured":"Ezilarasan, M.R., Pari, J., and Leung, M.F. (2020). Reconfigurable Architecture for Noise Cancellation in Acoustic Environment Using Single Multiply Accumulate Adaline Filter. Electronics, 12.","DOI":"10.3390\/electronics12040810"},{"key":"ref_9","doi-asserted-by":"crossref","unstructured":"Seng, K.P., Lee, P.J., and Ang, L.M. (2021). Embedded Intelligence on FPGA: Survey, Applications and Challenges. Electronics, 10.","DOI":"10.3390\/electronics10080895"},{"key":"ref_10","doi-asserted-by":"crossref","first-page":"100813","DOI":"10.1016\/j.iot.2023.100813","article-title":"A flexible and efficient FPGA-based random forest architecture for IoT applications","volume":"22","author":"Dinh","year":"2023","journal-title":"Internet Things"},{"key":"ref_11","doi-asserted-by":"crossref","unstructured":"Asano, S., Maruyama, T., and Yamaguchi, Y. (September, January 31). Performance comparison of FPGA, GPU and CPU in image processing. Proceedings of the FPL 09: 19th International Conference on Field Programmable Logic and Applications (2009), Prague, Czech Republic.","DOI":"10.1109\/FPL.2009.5272532"},{"key":"ref_12","doi-asserted-by":"crossref","unstructured":"Fowers, J., Brown, G., Cooke, P., and Stitt, G. (2012, January 22\u201324). A performance and energy comparison of FPGAs, GPUs, and multicores for sliding-window applications. Proceedings of the ACM\/SIGDA International Symposium on Field Programmable Gate Arrays, Monterey, CA, USA.","DOI":"10.1145\/2145694.2145704"},{"key":"ref_13","doi-asserted-by":"crossref","unstructured":"Chen, D., and Singh, D. (2013, January 22\u201325). Fractal video compression in OpenCL: An evaluation of CPUs, GPUs, and FPGAs as acceleration platforms. Proceedings of the Asia and South Pacific Design Automation Conference, ASP-DAC (2013), Yokohama, Japan.","DOI":"10.1109\/ASPDAC.2013.6509612"},{"key":"ref_14","doi-asserted-by":"crossref","first-page":"101","DOI":"10.1016\/j.image.2018.07.007","article-title":"Suitability of recent hardware accelerators (DSPs, FPGAs, and GPUs) for computer vision and image processing algorithms","volume":"68","author":"HajiRassouliha","year":"2018","journal-title":"Signal Process. Image Commun."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Rakvic, R.N., Ngo, H., Broussard, R.P., and Ives, R.W. (2010). Comparing an FPGA to a cell for an image processing application. Eurasip Journal on Advances in Signal Processing, Springer.","DOI":"10.1155\/2010\/764838"},{"key":"ref_16","unstructured":"Areibi, S., and Bld, A.T. (2019). A First Look at VHDL For Digital Design, School of Engineering at the University of Guelph. Technical Report 2023-01P."},{"key":"ref_17","doi-asserted-by":"crossref","first-page":"8","DOI":"10.1109\/MDT.2009.69","article-title":"An introduction to high-level synthesis","volume":"26","author":"Coussy","year":"2009","journal-title":"IEEE Des. Test Comput."},{"key":"ref_18","unstructured":"Zohouri, H.R. (2018). High Performance Computing with FPGAs and OpenCL. arXiv."},{"key":"ref_19","first-page":"514","article-title":"FPGA implementation of filtered image using 2D Gaussian filter","volume":"7","author":"Sghaier","year":"2016","journal-title":"Int. J. Adv. Comput. Sci. Appl."},{"key":"ref_20","doi-asserted-by":"crossref","first-page":"134926","DOI":"10.1109\/ACCESS.2019.2941282","article-title":"Low Latency Event-Based Filtering and Feature Extraction for Dynamic Vision Sensors in Real-Time FPGA Applications","volume":"7","author":"Moeys","year":"2019","journal-title":"IEEE Access"},{"key":"ref_21","doi-asserted-by":"crossref","unstructured":"O\u2019Loughlin, D., Coffey, A., Callaly, F., Lyons, D., and Morgan, F. (2014, January 26\u201327). Xilinx vivado high level synthesis: Case studies. Proceedings of the 25th IET Irish Signals & Systems Conference 2014 and 2014 China-Ireland International Conference on Information and Communications Technologies (ISSC 2014\/CIICT 2014), Limerick, Ireland.","DOI":"10.1049\/cp.2014.0713"},{"key":"ref_22","doi-asserted-by":"crossref","unstructured":"Cortes, A., Velez, I., and Irizar, A. (2016, January 23\u201325). High level synthesis using Vivado HLS for Zynq SoC: Image processing case studies. Proceedings of the 2016 Conference on Design of Circuits and Integrated Systems, DCIS 2016-Proceedings (2017), Granada, Spain.","DOI":"10.1109\/DCIS.2016.7845376"},{"key":"ref_23","doi-asserted-by":"crossref","unstructured":"Hill, K., Craciun, S., George, A., and Lam, H. (2015, January 27\u201329). Comparative analysis of OpenCL vs HDL with image-processing kernels on Stratix-V FPGA. Proceedings of the International Conference on Application-Specific Systems, Architectures and Processors 2015-Septe (2015), Toronto, ON, Canada.","DOI":"10.1109\/ASAP.2015.7245733"},{"key":"ref_24","doi-asserted-by":"crossref","unstructured":"Cambuim, L.F., Oliveira, L.A., Barros, E.N., and Ferreira, A.P. (2020). An FPGA-based real-time occlusion robust stereo vision system using semi-global matching. Journal of Real-Time Image Processing, Springer.","DOI":"10.1007\/s11554-019-00902-w"},{"key":"ref_25","doi-asserted-by":"crossref","first-page":"106996","DOI":"10.1016\/j.compeleceng.2021.106996","article-title":"Field-programmable gate arrays in a low power vision system","volume":"90","author":"Suresh","year":"2021","journal-title":"Comput. Electr. Eng."},{"key":"ref_26","doi-asserted-by":"crossref","first-page":"166514","DOI":"10.1016\/j.ijleo.2021.166514","article-title":"A high performance real-time vision system for curved surface inspection","volume":"232","author":"Peng","year":"2021","journal-title":"Optik"},{"key":"ref_27","doi-asserted-by":"crossref","unstructured":"Ashir, A.M., Ata, A.A., and Salman, M.S. (2014, January 14\u201315). FPGA-based image processing system for Quality Control and Palletization applications. Proceedings of the 2014 IEEE International Conference on Autonomous Robot Systems and Competitions, ICARSC 2014 (2014), Espinho, Portugal.","DOI":"10.1109\/ICARSC.2014.6849800"},{"key":"ref_28","doi-asserted-by":"crossref","unstructured":"Guo, H., Xiao, H., Wang, S., He, W., and Yuan, K. (2015, January 2\u20135). Real-time detection and classification of machine parts with embedded system for industrial robot grasping. Proceedings of the IEEE International Conference on Mechatronics and Automation, ICMA, Beijing, China.","DOI":"10.1109\/ICMA.2015.7237740"},{"key":"ref_29","doi-asserted-by":"crossref","unstructured":"Hocenski, \u017d., Aleksi, I., and Mijakovi\u0107, R. (2009, January 5\u20138). Ceramic tiles failure detection based on FPGA image processing. Proceedings of the IEEE International Symposium on Industrial Electronics\u2014ISlE, Seoul, Republic of Korea.","DOI":"10.1109\/ISIE.2009.5219911"},{"key":"ref_30","unstructured":"Xilinx (2017). AXI Reference Guide, Xilinx."},{"key":"ref_31","doi-asserted-by":"crossref","first-page":"54629","DOI":"10.1109\/ACCESS.2023.3279734","article-title":"Color to Grayscale Image Conversion Based on Singular Value Decomposition","volume":"11","author":"Khudhair","year":"2023","journal-title":"IEEE Access"},{"key":"ref_32","doi-asserted-by":"crossref","unstructured":"Kim, N.H., Yu, S.G., Kim, S.E., and Lee, E.C. (2021). Non-Contact Oxygen Saturation Measurement Using YCgCr Color Space with an RGB Camera. Sensors, 21.","DOI":"10.3390\/s21186120"},{"key":"ref_33","first-page":"831","article-title":"Video steganography using 3D distance calculator based on YCbCr color components","volume":"24","author":"Baker","year":"2021","journal-title":"Indones. J. Electr. Eng. Comput. Sci."},{"key":"ref_34","doi-asserted-by":"crossref","first-page":"10009","DOI":"10.1051\/matecconf\/202133601009","article-title":"Research on the combination of improved Sobel operator and ant colony algorithm for defect detection","volume":"Volume 336","author":"Zhou","year":"2021","journal-title":"MATEC Web of Conferences"},{"key":"ref_35","doi-asserted-by":"crossref","unstructured":"Tang, X., Wang, X., Hou, J., Wu, H., and Liu, D. (2020, January 27\u201329). An improved Sobel face gray image edge detection algorithm. Proceedings of the 2020 39th Chinese Control Conference (CCC), Shenyang, China.","DOI":"10.23919\/CCC50068.2020.9189302"},{"key":"ref_36","doi-asserted-by":"crossref","first-page":"173838","DOI":"10.1109\/ACCESS.2020.3026189","article-title":"An FPGA-based simple RGB-HSI space conversion algorithm for hardware image processing","volume":"8","author":"Zhi","year":"2020","journal-title":"IEEE Access"},{"key":"ref_37","unstructured":"(2021, October 30). Zybo Z7\u2014Digilent Reference. Available online: https:\/\/digilent.com\/reference\/programmable-logic\/zybo-z7\/start."},{"key":"ref_38","unstructured":"(2021, October 30). Zybo Z7 Pcam 5C Demo. Available online: https:\/\/digilent.com\/reference\/learn\/programmable-logic\/tutorials\/zybo-z7-pcam-5c-demo\/start."},{"key":"ref_39","unstructured":"Introsys, S.A. (2021, November 11). Available online: https:\/\/www.introsys.eu."},{"key":"ref_40","unstructured":"(2021, October 20). Halcon. Available online: https:\/\/www.mvtec.com\/products\/halcon."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/24\/18\/6101\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T16:01:19Z","timestamp":1760112079000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/24\/18\/6101"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,9,20]]},"references-count":40,"journal-issue":{"issue":"18","published-online":{"date-parts":[[2024,9]]}},"alternative-id":["s24186101"],"URL":"https:\/\/doi.org\/10.3390\/s24186101","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2024,9,20]]}}}