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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MjcyODU4LWI5OThkYjMwLTg3MmEtNDQ2Zi1iN2QxLTlmMmE4ZDc4ZjVhNS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT05ODgxNzgxNzM2Mzg1MDQwY2VlMmRhYjkwYzM4MDliY2ZjNmM0M2I0MGU0OWE3NGIwMzA5YmIwNjIzNDA0YmMxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.apxwB1M_7WbfNVeD6imwhKs5o_oLLEr9cM2hJ3O8WcI)
![i)](https://private-user-images.githubusercontent.com/129606995/348274833-da079eb2-d9fd-4ade-98d0-be73b25dff96.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4Mjc0ODMzLWRhMDc5ZWIyLWQ5ZmQtNGFkZS05OGQwLWJlNzNiMjVkZmY5Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01NzQzNDNjYjMxNjUyYjZiYWY1OTM2NzJiNGQ1ODdmMjU2ZTkzODBlOTAyOWM1NmVjNGZkZDNjMGIwNWVhMmExJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.k_BlkJC4_5Yz9PVabiEV573CShLsmsJEu-lJX4DLQw4)
![ii)](https://private-user-images.githubusercontent.com/129606995/348274947-9e7456cb-67a4-4e26-82e8-d7a21c94bab3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4Mjc0OTQ3LTllNzQ1NmNiLTY3YTQtNGUyNi04MmU4LWQ3YTIxYzk0YmFiMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kNmFkMzhjNWZkMThjMmNhNzczMTQxNmIwYTA5ZmJkZWUyOTY1YzQ1M2VhYzgzNmY2MjJhMTAzYWJiMjg1MmMwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.WYiAEn2DEehX57cWnPqf44kbI3cr5yO2TxY1b2sSbUY)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzA5NDE1LTA0MGEyMjY4LWY5NjItNGFlMC05NGYxLTQ4MTdhNGI0YTAwZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xYjFiNjE1YTAyMjk2MjNlYjNmMzRjZGZmNmE0YmE3ODgzMjE4ZmMyMzU5ZTc4ZTE0Nzg3MmI0OTZkOTRjZWQ4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Yd-glZW4NAbYpXe7lQWkLWbXIr9qwoOBJpXAN0iar0k)
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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzA5ODQwLTY0MjJmMWFmLWUwNWUtNDc2Yy05MGYxLWQzYjkxN2MwZjFjOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00MmU0MDQyMjAyYzI1ZTI4ODIyYTQ2OTg0ZDhlNGVlMGQxNzBkNmI4NDU5MTkxODA3NWRhNmU0NjJlYjIwZDU3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.nh2qR12mVxrgCndwhTTfSqon2guQGEy_2d7Q64ibzYE)
![Erosion Labeling](https://private-user-images.githubusercontent.com/129606995/348309915-d550439e-272f-469b-ab55-a85931f7a4ae.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzA5OTE1LWQ1NTA0MzllLTI3MmYtNDY5Yi1hYjU1LWE4NTkzMWY3YTRhZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMzNkYzFlMWRhOTNhNzJkMDU4MGRhMDViYTE1ZjQ5NTQwOTAzNTQ2MjI2ZGU1M2QzMjRjMmQzOTZlMGE5YWYyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.iz3vSiUBqtrnUwppw4kQ1h9dkwWbtqQr4C1vED5ndeg)
![Operation](https://private-user-images.githubusercontent.com/129606995/348311140-ed458ebf-07c9-422e-abcc-c5fd07b9d3af.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzExMTQwLWVkNDU4ZWJmLTA3YzktNDIyZS1hYmNjLWM1ZmQwN2I5ZDNhZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zYzBiMDE4NDI4MmVmNzZiZDg0ZjVkZmUxNjVjYjM5ZTBkODc0Yjg1ZTBiNDAxNzNlMzg4NTUwYjUzMDQxMmQzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.s_nQZ4VrH3qpSFK_EWEGt409jY3SKftDFmpN6-Y31kQ)
![Boundary Extraction](https://private-user-images.githubusercontent.com/129606995/348311408-c0917c89-c941-4803-bbc4-a8e4752eb77c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzExNDA4LWMwOTE3Yzg5LWM5NDEtNDgwMy1iYmM0LWE4ZTQ3NTJlYjc3Yy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xODRkNWEwMDc1MzI5MTgzYWZjNzI2MDRhYWE4MTc5YTQxOWY1ODBmOGZhYTA1ODY0ZmEwYmQ4NDcxOGRjMmEwJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.hjXfyAOt8tP569F73PLu8cxNltO-eu3KsuJMKN3A4LE)
![Histogram Equalization](https://private-user-images.githubusercontent.com/129606995/348312366-5cfdacf2-d452-417e-9517-a40b37217081.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEyMzY2LTVjZmRhY2YyLWQ0NTItNDE3ZS05NTE3LWE0MGIzNzIxNzA4MS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04ODJkZGRmYTY5NTZiMmJiODE3ZDMyMGNhZDJhNGQ0ZGI0MjY3M2IxMzE0OTkxZjkzNDU2ZDA4ODkwYmFhNGI2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.SHEy_9k1gEaWD5FqChFYwcT0V4UeQVkVeuYQQmHpJ04)
![i)](https://private-user-images.githubusercontent.com/129606995/348312187-a34b565d-ac3f-4786-b1b4-8f4995c6dbf8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEyMTg3LWEzNGI1NjVkLWFjM2YtNDc4Ni1iMWI0LThmNDk5NWM2ZGJmOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNTVmNjUxZWU2OTQwZWRjMmFlNmI1NmJjMWY4OGQ1N2FkYjk0NjBmYWFjMmZiODFiNGNkMTZlZDJjOGI4YjVhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.0PI9WFP5mV4uH6XnlclG1nwOlEfCWiiwf2MuIll627o)
![ii)](https://private-user-images.githubusercontent.com/129606995/348312278-2657507e-2624-4aa8-8ee1-34f0a69f8be1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEyMjc4LTI2NTc1MDdlLTI2MjQtNGFhOC04ZWUxLTM0ZjBhNjlmOGJlMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT04NDQ3NzdmMDcyNTc0OTdlNGJmN2M2OTExM2NjYzhkN2EyOWViODAwMTlmOTI5MWNkZDNkNGE5MWNlZTE3MDM1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.7abglStUdqsHcwNEfMYlzVBmD_X0p0WXNKwYw3H9IRk)
![Circle Hough](https://private-user-images.githubusercontent.com/129606995/348313585-b74513f2-636c-400d-9696-f638f8b7d338.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEzNTg1LWI3NDUxM2YyLTYzNmMtNDAwZC05Njk2LWY2MzhmOGI3ZDMzOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xOTU1MjI1ZWM5ZGRlNDMwNDIwOGM5MzljOWZiODZhZWRlMDcxNGI0YTE4NmQyMmU3MzY2YjE4MDYwNDIxM2NiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.7vgrFUB6czlpJtyJ1vZ2L793VXkBec5D7oHsxq-3Prc)
![Generalized Hough](https://private-user-images.githubusercontent.com/129606995/348313689-582fabd2-4d8e-41e0-94e8-4e601582346d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU5NDIwNjEsIm5iZiI6MTcyNTk0MTc2MSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQ4MzEzNjg5LTU4MmZhYmQyLTRkOGUtNDFlMC05NGU4LTRlNjAxNTgyMzQ2ZC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTEwJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkxMFQwNDE2MDFaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wNDJmNDVjMGZkODE3NWUzZGU1MzkzZDFmYmFlMTFiMjJiNmM5YjM3NDVjNTA1ZmQ5ZTI4MjNlMjEwZDhmZjBjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.NDGIryEkdcDxTzenA6sMmFTdxX_jdk5AarUN75tTJtI)