This repository is about Fundamental Computer Vision Techniques without using OpenCV. Source codes are not fully open.
RGB to HSI:
![RGB2HSI](https://private-user-images.githubusercontent.com/129606995/348272858-b998db30-872a-446f-b7d1-9f2a8d78f5a5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MjcyODU4LWI5OThkYjMwLTg3MmEtNDQ2Zi1iN2QxLTlmMmE4ZDc4ZjVhNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ZWZlOWRjMGEwZmU2NGYyZWI5MzYzNWFjNDJjMWI3MmI5MWI4ZWEzY2U0NDY1ODVkMzA2MzU0NDVjOGM0YjYwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.ngx5Cdg_Vb0ePj0eUTs7MBK5nkWcH4pztGHInZfAfmY)
![i)](https://private-user-images.githubusercontent.com/129606995/348274833-da079eb2-d9fd-4ade-98d0-be73b25dff96.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4Mjc0ODMzLWRhMDc5ZWIyLWQ5ZmQtNGFkZS05OGQwLWJlNzNiMjVkZmY5Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03ZGVkYWZmMDM2NWM1NTU3MTM2OTQ1OThlZWY4YzNiZmJmYTJmYTE5ZDM1MjFmMzM2MTljN2I0NTFlOTFjNDllJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.YGVkPBX5mhQkxD4Gwhe9xpB3aH8LDaazKbqo9MZOJy8)
![ii)](https://private-user-images.githubusercontent.com/129606995/348274947-9e7456cb-67a4-4e26-82e8-d7a21c94bab3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4Mjc0OTQ3LTllNzQ1NmNiLTY3YTQtNGUyNi04MmU4LWQ3YTIxYzk0YmFiMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMzllOWI5ZWMwNDNmZTFkNWE1MDkwMDQ3ZGRkM2Y1ZGE1ZmIyODUyN2M5OTQ1ZjBmYjc3NThlOThhMzUxODk2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.OqX56K_TK64sZ1WbJeQ2w7sUFgKYigIaue6fr568Xdo)
After obtaining binary image through Otsu Thresholding, running dilation, erosion morphology results as the following:
![Morphology](https://private-user-images.githubusercontent.com/129606995/348309415-040a2268-f962-4ae0-94f1-4817a4b4a00e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzA5NDE1LTA0MGEyMjY4LWY5NjItNGFlMC05NGYxLTQ4MTdhNGI0YTAwZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNjRiMDI4MzBmOTViOTdmMjZlZDI5MDE1Y2JmZjViMWJlZDI2MzUxNjJhZDk5YjU2ZjI2NzJmMTRlNGYwNzM5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.dScF30euqT7f7Tcr2DliXWf3WO321Ibmjg0q4uwg2so)
After obtaining binary image through Otsu Thresholding, 4-neighbor and 8-neighbor labeling with different size mask results as the following:
![Dilation Labeling](https://private-user-images.githubusercontent.com/129606995/348309840-6422f1af-e05e-476c-90f1-d3b917c0f1c9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzA5ODQwLTY0MjJmMWFmLWUwNWUtNDc2Yy05MGYxLWQzYjkxN2MwZjFjOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT03OWM1YzA3NDNlZDY1NDM0MDNjYTc2MDJlMzAwMjU2YzVmNjgxOGE5N2JmYWJjYTcxOWYyNWM4MjE5ZTI5OGUzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Vp5XveWAnC7lFHfZPLg0OCiT_iRZDUgp5kGHXaYsoww)
![Erosion Labeling](https://private-user-images.githubusercontent.com/129606995/348309915-d550439e-272f-469b-ab55-a85931f7a4ae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzA5OTE1LWQ1NTA0MzllLTI3MmYtNDY5Yi1hYjU1LWE4NTkzMWY3YTRhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mZTAwNjc1NWRlOWNlNjVkOTUyYzgxNWFlYTU4ZDIzOTU0NjMxMzFlZGViZjM1M2E1Y2E3N2E2MmJjNjQxNDM0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9._h0CEUkAnjS__B6vP_akidOTAjzjfsB7tBLCgKb6Cfo)
![Operation](https://private-user-images.githubusercontent.com/129606995/348311140-ed458ebf-07c9-422e-abcc-c5fd07b9d3af.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzExMTQwLWVkNDU4ZWJmLTA3YzktNDIyZS1hYmNjLWM1ZmQwN2I5ZDNhZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNDUxYTZkNjhiZTEyYWU4YWE1ZDE1ZGVlZTQ5NDJhN2YzNjMxNzM1NWVjOGJjMTIzMjEwNjg2MzM2OGI4YmVlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Z__4SaFXZJF4vPSfV-avrgaf1xSYHslXfDFKFad28_U)
![Boundary Extraction](https://private-user-images.githubusercontent.com/129606995/348311408-c0917c89-c941-4803-bbc4-a8e4752eb77c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzExNDA4LWMwOTE3Yzg5LWM5NDEtNDgwMy1iYmM0LWE4ZTQ3NTJlYjc3Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jY2E4Yzk1Y2VlMDhlMWFhMGE3ZWRhODcxNTIzMzkzYzgzYjkwYTBlM2IwNmM0OWY5OTBhYWNlY2Y1ZTM5YWE0JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.fhVr_h60g3MRL0AiIVbvwNduFPWnmBjNu-dwWFj-yCg)
![Histogram Equalization](https://private-user-images.githubusercontent.com/129606995/348312366-5cfdacf2-d452-417e-9517-a40b37217081.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEyMzY2LTVjZmRhY2YyLWQ0NTItNDE3ZS05NTE3LWE0MGIzNzIxNzA4MS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yZWZmZTI3YmQ3MDY1MGU0OWFjYWIwODhkMzVlOGQwY2Y4N2I0NDE2MzhmZGM0MGZmYjk4MTQ1Nzg3NmRiYjYxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.AdQde0p0jqpEFWPrn25McFTfR2SvQpHIFMGRXfbOxII)
![i)](https://private-user-images.githubusercontent.com/129606995/348312187-a34b565d-ac3f-4786-b1b4-8f4995c6dbf8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEyMTg3LWEzNGI1NjVkLWFjM2YtNDc4Ni1iMWI0LThmNDk5NWM2ZGJmOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNDZiY2RhZGFlZTI2NmFhMmUyMTY2Y2E2YzE3ZWI2MWJjYTJhNjVkYjBhMzlmYjNiMmJhZjMzYzAxMzI3ZGY5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.9XSoTeXz1emNRfSHE1FxuRPCb4tBcedlzHnloOkEsYw)
![ii)](https://private-user-images.githubusercontent.com/129606995/348312278-2657507e-2624-4aa8-8ee1-34f0a69f8be1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEyMjc4LTI2NTc1MDdlLTI2MjQtNGFhOC04ZWUxLTM0ZjBhNjlmOGJlMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jYmE3OTVkOTRjNjJlOTY2MjM0ODhhODk0NjZmZWEzNDcwZjMyNjhiNGI1ODY3NjRjZWQ2NjIwOWI2NDA2YzcxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.xeVnxTXUWuZY4xzVaDKxVtNC0kcV1nLd6npB1o9b91A)
![Circle Hough](https://private-user-images.githubusercontent.com/129606995/348313585-b74513f2-636c-400d-9696-f638f8b7d338.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEzNTg1LWI3NDUxM2YyLTYzNmMtNDAwZC05Njk2LWY2MzhmOGI3ZDMzOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04OTMxMWY2ZjQ1ZDgzMjgzMzhlMTMxM2E0MDlkOTJhNzI2NjExOWRiYWZlNjg1ODYyMWJkYWUyZGFjNmFjZWU2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.0bOA8wmxyA96C3u7eSZwY-ucUfDZo7LY9IzFPrqs_v8)
![Generalized Hough](https://private-user-images.githubusercontent.com/129606995/348313689-582fabd2-4d8e-41e0-94e8-4e601582346d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQyOTg2NzYsIm5iZiI6MTcyNDI5ODM3NiwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEzNjg5LTU4MmZhYmQyLTRkOGUtNDFlMC05NGU4LTRlNjAxNTgyMzQ2ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODIyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgyMlQwMzQ2MTZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hM2U0Yzc2MjQ3MjYzMmFmOTMzOTQ3MzMzNTU5ZWNhYmQxYjE2N2ZhZTZlM2MxZGExZDg3NzlhNzAyOTdhNmUwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.8vux0UU1l4mT4EhkNPdMxQLiQK5uTnOiuz05mM3dbmo)