From e065a401b8a8241bfdc4404a7fa61e4d6e4f04cc Mon Sep 17 00:00:00 2001 From: pinb Date: Wed, 22 Nov 2023 14:43:41 +0900 Subject: [PATCH] update --- README.md | 93 ++++++++++++++++++++++++++++++++++++++++ images/gaborfilter.png | Bin 0 -> 13037 bytes images/gaborfilter2.png | Bin 0 -> 3872 bytes images/gaborfilter3.png | Bin 0 -> 3931 bytes 4 files changed, 93 insertions(+) create mode 100644 images/gaborfilter.png create mode 100644 images/gaborfilter2.png create mode 100644 images/gaborfilter3.png diff --git a/README.md b/README.md index e69de29..f28b21c 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,93 @@ +--- +layout: default +title: 02. Gabor Filter +subtitle: Deep Learning +--- +----- + +[PINBlog Gitea Repository](https://gitea.pinblog.codes/CBNU/02_GaborFilter) + +----- + +# Gabor Filter +- »ê¾÷ÀΰøÁö´ÉÇаú ´ëÇпø + 2022254026 + ±èÈ«¿­ + + +--- + +# **Gabor Filter¶õ?** + +Gabor Filter´Â ¿µ»ó󸮿¡¼­ Bio-inspired¶ó´Â Å°¿öµå°¡ ÀÖÀ¸¸é ºüÁöÁö¾Ê°í µîÀåÇÑ´Ù. + +¿Ü°û¼±À» °ËÃâÇÏ´Â ±â´ÉÀ» ÇÏ´Â ÇÊÅÍ·Î, »ç¶÷ÀÇ ½Ã°¢Ã¼°è°¡ ¹ÝÀÀÇÏ´Â °Í°ú ºñ½ÁÇÏ´Ù´Â ÀÌÀ¯·Î ³Î¸® »ç¿ëµÇ°í ÀÖ´Ù. + +Gabor Fiter´Â °£´ÜÈ÷ ¸»Çؼ­ »çÀÎ ÇÔ¼ö·Î ¸ðµâ·¹ÀÌ¼Ç µÈ Gaussian Filter¶ó°í »ý°¢ÇÒ ¼ö ÀÖ´Ù. + +ÆĶó¹ÌÅ͸¦ Á¶ÀýÇÔ¿¡ µû¶ó EdgeÀÇ Å©±â³ª ¹æÇ⼺À» ¹Ù²Ü ¼ö ÀÖÀ¸¹Ç·Î Bio-inspired ¿µ»óó¸® ¾Ë°í¸®Áò¿¡¼­ Ư¡Á¡ ÃßÃâ ¾Ë°í¸®ÁòÀ¸·Î ÇÙ½ÉÀûÀÎ ¿ªÇÒÀ» ÇÏ°í ÀÖ´Ù. + +2D Gabor FilterÀÇ ¼ö½ÄÀº ¾Æ·¡¿Í °°´Ù. + + +![gaborfilter](./images/gaborfilter.png) +![gaborfilter](./images/gaborfilter2.png) +![gaborfilter](./images/gaborfilter3.png) + + +```cpp + +cv::Mat cv::getGaborKernel(cv::Size ksize, double sigma, double theta, double lambd, double gamma, double psi = CV_PI*0.5, int ktype = CV_64F) + + +``` + +cv::getGaborKernel ÇÔ¼ö´Â OpenCV¿¡¼­ °¡¹öÇÊÅÍ(Gabor filter)¸¦ »ý¼ºÇÏ´Â µ¥ »ç¿ëµÈ´Ù. + +°¡¹öÇÊÅÍ´Â À̹ÌÁö ó¸®¿Í ÄÄÇ»ÅÍ ºñÀü¿¡¼­ ƯÁ¤ ¹æÇ⼺°ú ÁÖÆļöÀÇ Æ¯Â¡À» °­Á¶ÇÏ´Â µ¥ »ç¿ëµÇ´Â ¼±Çü ÇÊÅÍÀÌ´Ù. + + +### **Parameters** + +* ksize: Ä¿³ÎÀÇ Å©±â·Î, cv::Size ŸÀÔ. Ä¿³ÎÀÇ ³Êºñ¿Í ³ôÀ̸¦ ÁöÁ¤. + +* sigma: °¡¿ì½Ã¾È ÇÔ¼öÀÇ Ç¥ÁØ ÆíÂ÷. °ªÀÌ Ä¿Áú¼ö·Ï Ä¿³ÎÀÇ Å©±â°¡ Ä¿Áö°í, ÇÊÅÍÀÇ °¨µµ°¡ ³·¾ÆÁø´Ù. + +* theta: ÇÊÅÍÀÇ ¹æÇâÀ» ¶óµð¾È ´ÜÀ§·Î ÁöÁ¤ÇÑ´Ù. 0Àº ¼öÆò ¹æÇâ, CV_PI/2´Â ¼öÁ÷ ¹æÇâÀ» ÀǹÌÇÑ´Ù. + +* lambd: °¡¹öÇÊÅÍÀÇ ÆÄÀå. À̹ÌÁöÀÇ Æ¯Á¤ ÆÐÅÏ°ú ¾ó¸¶³ª Àß ¸ÅÄ¡ÇÒÁö¸¦ °áÁ¤ÇÑ´Ù. + +* gamma: °ø°£Á¾È¾ºñ(Spatial aspect ratio)·Î, Ÿ¿øÇü °¡¹ö ÇÔ¼öÀÇ Å¸¿ø¼ºÀ» °áÁ¤ÇÑ´Ù. (gamma=1Àº ¿øÇü, gamma<1Àº Ÿ¿øÇü) + +* psi: À§»óº¯À§(Phase offset)·Î, °¡¹ö ÇÊÅÍÀÇ À§»óÀ» Á¶ÀýÇÑ´Ù. (ÀϹÝÀûÀ¸·Î CV_PI*0.5°¡ ±âº»°ªÀ¸·Î »ç¿ë) + +* ktype: Ä¿³Î ŸÀÔ. (º¸Åë CV_64F (64-ºñÆ® ºÎµ¿¼Ò¼öÁ¡)¸¦ »ç¿ë) + + + + +--- + +### ¿¹Á¦ ÄÚµå[¢Ò]() + +
+Import +
+ +```python + + + +``` + +
+
+ + +--- + +### Âü°í[¢Ò]() + +- Gabor Filter - Google +- ChatGPT +- [Blog](https://thinkpiece.tistory.com/304) diff --git a/images/gaborfilter.png b/images/gaborfilter.png new file mode 100644 index 0000000000000000000000000000000000000000..0ac84c193266932253c658befc2802b91fadf987 GIT binary patch literal 13037 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 literal 0 HcmV?d00001 diff --git a/images/gaborfilter2.png b/images/gaborfilter2.png new file mode 100644 index 0000000000000000000000000000000000000000..61b4aa9b04136257af65a3c3dab22cdc99352b25 GIT binary patch literal 3872 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 literal 0 HcmV?d00001