![System Decision 1](https://private-user-images.githubusercontent.com/129606995/343253520-77074edb-4e76-4d7e-a113-cd6257a02e17.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzMjUzNTIwLTc3MDc0ZWRiLTRlNzYtNGQ3ZS1hMTEzLWNkNjI1N2EwMmUxNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMzMwNzdlNDVmMzg4OWZlODc4OGE4YWQ0ODcwMGFhZjhmZjhjM2Q5MjkxYjIyODYyYzIwNGVjNTA0NGZjZjhmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.FsAwv_MRrEWhmK9HVsNUvOlJ_IMQE8_b-dR4fwMd6s0)
![System Decision 2](https://private-user-images.githubusercontent.com/129606995/343253693-e867d928-8eb7-4f21-b75f-5a7f0dcd7a10.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzMjUzNjkzLWU4NjdkOTI4LThlYjctNGYyMS1iNzVmLTVhN2YwZGNkN2ExMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00NzAwNWUwNGQ3NDlhNTBmZTdmYTg2Yzc5MzEwY2YyOGJmODk4ZTc0OGQ0MTk3MjI5N2IzZTNlODZmMmIxNDczJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.FEyI0Eq-0ZmghkJ-x8blT1VfK9DTnstImw_D63-fLUQ)
When given a standard image, the system decides whether entry image is well mixed or lacks mixed level than the standard image.
![System Decision 3](https://private-user-images.githubusercontent.com/129606995/343259317-43cfe5a0-c37d-4eb8-8264-6b7c6c6cd4e2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzMjU5MzE3LTQzY2ZlNWEwLWMzN2QtNGViOC04MjY0LTZiN2M2YzZjZDRlMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0xZGM2Y2Y4NTVmNGM3MTZhZWNiYWU2MDA5ZGViNDg0MzU1MzQ3YjgwZDUzNzA2ZmIyYWI2ODE3YTg0Mjc2NmRjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.eyWYmk-w9R0Nv7AYPiOuFiV2kjWrqaVVRZFUpmrwyWY)
![System Decision 4](https://private-user-images.githubusercontent.com/129606995/343259580-55a2f8d1-7152-46bd-b92d-b06edecd4755.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzMjU5NTgwLTU1YTJmOGQxLTcxNTItNDZiZC1iOTJkLWIwNmVkZWNkNDc1NS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00ZDgzYTU0N2JlNTc4NzZkMTc4OGRkMzM3ZmNkN2E2ZjM2YzA1N2E2YjA0YWRhYWZiOTIzOTk2YmJlMzliMzRlJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.bdkO6E27GCNOurV1DF1dd1cK-RR70qThOt9Az-_wlYY)
This is an image of actually using a camera to evaluate whether current food is well mixed. "Good" with green background means food mixed level is high enough, and "Bad" with red background means food is not yet mixed well enough.
Key idea to solving this problem is Using Hue compoment of an image. Convert the RGB Image into HSV Image, Getting Hue, Saturation, Value information. Hue is mainly used to define what color the bit is. By calculating the Entropy of Hue, we get to know how diverse the colors are in an image.
Via Using 3 Kernels; 20% window size, 25% window size, 30% window size, we calculate the final entropy for the specific pixel.
Following is the example of Entropies calculated for 4 image examples.
![Entropy image](https://private-user-images.githubusercontent.com/129606995/343668811-391f7991-9650-43b7-bc0b-5077ed558797.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzNjY4ODExLTM5MWY3OTkxLTk2NTAtNDNiNy1iYzBiLTUwNzdlZDU1ODc5Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iN2Q0NTY0NGJmMTUyZmU5OWU1YzdhMjE5NDNhY2JlYWE2YmM5NGQ3MjcwMGUyZWExYzdmZTMxMzQ2ZWNiYjkzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.7rHHG_6TC_UYCbEZDqFuc4zGLis1OdrXsdt4l7jlFzc)
![Standard Deviation for the images above](https://private-user-images.githubusercontent.com/129606995/343673057-616a556b-adae-4688-bdd8-5ecaa298680b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzNjczMDU3LTYxNmE1NTZiLWFkYWUtNDY4OC1iZGQ4LTVlY2FhMjk4NjgwYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iNjg4NTYxZWUxY2I4YTdiM2NmNzA4ZTE1MTM2N2Q3ZjgyYzU5ZGU1MWRlOGNlNTRiYjNkNTZjOTk4OTI0ZTRmJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.7hzCmgXRKS-zKBEH1Ioa8N46KRNQziqDBNUAxawnMNM)
Finally, we calculate the standard deviation of the entropies in the image. If the standard deviation is high, it means that particular hue values occur in specific region, not prevailing in the entire image. On the other hand, if the standard deviation is low, hue entropies does not change a lot in the image thus, hue values are uniform throughout the entire image.
1. Image Gaussian Filtering(Smoothing), Image subsampling(reduce size)
2. Convert RGB Image to HSV
3. Hue domain Median Filtering; Used for reducing noise in calculating entropy, where (1,2,3) entropy is higher than that of (2,2,2)
4. Evaluate entropy for each one of 3 sliding window, then calcuate the average which will be the entropy for that specific pixel.
5. Run Gaussian Filtering to reduce noise.
6. Calcuate standard deviation for the hue entropies.
This system does not guarantee correct analysis of given image. The result could differ from the changes in light setting, resolution of the camera, image noise, unwanted parts such as plate included in the image, etc. Also, the code is very dirty.
![System Decision Fault Example](https://private-user-images.githubusercontent.com/129606995/343258240-6ad15e4a-bf9f-4d99-aee2-34739e48b7e0.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzMjU4MjQwLTZhZDE1ZTRhLWJmOWYtNGQ5OS1hZWUyLTM0NzM5ZTQ4YjdlMC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yNzRmYzYzYzM1MjRiMzZiZTllYmUzM2Q3ZGZhNmQ3ZjU1NTZkOTJjMjg5MTg1MmI0NWNhYjRlMTI0ZWI5OGVkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.y6PACH9qbpjpZ3VMx2x9KnK4bs_kFg1uC86usY7b2Uo)
![Entroy Graph](https://private-user-images.githubusercontent.com/129606995/343258579-fdeb09a6-d12e-4cd9-a5a5-be7a35558fd6.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1ODQ1ODksIm5iZiI6MTczOTU4NDI4OSwicGF0aCI6Ii8xMjk2MDY5OTUvMzQzMjU4NTc5LWZkZWIwOWE2LWQxMmUtNGNkOS1hNWE1LWJlN2EzNTU1OGZkNi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE1JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxNVQwMTUxMjlaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02MzFjMjBmYWEzNjM5ZDk3MDZlYjQzMjE3OWY0MWNlY2JkYjJkYzFlMmQwMzE3YWZhNmE3NTRjMTAxYjIxMGJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.2PfCn0A_eKmkyJYrGZpWpL6r1fB_RTqBHarMusvKRa4)
Image used in this project is both collected from the Internet and created by our teammates.
Sources of Images collected from the Internet are the following:
https://www.youtube.com/watch?v=X7ozj9FPvNA
https://blog.naver.com/kutty1945/222251561774
https://www.10000recipe.com/recipe/1395916