ﺑﺴﻤﻪ ﺗﻌﺎﻟﻲ ﺳﻴﺴﺘﻢ ﻫﺎي ﭼﻨﺪرﺳﺎﻧﻪاي )(40-342 داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ 14ﻓﺮوردﻳﻦ 1390 دﻛﺘﺮ ﻣﻬﺪي اﻣﻴﺮي ﺗﻜﻠﻴﻒ ﺷﻤﺎﺭﻩ :۳ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﻣﻘﺪﻣﻪ ﺩﺭ ﺍﻳﻦ ﺗﻤﺮﻳﻦ ،ﺷﻤﺎ ﺑﺎ ﺑﺮﺧﯽ ﺍﺑﺰﺍﺭﻫﺎ ﻭ ﺭﻭﺵﻫﺎﯼ ﺍﺻﻠﯽ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﺁﺷﻨﺎ ﺧﻮﺍﻫﻴﺪ ﺷﺪ. ﺁﻧﭽﻪ ﮐﻪ ﺑﺎﻳﺴﺘﻲ ﺗﺤﻮﻳﻞ ﺩﺍﺩﻩ ﺷﻮﺩ ﺷﺎﻣﻞ ﭘﺎﺳﺦ ﺳﻮﺍﻻﺕ ﻣﻄﺮﺡ ﺷﺪﻩ ﺩﺭ ﺻﻮﺭﺕ ﺗﻤﺮﻳﻦﻫﺎ )ﺩﺭ ﻗﺎﻟﺐ ﻳﮏ ﮔﺰﺍﺭﺵ ﺑﺎ ﻓﺮﻣﺖ ،(PDF ﻧﻤﻮﺩﺍﺭﻫﺎ ﻭ ﺷﮑﻞﻫﺎﻱ ﺧﺮﻭﺟﻲ mﻓﺎﻳﻞﻫﺎ ﻭ mﻓﺎﻳﻠﻬﺎ ﻣﻲﺑﺎﺷﺪ .ﻟﻄﻔﺎ ﺗﻤﺎﻣﻲ ﻓﺎﻳﻞﻫﺎ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﻳﻚ ﻓﺎﻳﻞ ﻓﺸﺮﺩﻩ ،ﮐﻪ ﻧﺎﻡ ﺁﻥ ﺩﺭ ﻗﺎﻟﺐ MM_HW3_LastName_StudentIDﺑﺎﺷﺪ ﮐﻪ ﺩﺭ ﺁﻥ ﺑﻪ ﺟﺎﯼ LastNameﻧﺎﻡ ﺧﺎﻧﻮﺍﺩﮔﯽ ﺷﻤﺎ ﻭ ﺑﻪ ﺟﺎﯼ StudentIDﺷﻤﺎﺭﻩ ﺩﺍﻧﺸﺠﻮﻳﻲ ﺷﻤﺎ ﻗﺮﺍﺭ ﻣﯽﮔﻴﺮﺩ ،ﺑﻪ ﺁﺩﺭﺱ ) ([email protected]ﺑﻔﺮﺳﺘﻴﺪ .ﻟﻄﻔﺎ ﻋﻨﻮﺍﻥ emailﺧﻮﺩ ﺭﺍ MM-HW3ﻗﺮﺍﺭ ﺩﻫﻴﺪ .ﻣﻬﻠﺖ ﺗﺤﻮﻳﻞ ﺧﺮﻭﺟﻲﻫﺎ ۱۳۹۰/۱/۲۸ﻣﻲﺑﺎﺷﺪ. ﺁﺷﻨﺎﻳﻲ ﺑﺎ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ -١ﻣﻘﺪﻣﻪ ﺗﺼﻮﻳﺮﻱ ﮐﻪ ﺑﺎ ﻳﻚ ﺍﺳﻜﻨﺮ ﻳﺎ ﺩﻭﺭﺑﻴﻦ ﺩﻳﺠﻴﺘﺎﻝ ﮔﺮﻓﺘﻪ ﺷﺪﻩ ،ﻣﻤﻜﻦ ﺍﺳﺖ ﻛﺎﻧﺘﺮﺍﺳﺖ ﻣﻄﻠﻮﺏ ﻳﺎ ﻓﻮﻛﻮﺱ ﻣﻨﺎﺳﺐ ﺭﺍ ﻧﺪﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﻳﺎ ﻣﻤﻜﻦ ﺍﺳﺖ ﺗﺼﻮﻳﺮ ﺑﺎ ﻧﻮﻳﺰ ﻣﺨﻠﻮﻁ ﺷﺪﻩ ﺑﺎﺷﺪ ﻭ ﻧﻴﺎﺯ ﺑﻪ ﺗﻤﻴﺰ ﺷﺪﻥ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﺩﺭ ﺑﻌﻀﻲ ﻣﻮﺍﺭﺩ ﺩﻳﮕﺮ ،ﻣﻤﻜﻦ ﺍﺳﺖ ﻧﻴﺎﺯ ﺑﻪ ﺑﺰﺭﮒ ﻛﺮﺩﻥ ﺗﺼﻮﻳﺮ ﺑﺮﺍﻱ ﺩﻳﺪ ﺭﺍﺣﺖﺗﺮ ﻭﺟﻮﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﺍﻧﻮﺍﻉ ﺍﺑﺰﺍﺭ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﺑﺮﺍﻱ ﺍﻓﺰﺍﻳﺶ ﻛﻴﻔﻴﺖ ﻳﺎ ﺍﻳﺠﺎﺩ ﺑﻌﻀﻲ ﺟﻠﻮﻩ ﻫﺎ ﺍﻳﺠﺎﺩ ﺷﺪﻩ ﺍﺳﺖ .ﺩﺭ ﺍﻳﻦ ﺁﺯﻣﺎﻳﺶ ،ﺷﻤﺎ ﺑﻌﻀﻲ ﻋﻤﻠﻜﺮﺩﻫﺎﻱ ﭘﺎﻳﻪ ﺍﻱ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﺭﺍ ﺁﺯﻣﺎﻳﺶ ﻛﺮﺩﻩ ﻭ ﻳﺎﺩ ﻣﻲ ﮔﻴﺮﻳﺪ. -٢ﺑﻬﺒﻮﺩ ﺗﺼﻮﻳﺮ -٢-١ﺑﻬﺒﻮﺩ ﻛﺎﻧﺘﺮﺍﺳﺖ ﺑﻬﺒﻮﺩ ﻛﺎﻧﺘﺮﺍﺳﺖ ﺑﻪ ﺗﻐﻴﻴﺮ ﺳﻄﻮﺡ ﺗﺼﻮﻳﺮ ﻳﺎ ﻣﺘﻌﺎﺩﻝ ﻛﺮﺩﻥ ﺭﻧﮓ ﺁﻥ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮﺩ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ،ﺍﮔﺮ ﻳﻚ ﺗﺼﻮﻳﺮ ﺯﻳﺮ ﻧﻮﺭ ﺑﺴﻴﺎﺭ ﻛﻢ ﻗﺮﺍﺭ ﺑﮕﻴﺮﺩ، ﻣﻤﻜﻦ ﺍﺳﺖ ﺗﺼﻮﻳﺮ ﺑﺴﻴﺎﺭ ﺗﻴﺮﻩ ﺑﻪ ﻧﻈﺮ ﺑﺮﺳﺪ .ﺑﺎ ﺍﺑﺰﺍﺭ ﺑﻬﺒﻮﺩ ﻛﺎﻧﺘﺮﺍﺳﺖ ﻣﻨﺎﺳﺐ ﺷﻤﺎ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺍﻳﻦ ﺗﺼﻮﻳﺮ ﺭﺍ ﺩﺍﺭﺍﻱ ﻣﺤﺪﻭﺩﻩ ﺩﻳﻨﺎﻣﻴﻚ ﺑﺰﺭﮔﺘﺮﻱ ﺑﻜﻨﻴﺪ ﻭ ﻣﺤﺪﻭﺩﻩ ﻛﻠﻲ ﺭﺍ ﺍﺯ ﺳﻔﻴﺪ ﺗﺎ ﺳﻴﺎﻩ ﺗﻮﺳﻌﻪ ﺑﺪﻫﻴﺪ. ﻛﺎﻧﺘﺮﺍﺳﺖ ﺗﺼﻮﻳﺮ ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﻪ ﺻﻮﺭﺕ ﺭﻳﺎﺿﻲ ﺑﻮﺳﻴﻠﻪ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺗﺼﻮﻳﺮ ﺍﻧﺪﺍﺯﻩ ﮔﻴﺮﻱ ﺷﻮﺩ .ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺗﻌﺪﺍﺩ ﭘﻴﻜﺴﻞ ﻫﺎﻱ ﺩﺍﺭﺍﻱ ﻫﺮ ﺳﻄﺢ ﺭﻧﮓ ﺑﻪ ﺧﺼﻮﺹ ﺭﺍ ﻣﻲ ﺷﻤﺎﺭﺩ .ﺍﮔﺮ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺭﺍ ﺑﺎ ﺗﻌﺪﺍﺩ ﻛﻞ ﭘﻴﻜﺴﻞ ﻫﺎ ﻧﺮﻣﺎﻟﻴﺰﻩ ﻛﻨﻴﻢ ،ﺁﻧﮕﺎﻩ ﺣﺎﺻﻞ ،ﺗﻘﺮﻳﺒﻲ ﺍﺯ ﺗﺎﺑﻊ ﺟﺮﻡ ﺍﺣﺘﻤﺎﻝ ﺳﻄﻮﺡ ﺧﻮﺍﻫﺪ ﺑﻮﺩ ،ﻳﻚ ﺗﺼﻮﻳﺮ ﺳﻴﺎﻩ ﺳﻔﻴﺪ ﺩﺍﺭﺍﻱ ﻳﻚ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺍﺳﺖ ﺩﺭ ﺣﺎﻟﻲ ﻛﻪ ﻳﻚ ﺗﺼﻮﻳﺮ ﺭﻧﮕﻲ ﻣﻲ ﺗﻮﺍﻧﺪ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﻫﺎﻱ ﻣﺠﺰﺍ ﺑﺮﺍﻱ ﻣﻮﻟﻔﻪ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺭﻧﮓ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ ،ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﺎ ﻛﺎﻧﺘﺮﺍﺳﺖ ﺧﻮﺏ ﻳﻚ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺻﺎﻑ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ ﻛﻪ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ ﺗﻤﺎﻡ ﺭﻧﮕﻬﺎﻱ ﻣﺨﺘﻠﻒ ﻳﺎ ﺳﻄﻮﺡ ﺧﺎﻛﺴﺘﺮﻱ ﺗﻘﺮﻳﺒﹰﺎ ﺑﺎ ﺗﻌﺪﺍﺩ ﻣﺴﺎﻭﻱ ﭘﻴﻜﺴﻞ ﻫﺎ ﺩﺭ ﺗﺼﻮﻳﺮ ﺣﻀﻮﺭ ﺩﺍﺭﻧﺪ .ﺍﺯ ﺳﻮﻱ ﺩﻳﮕﺮ ،ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﺎ ﻛﺎﻧﺘﺮﺍﺳﺖ ﭘﺎﻳﻴﻦ ،ﭘﺨﺶ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﺴﻴﺎﺭ ﺑﺎﺭﻳﻜﻲ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ ﺯﻳﺮﺍ ﺳﻄﻮﺡ ﺧﺎﻛﺴﺘﺮﻱ /ﺭﻧﮕﻲ ﺁﻥ ﺩﺭ ﻳﻚ ﻣﺤﺪﻭﺩﻩ ﻛﻮﭼﻚ ﻣﺘﻤﺮﻛﺰ ﺍﺳﺖ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ،ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﺴﻴﺎﺭ ﺳﻴﺎﻩ، ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﺴﻴﺎﺭ ﺑﺎﺭﻳﻚ ﺣﻮﻝ ﺳﻄﻮﺡ ﭘﺎﻳﻴﻦ ﺧﻮﺍﻫﺪ ﺩﺍﺷﺖ. ﻫﺪﻑ ﺑﻬﺒﻮﺩ ﻛﺎﻧﺘﺮﺍﺳﺖ ،ﭘﺨﺶ ﺩﻭﺑﺎﺭﻩ ﺳﻄﻮﺡ ﺗﺼﻮﻳﺮ ﺑﻪ ﮔﻮﻧﻪ ﺍﻱ ﺍﺳﺖ ﻛﻪ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺗﺼﻮﻳﺮ ﺑﻬﺒﻮﺩ ﻳﺎﻓﺘﻪ ﺑﻪ ﺧﻮﺑﻲ ﮔﺴﺘﺮﺩﻩ ﺷﺪﻩ ﺑﺎﺷﺪ .ﺑﻪ ﻃﻮﺭ ﻛﻠﻲ ،ﺑﻬﺒﻮﺩ ﻛﺎﻧﺘﺮﺍﺳﺖ ،ﺑﺎ ﻳﻚ ﺗﺎﺑﻊ ﺗﻨﺎﻇﺮ ﭘﻴﻜﺴﻞ ﺑﻪ ﭘﻴﻜﺴﻞ ﻛﻪ ﻣﻘﺎﺩﻳﺮ ﭘﻴﻜﺴﻞ ﻫﺎ ﺭﺍ ﺍﺻﻼﺡ ﻣﻲ ﻛﻨﺪ ،ﺻﻮﺭﺕ ﻣﻲ ﭘﺬﻳﺮﺩ .ﺗﻨﺎﻇﺮ ﻓﻘﻂ ﺑﻪ ﺳﻄﺢ ﺧﺎﻛﺴﺘﺮﻱ ﭘﻴﻜﺴﻞ ﻭﺍﺑﺴﺘﻪ ﺍﺳﺖ ﻣﺴﺘﻘﻞ ﺍﺯ ﺍﻳﻨﻜﻪ ﺩﻳﮕﺮ ﭘﻴﻜﺴﻞ ﻫﺎ ﭼﻪ ﺑﺎﺷﻨﺪ .ﺑﺮﺍﻱ ﺣﻔﻆ ﭘﻴﻮﺳﺘﮕﻲ ﻭ ﺗﺮﺗﻴﺐ ﺳﻄﻮﺡ ﺍﺻﻠﻲ ،ﺗﻨﺎﻇﺮ ﺑﺎﻳﺪ ﭘﻴﻮﺳﺘﻪ ﻭ ﻏﻴﺮ ﻧﺰﻭﻟﻲ ﺑﺎﺷﺪ. -٢-١-١ﻣﺴﺎﻭﻱ ﺳﺎﺯﻱ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﻣﺴﺎﻭﻱ ﺳﺎﺯﻱ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﻪ ﻋﻤﻠﻲ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮﺩ ﻛﻪ ﺗﺼﻮﻳﺮ ﺩﺍﺭﺍﻱ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺩﻟﺨﻮﺍﻩ ﺭﺍ ﺑﻪ ﺗﺼﻮﻳﺮﻱ ﺑﺎ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺻﺎﻑ ﺗﺒﺪﻳﻞ ﻣﻲﻛﻨﺪ. ﺭﻭﺵ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﺮ ﻣﺒﻨﺎﻱ ﻧﺘﺎﻳﺞ ﺷﻨﺎﺧﺘﻪ ﺷﺪﻩ ﺗﺌﻮﺭﻱ ﺍﺣﺘﻤﺎﻻﺕ ﺍﺳﺘﻮﺍﺭ ﺍﺳﺖ. ﻗﻀﻴﻪ :ﺗﺎﺑﻊ ﺗﻮﺯﻳﻊ ﺟﻤﻌﻲ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﺍﺯ ﺭﻭﻱ ﺗﺎﺑﻊ ﺗﻮﺯﻳﻊ ﺍﺣﺘﻤﺎﻝ ﺑﻪ ﺩﺳﺖ ﻣﻲ ﺁﻳﺪ: ﺣﺎﻝ ﺍﮔﺮ ﻣﺎ ﺗﺒﺪﻳﻞ ﺗﺎﺑﻊ ﺗﻮﺯﻳﻊ ﺟﻤﻌﻲ ﺭﺍ ﺍﻧﺠﺎﻡ ﺑﺪﻫﻴﻢ ،ﺗﺎﺑﻊ ﺣﺎﺻﻞ ﺩﺍﺭﺍﻱ ﺗﻮﺯﻳﻊ ﻳﻜﻨﻮﺍﺧﺖ ﺑﻴﻦ ٠ﻭ ١ﺧﻮﺍﻫﺪ ﺑﻮﺩ. ﺍﮔﺮﭼﻪ ﻧﺘﻴﺠﻪ ﺑﺎﻻ ﺑﺮﺍﻱ ﻣﺘﻐﻴﺮﻫﺎﻱ ﺗﺼﺎﺩﻓﻲ ﭘﻴﻮﺳﺘﻪ ﻣﻄﻠﻘﹰﺎ ﺩﺭﺳﺖ ﺍﺳﺖ ،ﻣﻲ ﺗﻮﺍﻧﺪ ﺑﺮﺍﻱ ﻣﺘﻐﻴﺮﻫﺎﻱ ﮔﺴﺴﺘﻪ ﻧﻴﺰ ﺑﻪ ﻛﺎﺭ ﺑﺮﻭﺩ .ﺩﺭ ﺍﻳﻦ ﺻﻮﺭﺕpdf ، ﺑﺎ pmfﺟﺎﻳﮕﺰﻳﻦ ﻣﻲ ﺷﻮﺩ )ﻳﺎ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﻧﺮﻣﺎﻟﻴﺰﻩ ﺷﺪﻩ( ﻭ cdfﺑﺎ ﺟﻤﻊ ﻣﻘﺎﺩﻳﺮ pmfﺣﺎﺻﻞ ﻣﻲ ﺷﻮﺩ. ﺑﺮﺍﻱ ﺍﻧﺠﺎﻡ ﻣﺴﺎﻭﻱ ﺳﺎﺯﻱ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﺮﺍﻱ ﻳﻚ ﺗﺼﻮﻳﺮ ﺩﺍﺩﻩ ﺷﺪﻩ ،ﺍﺑﺘﺪﺍ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺁﻥ ﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﻛﻨﻴﻢ .ﺳﭙﺲ ﺑﺮﺍﻱ ﻫﺮ ﻣﻘﺪﺍﺭ ﻣﻮﺟﻮﺩ ﺩﺭ ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ،ﻣﻘﺎﺩﻳﺮ ﻧﺮﻣﺎﻟﻴﺰﻩ ﺷﺪﻩ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺭﺍ ﺍﺯ ﺳﻄﺢ ﺻﻔﺮ ﺗﺎ ﺁﻥ ﻣﻘﺪﺍﺭ ﺟﻤﻊ ﻣﻲ ﻛﻨﻴﻢ .ﺟﻮﺍﺏ ﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ،ﻫﻤﺎﻥ ﻣﻘﺪﺍﺭ ﺟﺪﻳﺪ ﭘﻴﻜﺴﻞ ﺍﺳﺖ .ﻭﻗﺘﻲ ﻗﺎﻋﺪﻩ ﺗﺒﺪﻳﻞ ﺑﺮﺍﻱ ﺗﻤﺎﻡ ﺳﻄﻮﺡ ﻣﻤﻜﻦ ﻣﺤﺎﺳﺒﻪ ﺷﺪ ،ﻧﺘﻴﺠﻪ ﻣﻲ ﺗﻮﺍﻧﺪ ﺩﺭ ﻳﻚ ﺟﺪﻭﻝ ﺫﺧﻴﺮﻩ ﺷﻮﺩ. ﺷﻜﻞ ١ﻣﺜﺎﻟﻲ ﺍﺯ ﻣﺴﺎﻭﻱ ﺳﺎﺯﻱ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ ﻛﻪ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﺩﻣﻮﻱ imadjdemo.m ،matlabﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ﺍﺳﺖ .ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺑﺒﻨﻴﺪ ﻛﻪ ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﺎﺭﻳﻜﻲ ﺩﺍﺭﺩ ﻭ ﺗﺼﻮﻳﺮ ﻣﺴﺎﻭﻱ ﺳﺎﺯﻱ ﺷﺪﻩ ﺗﻘﺮﻳﺒﹰﺎ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺻﺎﻓﻲ ﺑﺮ ﺭﻭﻱ ﻛﻞ ﻣﻘﺎﺩﻳﺮ ﺩﺍﺭﺩ. ﻳﻚ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺻﺎﻑ ﻣﻤﻜﻦ ﺍﺳﺖ ﺑﻪ ﻳﻚ ﺗﺼﻮﻳﺮ ﺧﻮﺏ ﻣﻨﺠﺮ ﻧﺸﻮﺩ .ﻫﻤﺎﻥ ﺑﺮﻧﺎﻣﻪ ﻗﺒﻠﻲ ﺑﻪ ﺷﻤﺎ ﺍﺟﺎﺯﻩ ﻣﻲ ﺩﻫﺪ ﻛﻪ ﺗﺎﺑﻊ ﺗﻨﺎﻇﺮ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ ﺩﺳﺘﻲ ﺗﻨﻈﻴﻢ ﻛﻨﻴﺪ )ﺑﻪ ﺟﺎﻱ ﺍﻳﻨﻜﻪ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺧﺮﻭﺟﻲ ﻫﻤﻴﺸﻪ ﺻﺎﻑ ﺑﺎﺷﺪ( ﺗﺎ ﻭﻗﺘﻲ ﻛﻪ ﺷﻤﺎ ﻧﺘﻴﺠﻪ ﺩﻟﺨﻮﺍﻩ ﺭﺍ ﺑﻪ ﺩﺳﺖ ﺁﻭﺭﻳﺪ .ﺍﺑﺰﺍﺭ ﻣﻨﺎﺳﺒﻲ ﻫﻢ ﺑﻪ ﻫﻤﻴﻦ ﻣﻨﻈﻮﺭ ﺩﺭ ﻓﻮﺗﻮﺷﺎﭖ ﻧﻴﺰ ﻭﺟﻮﺩ ﺩﺍﺭﺩ. ﺷﮑﻞ :۱ﻣﺜﺎﻟﻲ ﺍﺯ ﻣﺴﺎﻭﻱ ﺳﺎﺯﻱ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ -٢-٢ﺣﺬﻑ ﻧﻮﻳﺰ ﺣﺬﻑ ﻧﻮﻳﺰ ﺑﻪ ﺣﺬﻑ ﺿﺮﺑﻪ ﻫﺎﻱ ﻧﺎﺧﻮﺍﺳﺘﻪ ﺩﺭ ﺗﺼﻮﻳﺮ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮﺩ .ﺍﻳﻦ ﻛﺎﺭ ﻣﻌﻤﻮ ﹰﻻ ﺑﺎ ﻓﻴﻠﺘﺮ ﭘﺎﻳﻴﻦ ﮔﺬﺭ ﻗﺎﺑﻞ ﺍﻧﺠﺎﻡ ﺍﺳﺖ ﻛﻪ ﻣﻌﻤﻮ ﹰﻻ ﻣﻘﺪﺍﺭ ﻫﺮ ﭘﻴﻜﺴﻞ ﺭﺍ ﺑﺎ ﻣﻘﺎﺩﻳﺮ ﻣﻴﺎﻧﮕﻴﻦ ﻳﺎ ﻣﺪ ﭘﻴﻜﺴﻞ ﻫﺎﻱ ﺍﻃﺮﺍﻑ ﺁﻥ ﺟﺎﻳﮕﺰﻳﻦ ﻣﻲ ﻛﻨﺪ .ﻓﻴﻠﺘﺮ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻨﺪﻩ ﺍﺯ ﻣﺪ ﺑﺮﺍﻱ ﻧﻮﻳﺰﻫﺎﻱ ﺿﺮﺑﻪ ﺍﻱ ﻣﻨﺎﺳﺐ ﺗﺮ ﺍﺳﺖ ﺯﻳﺮﺍ ﻣﻘﺪﺍﺭ ﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ﺑﻪ ﭘﻴﻜﺴﻞ ﻣﺨﻠﻮﻁ ﺷﺪﻩ ﺑﺎ ﻧﻮﻳﺰ ﺑﺴﺘﮕﻲ ﻧﺪﺍﺭﺩ .ﻓﻴﻠﺘﺮ ﻣﺘﻮﺳﻂ ﮔﻴﺮ ﺑﺮﺍﻱ ﻧﻮﻳﺰﻫﺎﻱ ﻣﺘﻐﻴﺮ ﭘﻴﻮﺳﺘﻪ ﻣﻨﺎﺳﺐ ﺍﺳﺖ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ،ﻳﻚ ﻓﻴﻠﺘﺮ ﻣﻴﺎﻧﮕﻴﻦ ٣×٣ﺩﺭ ﻫﻤﺴﺎﻳﮕﻲ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻓﻴﻠﺘﺮ ﺯﻳﺮ ﺍﺳﺖ: ﺑﺮﺍﻱ ﻛﺎﺭﺍﻳﻲ ﺑﻬﺘﺮ ﻣﻤﻜﻦ ﺍﺳﺖ ﻓﻴﻠﺘﺮ ﺯﻳﺮ ﺍﺳﺘﻔﺎﺩﻩ ﺷﻮﺩ: ﺷﻜﻞ ،٢ﻧﺘﻴﺠﻪ ﺣﺬﻑ ﻧﻮﻳﺰ ﻧﻮﻉ ﻧﻤﻚ ﻭ ﻓﻠﻔﻞ ﺑﺎ ﻓﻴﻠﺘﺮ ﻣﻴﺎﻧﻪ ٣×٣ﺭﺍ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ .ﻧﺘﻴﺠﻪ ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﺩﻣﻮﻱ (nrfiltdemo.m) MATLABﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ﺍﺳﺖ .ﺑﺎ ﻫﻤﺎﻥ ﺑﺮﻧﺎﻣﻪ ﺷﻤﺎ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﻓﻴﻠﺘﺮﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺑﺎ ﺳﺎﻳﺰﻫﺎﻱ ﮔﻮﻧﺎﮔﻮﻥ ﻭ ﺑﺮﺍﻱ ﺍﻧﻮﺍﻉ ﻣﺨﺘﻠﻒ ﻧﻮﻳﺰ ﺭﺍ ﺍﻣﺘﺤﺎﻥ ﻛﻨﻴﺪ .ﻫﻤﭽﻨﻴﻦ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺍﺯ ﺗﺎﺑﻊ conv2ﺑﺮﺍﻱ ﺑﻪ ﻛﺎﺭ ﺑﺮﺩﻥ ﻫﺮ ﻓﻴﻠﺘﺮ ﺧﺎﺻﻲ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ. ﺷﮑﻞ :۲ﺣﺬﻑ ﻧﻮﻳﺰ ﻧﻮﻉ ﻧﻤﻚ ﻭ ﻓﻠﻔﻞ ﺑﺎ ﻓﻴﻠﺘﺮ ﻣﻴﺎﻧﻪ ٣×٣ ﻣﺴﺎﻟﻪ ﻓﻴﻠﺘﺮﻫﺎﻱ ﻣﻴﺎﻧﻴﻦ ﮔﻴﺮ ﻳﺎ ﻣﺪﮔﻴﺮ ﺍﻳﻦ ﺍﺳﺖ ﻛﻪ ﻣﻤﻜﻦ ﺍﺳﺖ ﺗﺼﻮﻳﺮ ﺭﺍ ﺩﺭ ﻟﺒﻪ ﻫﺎ ﺗﺎﺭ ﻛﻨﺪ .ﺯﻣﻴﻨﻪ ﮔﺴﺘﺮﺵ ﺗﻜﻨﻴﻚ ﻫﺎﻱ ﺣﺬﻑ ﻧﻮﻳﺰ ،ﺷﺎﻣﻞ ﺣﺬﻑ ﻣﻮﺛﺮ ﻧﻮﻳﺰ ﺑﺪﻭﻥ ﺗﺎﺭ ﻛﺮﺩﻥ ﻟﺒﻪ ﻫﺎ ﻣﻲ ﺑﺎﺷﺪ .ﺑﻪ ﺍﻳﻦ ﮔﻮﻧﻪ ﻓﻴﻠﺘﺮﻫﺎ ﻣﻌﻤﻮ ﹰﻻ ﻓﻴﻠﺘﺮﻫﺎﻱ ﻫﻤﻮﺍﺭ ﻛﻨﻨﺪﻩ ﺣﻔﻆ ﻛﻨﻨﺪﻩ ﻟﺒﻪ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮﺩ. -٢-٣ﺗﻤﻴﺰ ﻛﺮﺩﻥ ﻟﺒﻪ ﻫﺎ ﻟﺒﻪ ﻫﺎ ﻓﺮﻛﺎﻧﺲ ﻫﺎﻱ ﺑﺎﻻﻱ ﺗﺼﻮﻳﺮ ﻫﺴﺘﻨﺪ ﺩﺭ ﺣﺎﻟﻲ ﻛﻪ ﻧﻮﺍﺣﻲ ﺻﺎﻑ ﻧﻮﺍﺣﻲ ﻓﺮﻛﺎﻧﺲ ﭘﺎﻳﻴﻦ ﺗﺼﻮﻳﺮ ﻫﺴﺘﻨﺪ .ﺑﺮﺍﻱ ﺑﻬﺒﻮﺩ ﻟﺒﻪ ﻫﺎ ،ﻳﻚ ﺭﺍﻫﺒﺮﺩ، ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻓﻴﻠﺘﺮﻫﺎﻱ ﺗﺄﻛﻴﺪ ﻛﻨﻨﺪﻩ ﺑﻪ ﻓﺮﻛﺎﻧﺲ ﻫﺎﻱ ﺑﺎﻻ ﺍﺳﺖ ﻛﻪ ﻣﻮﻟﻔﻪ ﻫﺎﻱ ﻓﺮﻛﺎﻧﺲ ﭘﺎﻳﻴﻦ ﺭﺍ ﻧﮕﻪ ﺩﺍﺭﺩ ﻭﻟﻲ ﻣﻮﻟﻔﻪ ﻫﺎﻱ ﻓﺮﻛﺎﻧﺲ ﺑﺎﻻ ﺭﺍ ﺗﻘﻮﻳﺖ ﻛﻨﺪ. -٢-٤ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﻫﺎ ﻟﺒﻪ ﻫﺎﻱ ﻳﻚ ﺗﺼﻮﻳﺮ ﺳﺎﺧﺘﺎﺭ ﺍﺷﻴﺎﺀ ﺁﻥ ﺭﺍ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ .ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﻳﻚ ﻣﺮﺣﻠﻪ ﭘﻴﺶ ﭘﺮﺩﺍﺯﺵ ﻣﻬﻢ ﺑﺮﺍﻱ ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﺷﻲﺀ ﻭ ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲ ﺑﺎﺷﺪ .ﺑﻪ ﺧﺎﻃﺮ ﺍﻳﻨﻜﻪ ﻟﺒﻪ ﻫﺎ ﺿﺮﻭﺭﺗﹰﺎ ﻣﻮﻟﻔﻪ ﻫﺎﻱ ﻓﺮﻛﺎﻧﺲ ﺑﺎﻻﻱ ﻳﻚ ﺗﺼﻮﻳﺮ ﻫﺴﺘﻨﺪ ،ﺗﺸﺨﻴﺺ ﻟﺒﻪ ﻣﻌﻤﻮ ﹰﻻ ﺑﺎ ﺑﻪ ﻛﺎﺭﮔﻴﺮﻱ ﻓﻴﻠﺘﺮﻫﺎﻱ ﻓﺮﻛﺎﻧﺲ ﺑﺎﻻ ﺍﻧﺠﺎﻡ ﻣﻲ ﺷﻮﺩ ﻛﻪ ﻣﻮﻟﻔﻪ ﻫﺎﻱ ﻓﺮﻛﺎﻧﺲ ﭘﺎﻳﻴﻦ ﺭﺍ ﺟﺬﺏ ﻣﻲ ﻛﻨﺪ ﻭ ﺳﭙﺲ ﻳﻚ ﺁﺳﺘﺎﻧﻪ ﺑﻪ ﻛﺎﺭ ﻣﻲ ﺑﺮﺩ .ﻳﻚ ﺁﺷﻜﺎﺭﺳﺎﺯ ﻟﺒﻪ ﭘﺮﻃﺮﻓﺪﺍﺭ ،ﻋﻤﻠﮕﺮ sobel ﺍﺳﺖ ﻛﻪ ﺍﺯ ﺩﻭ ﻓﻴﻠﺘﺮ ﺯﻳﺮ ﺗﺸﻜﻴﻞ ﺷﺪﻩ ﺍﺳﺖ: ﻓﻴﻠﺘﺮﻫﺎﻱ ﺑﺎﻻ ﺩﻭ ﻓﻴﻠﺘﺮ ﺑﺎﻻﮔﺬﺭ ﺩﺭ ﺟﻬﺖ ﻫﺎﻱ ﺍﻓﻘﻲ ﻭ ﻋﻤﻮﺩﻱ ﻫﺴﺘﻨﺪ .ﺑﺮﺍﻱ ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﻳﻚ ﻟﺒﻪ ﺍﻳﻦ ﺩﻭ ﻓﻴﻠﺘﺮ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﻪ ﻛﺎﺭ ﻣﻲ ﺑﺮﻳﻢ ﻛﻪ ﻋﺪﺩﻱ ﻧﻤﺎﻳﺎﻧﮕﺮ ﻟﺒﻪ ﺍﻓﻘﻲ ﻭ ﻋﻤﻮﺩﻱ ﺑﺮﺍﻱ ﻫﺮ ﭘﻴﻜﺴﻞ ﻣﻲ ﺩﻫﺪ .ﺍﮔﺮ ﺗﻨﻬﺎ ﻋﻼﻗﻤﻨﺪ ﺑﻪ ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﻫﺎﻱ ﺍﻓﻘﻲ ﻫﺴﺘﻴﺪ ﻋﺪﺩ ﻧﻤﺎﻳﺎﻧﮕﺮ ﻟﺒﻪ ﺍﻓﻘﻲ ﺭﺍ ﺑﺎ ﺳﻄﺢ ﺁﺳﺘﺎﻧﻪ ﻣﻘﺎﻳﺴﻪ ﻣﻴﻜﻨﻴﺪ ﻭ ﺁﻥ ﭘﻴﻜﺴﻞ ﺭﺍ ﺑﻪ ﻋﻨﻮﺍﻥ ﻟﺒﻪ ﺩﺭ ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﺪ .ﺍﮔﺮ ﺑﻪ ﻟﺒﻪ ﻫﺎ ﺩﺭ ﺗﻤﺎﻡ ﺟﻬﺎﺕ ﻋﻼﻗﻤﻨﺪﻳﺪ ﺍﻧﺪﺍﺯﻩ ﮔﺮﺍﺩﻳﺎﻥ ﺭﺍ ﺑﺎ ﺣﺴﺎﺏ ﻛﺮﺩﻩ ﻭ ﻳﻚ ﭘﻴﻜﺴﻞ ﺭﺍ ﻟﺒﻪ ﻣﺤﺴﻮﺏ ﻣﻲ ﻛﻨﻴﺪ ﺍﮔﺮ .ﺷﻜﻞ ٣ﻳﻚ ﻣﺜﺎﻝ ﺍﺯ ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ﺑﺎ ﻋﻤﻠﮕﺮ sobelﺭﺍ ﻧﺸﺎﻥ ﻣﻲ ﺩﻫﺪ .ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺑﺮﻧﺎﻣﺔ ﺩﻣﻮﻱ edgedemo.mﻣﻲ ﺗﻮﺍﻧﻴﺪ ﺗﺄﺛﻴﺮ ﺁﺷﻜﺎﺭﺳﺎﺯﻫﺎﻱ ﻟﺒﻪ ﻣﺨﺘﻠﻒ ﺭﺍ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ. ﺷﮑﻞ :۳ﺗﺸﺨﻴﺺ ﻟﺒﻪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻋﻤﻠﮕﺮ Sobel -٣ﺗﻐﻴﻴﺮ ﺍﻧﺪﺍﺯﻩ ﺗﺼﻮﻳﺮ ﺩﺭ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﻣﻮﺍﺭﺩ ﺯﻳﺎﺩﻱ ﭘﻴﺶ ﻣﻲ ﺁﻳﺪ ﻛﻪ ﻻﺯﻡ ﺍﺳﺖ ﻧﺮﺥ ﻧﻤﻮﻧﻪ ﺑﺮﺩﺍﺭﻱ ﺗﺼﻮﻳﺮ ﺗﻐﻴﻴﺮ ﻛﻨﺪ .ﺑﻪ ﻋﻨﻮﺍﻥ ﻣﺜﺎﻝ ﻣﻤﻜﻦ ﺍﺳﺖ ﺗﺼﻮﻳﺮ ﺑﺮﺍﻱ ﺑﻬﺒﻮﺩ ﻧﻤﺎﻳﺶ ،ﻛﻮﭼﻚ ﺷﻮﺩ .ﻳﺎ ﻣﻤﻜﻦ ﺍﺳﺖ ﺗﺼﻮﻳﺮ ﻧﻴﺎﺯ ﺑﻪ ﭼﺮﺧﻴﺪﻥ ﺩﺭ ﺟﻬﺎﺗﻲ ﺑﻪ ﻏﻴﺮ ﻣﻀﺎﺭﺏ ٩٠ﺩﺭﺟﻪ ﺩﺍﺷﺘﻪ ﺑﺎﺷﺪ .ﻛﺎﺭﺑﺮﺩﻫﺎﻱ ﺣﺴﮕﺮ ﺍﺯ ﺭﺍﻩ ﺩﻭﺭ ﻧﻴﺎﺯ ﺑﻪ ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﺗﺼﻮﻳﺮ ﺑﺮﺍﻱ ﺣﺬﻑ ﺍﻋﻮﺟﺎﺝ ﻫﺎﻱ ﺟﻮﻱ ﻳﺎ ﺁﺭﺗﻴﻔﻜﺖﻫﺎﻱ ﻧﺎﺷﻲ ﺍﺯ ﭼﺮﺧﺶ ﺯﻣﻴﻦ ﺩﺍﺭﻧﺪ. ﺗﻐﻴﻴﺮ ﻧﺮﺥ ،ﻫﻤﭽﻨﻴﻦ ،ﻭﺳﻴﻠﻪ ﺍﻱ ﺑﺮﺍﻱ ﺑﻪ ﺩﺳﺖ ﺁﻭﺭﺩﻥ ﺛﺒﺖ ﺯﻳﺮ ﭘﻴﻜﺴﻠﻲ ﺭﺍ ﺍﺯ ﺗﺼﺎﻭﻳﺮ ﺣﺴﮕﺮﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺑﺎ ﺩﻧﺒﺎﻟﻪ ﺗﺼﺎﻭﻳﺮ ﺯﻣﺎﻧﻲ ،ﻓﺮﺍﻫﻢ ﻣﻲ ﻛﻨﺪ. -٣-١ﺍﺻﻮﻝ ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﺗﺼﻮﻳﺮ ﺩﺭ ﺁﺯﻣﺎﻳﺶ ،٢ﺍﺻﻮﻝ ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﻧﻤﻮﻧﻪ ﺑﺮﺩﺍﺭﻱ ﻳﻚ ﺳﻴﮕﻨﺎﻝ ﺻﺤﺒﺖ ﻳﺎ ﺻﺪﺍ ﻛﻪ ﻳﻚ ﺑﻌﺪﻱ ﺑﻮﺩ ﺭﺍ ﻳﺎﺩ ﮔﺮﻓﺘﻴﺪ .ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﺗﺼﻮﻳﺮ ،ﻳﻚ ﻣﺴﺄﻟﻪ ﺗﺒﺪﻳﻞ ﻧﺮﺥ ﻧﻤﻮﻧﻪ ﺑﺮﺩﺍﺭﻱ ﺩﺭ ﺩﻭ ﺑﻌﺪ ﺍﺳﺖ .ﺑﺰﺭﮒ ﻛﺮﺩﻥ ﺗﺼﻮﻳﺮ ﻣﺘﻨﺎﻇﺮ ﺑﺎ up-samplingﻭ ﻛﻮﭼﻚ ﻛﺮﺩﻥ ﺗﺼﻮﻳﺮ ﻣﺘﻨﺎﻇﺮ ﺑﺎ down- samplingﺍﺳﺖ .ﺑﻪ ﻳﺎﺩ ﺩﺍﺷﺘﻪ ﺑﺎﺷﻴﺪ ﻛﻪ ﺩﺭ ﻳﻚ ﺑﻌﺪ up-sampling ،ﺑﺎ ﻗﺮﺍﺭ ﺩﺍﺩﻥ ﺻﻔﺮ ﺑﻴﻦ ﻧﻤﻮﻧﻪ ﻫﺎﻱ ﻣﻌﻠﻮﻡ ﻭ ﺑﻪ ﻛﺎﺭﮔﻴﺮﻱ ﻓﻴﻠﺘﺮ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺮﺍﻱ ﺗﺨﻤﻴﻦ ﻧﻘﺎﻁ ﻧﺎﻣﻌﻠﻮﻡ ﺍﻧﺠﺎﻡ ﻣﻲ ﺷﺪ .ﺑﺮﺍﻱ down-samplingﺑﻪ ﻣﻨﻈﻮﺭ ﺍﺟﺘﻨﺎﺏ ﺍﺯ ﺍﻟﻴﺎﺳﻴﻨﮓ ﺑﺎﻳﺪ ﭘﻴﺶ ﻓﻴﻠﺘﺮ ﺑﺮ ﺭﻭﻱ ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ﺑﻪ ﻛﺎﺭ ﺑﺮﺩﻩ ﺷﻮﺩ ﺗﺎ ﻓﺮﻛﺎﻧﺲ ﻫﺎﻱ ﺑﺎﻻﺗﺮ ﺍﺯ ﻧﺼﻒ ﻧﺮﺥ ﻧﻤﻮﻧﻪ ﺑﺮﺩﺍﺭﻱ ﺟﺪﻳﺪ ﺭﺍ ﺣﺬﻑ ﻛﻨﺪ .ﺍﻳﻦ ﺍﺻﻮﻝ ﺑﺮﺍﻱ ﺣﺎﻟﺖ ﺩﻭﺑﻌﺪﻱ ﻫﻢ ﻛﺎﺭﺑﺮﺩ ﺩﺍﺭﺩ .ﻣﻲ ﺗﻮﺍﻥ ﻣﺴﺘﻘﻴﻤﹰﺎ ﻳﻚ ﻓﻴﻠﺘﺮ ٢ﺑﻌﺪﻱ ﺑﻪ ﻛﺎﺭ ﺑﺮﺩ ﻳﺎ ﻣﻲ ﺗﻮﺍﻥ ﺍﺑﺘﺪﺍ ﻳﻚ ﻓﻴﻠﺘﺮ ﻳﻚ ﺑﻌﺪﻱ ﺑﺮ ﺭﻭﻱ ﺳﻄﺮﻫﺎ ﻭ ﺳﭙﺲ ﺑﺮ ﺭﻭﻱ ﺳﺘﻮﻥ ﻫﺎ ﺑﻪ ﻛﺎﺭ ﺑﺮﺩ .ﻣﻮﺭﺩ ﺍﺧﻴﺮ، ﭘﺮﺩﺍﺯﺵ ﻣﺠﺰﺍ ﻧﺎﻣﻴﺪﻩ ﻣﻲ ﺷﻮﺩ ﻛﻪ ﺍﺯ ﻧﻈﺮ ﻣﺤﺎﺳﺒﺎﺗﻲ ﺍﺯ ﭘﺮﺩﺍﺯﺵ ٢ﺑﻌﺪﻱ ﻣﺴﺘﻘﻴﻢ ﻛﺎﺭﺍﺗﺮ ﺍﺳﺖ. ﻫﻤﺎﻥ ﻃﻮﺭ ﻛﻪ ﺩﺭ ﺁﺯﻣﺎﻳﺶ ٢ﻳﺎﺩ ﮔﺮﻓﺘﻴﺪ ،ﭘﻴﺶ ﻓﻴﻠﺘﺮ ﻭ ﻓﻴﻠﺘﺮﻫﺎﻱ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺎﻳﺪ ﻓﻴﻠﺘﺮﻫﺎﻱ ﭘﺎﻳﻴﻦ ﮔﺬﺭ ﺍﻳﺪﻩ ﺁﻝ ﺑﺎﺷﻨﺪ .ﻣﺘﺄﺳﻔﺎﻧﻪ ﺍﻳﻦ ﻓﻴﻠﺘﺮﻫﺎ ﻗﺎﺑﻞ ﺗﺤﻘﻖ ﻧﻴﺴﺘﻨﺪ ﺯﻳﺮﺍ ﻧﻤﻮﻧﻪ ﻫﺎﻱ ﻧﺎﻣﺤﺪﻭﺩﻱ ﺭﺍ ﺩﺭ ﺑﺮ ﻣﻲﮔﻴﺮﻧﺪ .ﺩﺭ ﻋﻤﻞ ﻓﻴﻠﺘﺮﻫﺎﻱ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﺑﺮﺍﻱ ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﺗﺼﻮﻳﺮ ﺑﺴﻴﺎﺭ ﺳﺎﺩﻩ ﺗﺮ ﺍﺯ ﺭﺍﻩ ﺣﻞ ﻫﺎﻱ ﺗﺌﻮﺭﻱ ﻫﺴﺘﻨﺪ .ﺩﺭ ﺍﺩﺍﻣﻪ ﺗﻌﺪﺍﺩﻱ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﺤﺒﻮﺏ ﺭﺍ ﺗﻮﺿﻴﺢ ﻣﻲ ﺩﻫﻴﻢ. ﺑﻪ ﻃﻮﺭ ﻛﻠﻲ ،ﻳﻚ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻘﺎﺩﻳﺮ ﺟﺪﻳﺪﻱ ﺭﺍ ﺑﺮ ﺍﺳﺎﺱ ﻣﺠﻤﻮﻋﻪ ﺍﻱ ﺍﺯ ﭘﻴﻜﺴﻞ ﻫﺎﻱ ﻭﺭﻭﺩﻱ ﺗﻮﻟﻴﺪ ﻣﻲ ﻛﻨﺪ .ﺗﻌﺪﺍﺩ ﭘﻴﻜﺴﻞ ﻫﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺳﻬﻢ ﺁﻧﻬﺎ ﺩﺭ ﻣﻘﺪﺍﺭ ﭘﻴﻜﺴﻞ ﺟﺪﻳﺪ ﻓﻴﻠﺘﺮ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺭﺍ ﻣﻌﻴﻦ ﻣﻲ ﻛﻨﺪ .ﻳﻚ ﻋﺎﻣﻞ ﺩﺭ ﺗﻌﻴﻴﻦ ﻓﻴﻠﺘﺮ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻨﺎﺳﺐ ،ﻣﻘﺪﺍﺭ ﺯﻣﺎﻥ ﻣﻮﺭﺩﻧﻴﺎﺯ ﺑﺮﺍﻱ ﺗﻮﻟﻴﺪ ﺧﺮﻭﺟﻲ ﺍﺳﺖ .ﻫﺮ ﭼﻪ ﺗﺎﺑﻊ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺳﺎﺩﻩ ﺗﺮ ،ﻣﻘﺪﺍﺭ ﺯﻣﺎﻥ ﻣﻮﺭﺩﻧﻴﺎﺯ ﺑﺮﺍﻱ ﺗﻮﻟﻴﺪ ﺧﺮﻭﺟﻲ ﻛﻢ ﺗﺮ ﺍﺳﺖ .ﻫﺮ ﭼﻪ ﺗﺎﺑﻊ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﻪ ﺗﺎﺑﻊ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺍﻳﺪﻩ ﺁﻝ ﭘﻴﭽﻴﺪﻩ ﺗﺮ ﻣﻲ ﺷﻮﺩ ﺑﻪ ﺯﻣﺎﻥ ﭘﺮﺩﺍﺯﺵ ﺑﻴﺸﺘﺮﻱ ﻧﻴﺎﺯ ﺩﺍﺭﺩ .ﺑﺮﺍﻱ ﺑﻴﺸﺘﺮ ﻛﺎﺭﺑﺮﺩﻫﺎ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺎ ﺍﺳﭙﻼﻳﻦ ﻣﻜﻌﺒﻲ ﻛﻔﺎﻳﺖ ﻣﻲ ﻛﻨﺪ. -٣-٢ﺩﺭﻭﻧﻴﺎﺑﻲ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ )ﻳﺎ ﺗﻜﺮﺍﺭ ﭘﻴﻜﺴﻞ( ﺩﺭ ﺍﻳﻦ ﺭﻭﺵ ،ﭘﻴﻜﺴﻞ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺷﺪﻩ ﺟﺪﻳﺪ ﻣﻘﺪﺍﺭ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﭘﻴﻜﺴﻞ ﺍﺯ ﺗﺼﻮﻳﺮ ﻭﺭﻭﺩﻱ ﺭﺍ ﻣﻲﮔﻴﺮﺩﻭ ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﺷﻮﺩ ﻛﻪ M ﻓﺎﻛﺘﻮﺭ ﺯﻭﻣﻴﻨﮓ ﻳﺎ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺍﺳﺖ )ﺷﻜﻞ :(٤ ﺍﻳﻦ ﺭﻭﺵ ﺧﻴﻠﻲ ﺳﺎﺩﻩ ﺍﺳﺖ .ﺍﮔﺮ Mﺑﺰﺭﮒ ﺑﺎﺷﺪ ﺗﺼﻮﻳﺮ ﺯﻭﻡ ﺷﺪﻩ ﺩﺍﺭﺍﻱ ﺍﺛﺮ ﺑﻠﻮﻛﻴﻨﮓ ﺷﺪﻳﺪ ﺍﺳﺖ. ﺷﮑﻞ :۴ﻋﻤﻞ ﺩﺭﻭﻧﻴﺎﺑﻲ -٣-٣ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ﺑﺎ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ،ﻣﻘﺪﺍﺭ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺷﺪﻩ ﺟﺪﻳﺪ ،ﺟﻤﻊ ﻭﺯﻥ ﺩﺍﺭ ﭼﻬﺎﺭ ﻫﻤﺴﺎﻳﮕﻲ ﻛﻨﺎﺭﻱ ﭘﻴﻜﺴﻞ ﺍﺳﺖ .ﻭﺯﻥ ﻫﺎ ﺑﻪ ﻃﻮﺭ ﻣﻌﻜﻮﺱ ﺑﺎ ﻓﺎﺻﻠﻪ ﺍﺯ ﻣﻜﺎﻥ ﻫﺮ ﭘﻴﻜﺴﻞ ﻣﺘﻨﺎﺳﺐ ﻫﺴﺘﻨﺪ .ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ،ﺗﺼﻮﻳﺮ ﺑﺴﻴﺎﺭ ﻫﻤﻮﺍﺭﺗﺮﻱ ﺍﺯ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﮕﻲ ﺗﻮﻟﻴﺪ ﻣﻲ ﻛﻨﺪ .ﺍﮔﺮ ﭼﻪ ﻧﻴﺎﺯ ﺑﻪ ﺯﻣﺎﻥ ﭘﺮﺩﺍﺯﺵ ﺑﻴﺸﺘﺮﻱ ﻧﺴﺒﺖ ﺑﻪ ﺭﻭﺵ ﻗﺒﻠﻲ ﺩﺍﺭﺩ ،ﻛﻴﻔﻴﺖ ﻧﻬﺎﻳﻲ ﺗﺼﻮﻳﺮ ﺧﺮﻭﺟﻲ ﺑﻪ ﺷﺪﺕ ﺑﻬﺘﺮ ﻣﻲ ﺷﻮﺩ .ﺍﺯ ﻧﻈﺮ ﺭﻳﺎﺿﻲ ،ﺍﻟﮕﻮﺭﻳﺘﻢ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ﺑﺎ ﻣﻌﺎﺩﻟﻪ ﺯﻳﺮ ﻧﺸﺎﻥ ﺩﺍﺩﻩ ﻣﻲ ﺷﻮﺩ )ﺷﻜﻞ ٤-bﺭﺍ ﺑﺒﻴﻨﻴﺪ(. ﺩﺭ ﻣﻌﺎﺩﻟﻪ ﺑﺎﻻ ٤ﺿﺮﺏ ﺑﺮﺍﻱ ﻫﺮ ﻧﻤﻮﻧﻪ ﻧﻴﺎﺯ ﺍﺳﺖ .ﺑﺮﺍﻱ ﻛﺎﻫﺶ ﻣﺤﺎﺳﺒﺎﺕ ،ﻣﻲ ﺗﻮﺍﻥ ﻫﻤﺎﻥ ﻣﺤﺎﺳﺒﺎﺕ ﺭﺍ ﺑﺎ ﻋﻤﻠﮕﺮﻫﺎﻱ ﺟﺪﺍﭘﺬﻳﺮ ﺍﻧﺠﺎﻡ ﺩﺍﺩ. ﺩﺭ ﺍﺑﺘﺪﺍ ،ﺑﺮﺍﻱ ﻫﺮ ﺭﺩﻳﻒ ﺩﺭ ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ﺑﻪ ﺻﻮﺭﺕ ﺍﻓﻘﻲ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺎ ﻓﺎﻛﺘﻮﺭ Mﺍﻧﺠﺎﻡ ﻣﻲﺷﻮﺩ: ﺳﭙﺲ ﺑﺮﺍﻱ ﻫﺮ ﺭﺩﻳﻒ ﺩﺭ ﺗﺼﻮﻳﺮﺣﺎﺻﻞ ﺑﻪ ﺻﻮﺭﺕ ﻋﻤﻮﺩﻱ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺎ ﻓﺎﻛﺘﻮﺭ Mﺍﻧﺠﺎﻡ ﻣﻲﺷﻮﺩ: ﺷﻤﺎ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ ﻛﻪ ﭼﻨﺪ ﻋﻤﻞ ﺑﺮﺍﻱ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻳﻚ ﺗﺼﻮﻳﺮ ﺑﺎ ﺭﻭﺵ ﻣﺴﺘﻘﻴﻢ ﻳﺎ ﺟﺪﺍﭘﺬﻳﺮ ﻧﻴﺎﺯ ﺍﺳﺖ. -٣-٤ﺩﺭﻭﻧﻴﺎﺑﻲ ﺍﺳﭙﻼﻳﻦ ﻣﻜﻌﺒﻲ ﺑﺎ ﺍﻳﻦ ﺭﻭﺵ ،ﻣﻘﺪﺍﺭ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺷﺪﻩ ﺍﺯ ﻳﻚ ﭘﻨﺠﺮﻩ ٤×٤ﺩﺭ ﺗﺼﻮﻳﺮ ﻭﺭﻭﺩﻱ ﺑﻪ ﺑﺪﺳﺖ ﻣﻲ ﺁﻳﺪ .ﻧﺘﻴﺠﺘﺎﹰ ،ﺗﺼﻮﻳﺮ ﺧﺮﻭﺟﻲ ﭘﻴﻮﺳﺘﻪ ﺗﺮ ﻭ ﻫﻤﻮﺍﺭﺗﺮ ﺍﺳﺖ .ﺧﻮﺷﺒﺨﺘﺎﻧﻪ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻜﻌﺒﻲ ﻳﻚ ﺗﺎﺑﻊ ﺟﺪﺍﭘﺬﻳﺮ ﺍﺳﺖ ﺑﻨﺎﺑﺮﺍﻳﻦ ﻳﻚ ﺗﺎﺑﻊ ﻳﻚ ﺑﻌﺪﻱ ﻣﻲ ﺗﻮﺍﻧﺪ ﭘﺸﺖ ﺳﺮ ﻫﻢ ﺩﺭ ﺩﻭ ﺟﻬﺖ ﻋﻤﻮﺩﻱ ﻭ ﺍﻓﻘﻲ ﺑﻪ ﻛﺎﺭ ﺑﺮﻭﺩ .ﻓﺮﻣﻮﻝ ﺯﻳﺮ ﻓﻴﻠﺘﺮ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻜﻌﺒﻲ ﺩﻭﺑﻌﺪﻱ ﺭﺍ ﺷﺮﺡ ﻣﻲ ﺩﻫﺪ .ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ﺍﻳﻦ ﻛﺎﺭ ﺩﺭ ﺩﻭ ﻣﺮﺣﻠﻪ ﺍﻧﺠﺎﻡ ﻣﻲ ﺷﻮﺩ ،ﺩﺭ ﺍﺑﺘﺪﺍ ﺟﻬﺖ xﻭ ﺳﭙﺲ ﺟﻬﺖ . y -٣-٥ﻣﻘﺎﻳﺴﻪ ﺭﻭﺵ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ MATLAB ﺟﻌﺒﻪ ﺍﺑﺰﺍﺭ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ MATLABﺳﻪ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺭﺍ ﻣﻬﻴﺎ ﻣﻲ ﻛﻨﺪ: • ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ • ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ • ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻜﻌﺒﻲ ﻼ ﺑﺤﺚ ﻛﺮﺩﻳﻢ ،ﺩﺭﻭﻧﻴﺎﺑﻲ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﮕﻲ ﻳﻚ ﺳﻄﺢ ﺛﺎﺑﺖ ﻗﻄﻌﻪ ﺍﻱ ﺭﺍ ﺑﻴﻦ ﻣﻘﺎﺩﻳﺮ ﭘﻴﻜﺴﻞ ﻫﺎ ﺟﺎﻱ ﻣﻲ ﺩﻫﺪ .ﻣﻘﺪﺍﺭ ﻫﻤﺎﻥ ﻃﻮﺭ ﻛﻪ ﻗﺒ ﹰ ﭘﻴﻜﺴﻞ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺷﺪﻩ ،ﻫﻤﺎﻥ ﻣﻘﺪﺍﺭ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﭘﻴﻜﺴﻞ ﺍﺳﺖ .ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ﻳﻚ ﺳﻄﺢ ﺧﻄﻲ ﺭﺍ ﺑﻴﻦ ﻣﻘﺎﺩﻳﺮ ﭘﻴﻜﺴﻞ ﻣﻮﺟﻮﺩ ﺟﺎﻱ ﻣﻲﺩﻫﺪ .ﺍﻳﻦ ﺩﺭﻭﻧﻴﺎﺑﻲ ،ﻗﻄﻌﻪ ﺍﻱ ﺧﻄﻲ ﺍﺳﺖ ﻭ ﺳﺮﻳﻌﺘﺮ ﺍﺯ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻜﻌﺒﻲ ﺍﺳﺖ .ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻜﻌﺒﻲ ،ﻳﻚ ﺳﻄﺢ ﻣﻜﻌﺒﻲ ﺭﺍ ﺑﻴﻦ ﻣﻘﺎﺩﻳﺮ ﻣﻮﺟﻮﺩ ﺟﺎﻱ ﻣﻲ ﺩﻫﺪ. ﻣﻘﺪﺍﺭ ﭘﻴﻜﺴﻞ ﺟﺪﻳﺪ ﺍﺯ ﺭﻭﻱ ١٦ﻫﻤﺴﺎﻳﮕﻲ ﺁﻥ ﺑﻪ ﺩﺳﺖ ﻣﻲ ﺁﻳﺪ .ﺍﻳﻦ ﺭﻭﺵ ﻗﻄﻌﻪ ﺍﻱ ﻣﻜﻌﺒﻲ ﺍﺳﺖ ﻭ ﺳﻄﺤﻲ ﺑﺴﻴﺎﺭ ﻫﻤﻮﺍﺭﺗﺮ ﺍﺯ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ﺍﻳﺠﺎﺩ ﻣﻲ ﻛﻨﺪ .ﺷﻜﻞ ٥ﺍﻳﻦ ﺳﻪ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺭﺍ ﻣﻘﺎﻳﺴﻪ ﻣﻲ ﻛﻨﺪ ﺍﻳﻦ ﺷﻜﻞ ﺑﺎ ﺩﺳﺘﻮﺭﺍﺕ MATLABﺯﻳﺮ ﺗﻮﻟﻴﺪ ﻣﻲ ﺷﻮﺩ: ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﻳﻚ ﺭﻭﺵ ﺑﺎ ﺍﺭﺯﺵ ﺩﺭ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﺍﺳﺖ .ﻛﺎﺭﺍﻳﻲ ﺁﻥ ﺑﺎ ﺗﺎﺑﻊ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﺗﻌﻴﻴﻦ ﻣﻲ ﺷﻮﺩ .ﺩﺭﻭﻧﻴﺎﺑﻲ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﮕﻲ ﺧﺼﻮﺻﹰﺎ ﺑﺮﺍﻱ ﺗﺼﺎﻭﻳﺮ ﺩﻭﺩﻭﻳﻲ ﺑﻪ ﺧﺎﻃﺮ ﻋﺪﻡ ﻭﺟﻮﺩ ﺳﻄﻮﺡ ﻣﻴﺎﻧﻲ ﻣﻨﺎﺳﺐ ﺍﺳﺖ .ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ﺳﺮﻳﻊ ﻭ ﺑﺎ ﻧﺘﺎﻳﺞ ﺧﻮﺏ ﺍﺳﺖ. ﺩﺭﻭﻧﻴﺎﺑﻲ ﺍﺳﭙﻼﻳﻦ ﻣﻜﻌﺒﻲ ﺑﻬﺘﺮﻳﻦ ﺍﺳﺖ ﻭﻟﻲ ﺯﻣﺎﻥ ﻣﻮﺭﺩﻧﻴﺎﺯ ﺁﻥ ﺩﺭ ﺻﻮﺭﺕ ﺑﺰﺭﮒ ﺑﻮﺩﻥ ﺗﺼﻮﻳﺮ ،ﺯﻳﺎﺩ ﺍﺳﺖ .ﺍﻧﺘﺨﺎﺏ ﻣﻨﺎﺳﺐ ﺑﻪ ﻛﺎﺭﺑﺮﺩ ﻣﻮﺭﺩﻧﻈﺮ ﻭﺍﺑﺴﺘﻪ ﺍﺳﺖ. ﺷﮑﻞ :۵ﻣﻘﺎﻳﺴﻪ ﻣﺘﺪ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺁﺯﻣﺎﻳﺶ ﻫﺎ -۱ﺗﻐﻴﻴﺮ ﻧﺮﺥ ﺗﺼﻮﻳﺮ ﺑﺎ MATLAB -۱-۱ﺩﺳﺘﻮﺭ imresizeﺭﺍ ﺩﺭ MATLABﺑﺨﻮﺍﻧﻴﺪ ﻭ ﺑﺎ ﻧﺤﻮﻩ ﻋﻤﻠﮑﺮﺩ ﺁﻥ ﺁﺷﻨﺎ ﺷﻮﻳﺪ. -٢-١ﻳﮏ ﺗﺼﻮﻳﺮ ﺳﻴﺎﻩ ﻭ ﺳﻔﻴﺪ ﺭﺍ ﺩﺭ MATLABﺧﻮﺍﻧﺪﻩ ﻭ ﺑﺎ ﻓﺎﻛﺘﻮﺭ ٢ﺑﺪﻭﻥ ﭘﻴﺶ ﻓﻴﻠﺘﺮ ﻧﺮﺥ ﺁﻥ ﺭﺍ ﻛﻢ ﻛﻨﻴﺪ ﻭ ﺳﭙﺲ ﺑﺎ ﻓﺎﻛﺘﻮﺭ ٢ﺁﻧﺮﺍ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺳﻪ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺑﺰﺭﮒ ﻛﻨﻴﺪ ،ﺑﻪ ﺭﻭﺵ ﺯﻳﺮ ﺟﻠﻮ ﺑﺮﻭﻳﺪ .ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﻣﻤﮑﻦ ﺍﺳﺖ ﺩﺭ ﺍﻳﻦ ﻣﺮﺣﻠﻪ ،ﺑﻪ ﺩﻟﻴﻞ ﻧﻤﻮﻧﻪﺑﺮﺩﺍﺭﻱ ﮐﺎﻫﺸﻲ، ﭘﺪﻳﺪﻩ aliasingﺑﺮﺍﻱ ﺗﺼﻮﻳﺮ ﺍﺗﻔﺎﻕ ﺑﻴﻔﺘﺪ .ﺑﺮﺍﻱ ﺟﻠﻮﮔﻴﺮﻱ ﺍﺯ ﺍﻳﻦ ﺍﻣﺮ ،ﻣﻤﮑﻦ ﺍﺳﺖ MATLABﺑﻪ ﻃﻮﺭ ﭘﻴﺶﻓﺮﺽ ﻳﮏ ﻓﻴﻠﺘﺮ ﭘﺎﻳﻴﻦ ﮔﺬﺭ ﺭﺍ ﺭﻭﻱ ﺗﺼﻮﻳﺮ ﺍﻋﻤﺎﻝ ﻧﻤﺎﻳﺪ .ﺷﻤﺎ ﺩﺭ ﺍﻳﻦ ﻣﺮﺣﻠﻪ ﻧﺒﺎﻳﺪ ﺍﺯ ﺍﻳﻦ ﻓﻴﻠﺘﺮ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﺎﻳﻴﺪ ).ﺑﺮﺍﻱ ﺍﻃﻼﻉ ﺑﻴﺸﺘﺮ ﮔﺰﻳﻨﻪ ' 'Antialiasingﺭﺍ ﺩﺭ ﺩﺳﺘﻮﺭ imresize ﺑﺨﻮﺍﻧﻴﺪ(. • ﺗﺼﻮﻳﺮ ﺭﺍ ﺑﺨﻮﺍﻧﻴﺪ. • ﺗﺼﻮﻳﺮ ﺭﺍ ﺑﺎ ﻓﺎﻛﺘﻮﺭ ٢ﺩﺭ ﻫﺮ ﺩﻭ ﺟﻬﺖ ﺍﻓﻘﻲ ﻭ ﻋﻤﻮﺩﻱ ﺑﺪﻭﻥ ﻓﻴﻠﺘﺮ ﻛﻮﭼﻚ ﻛﻨﻴﺪ. • ﺗﺼﻮﻳﺮ ﺣﺎﺻﻞ ﺭﺍ ﺑﺎ ﻓﺎﻛﺘﻮﺭ ٢ﺑﺰﺭﮒ ﻛﻨﻴﺪ ،ﺍﺯ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻧﺰﺩﻳﻜﺘﺮﻳﻦ ﻫﻤﺴﺎﻳﻪ ﻧﻴﺰ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ. • ﺗﺼﻮﻳﺮ ﺣﺎﺻﻞ ﺭﺍ ﺩﺭ ﻳﻚ ﻓﺎﻳﻞ ﺫﺧﻴﺮﻩ ﻛﻨﻴﺪ. • ﺍﺧﺘﻼﻑ ﺑﻴﻦ ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ﻭ ﺗﺼﻮﻳﺮ ﭘﺲ ﺍﺯ ﻛﻮﭼﻚ ﻭ ﺑﺰﺭﮒ ﺷﺪﻥ ﺭﺍ ﭘﻴﺪﺍ ﻛﻨﻴﺪ ﻭ ﺗﺼﻮﻳﺮ ﺍﺧﺘﻼﻑ ﺭﺍ ﺍﺯ ﺭﻭﻱ ﺗﻔﺎﺿﻞ ﭘﻴﻜﺴﻞ ﺑﻪ ﭘﻴﻜﺴﻞ ﺩﻭ ﺗﺼﻮﻳﺮ ﭘﻴﺪﺍ ﻛﻨﻴﺪ. • ﻓﺮﺁﻳﻨﺪ ﺑﺎﻻ ﺭﺍ ﺑﺎ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﺧﻄﻲ ﺗﻜﺮﺍﺭ ﻛﻨﻴﺪ. • ﻓﺮﺍﻳﻨﺪ ﺑﺎﻻ ﺭﺍ ﺑﺎ ﺭﻭﺵ ﺩﺭﻭﻧﻴﺎﺑﻲ ﻣﻜﻌﺒﻲ ﺗﻜﺮﺍﺭ ﻛﻨﻴﺪ. ﻧﺘﺎﻳﺞ ﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ﺍﺯ ﺳﻪ ﺭﻭﺵ ﺭﺍ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ .ﺍﻳﻦ ﻣﻘﺎﻳﺴﻪ ﺑﺮ ﺣﺴﺐ ﺗﺼﺎﻭﻳﺮ ﻛﻮﭼﻚ /ﺑﺰﺭﮒ ﺷﺪﻩ ﻭ ﺍﺧﺘﻼﻑ ﺗﺼﺎﻭﻳﺮ ﺑﺎﺷﺪ. ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ﻭ ﭘﺮﺩﺍﺯﺵ ﺷﺪﻩ )ﺑﻌﺪ ﺍﺯ ﻛﺎﻫﺶ ﻭ ﺍﻓﺰﺍﻳﺶ ﻧﺮﺥ( ﻭ ﺗﺼﻮﻳﺮ ﺍﺧﺘﻼﻑ ﺭﺍ ﺩﺭ ﮔﺰﺍﺭﺷﺘﺎﻥ ﺑﻴﺎﻭﺭﻳﺪ. ﺑﻪ ﺍﺧﺘﻼﻑ ﺯﻣﺎﻥ ﺍﺟﺮﺍﻱ ﻫﺮ ﺭﻭﺵ ﺩﺭ ﮔﺰﺍﺭﺷﺘﺎﻥ ﺍﺷﺎﺭﻩ ﻛﻨﻴﺪ. -٣-١ﻣﺮﺍﺣﻞ ﻗﺒﻠﻲ ﺭﺍ ﺑﺎ ﺍﻋﻤﺎﻝ ﻓﻴﻠﺘﺮ ﭘﺎﻳﻴﻦ ﮔﺬﺭ ﺑﺮ ﺭﻭﻱ ﺗﺼﻮﻳﺮ ﺍﻧﺠﺎﻡ ﺩﻫﻴﺪ) ﮔﺰﻳﻨﻪ ' 'Antialiasingﺭﺍ trueﮐﻨﻴﺪ .(.ﻧﺘﺎﻳﺞ ﺭﻭﺵ ﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺭﺍ ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ .ﻫﻤﭽﻨﻴﻦ ﺑﺎ ﻧﺘﺎﻳﺞ ﺑﻪ ﺩﺳﺖ ﺁﻣﺪﻩ ﺩﺭ ٢-١ﻣﻘﺎﻳﺴﻪ ﻛﻨﻴﺪ. -٢ﺑﻬﺒﻮﺩ ﺗﺼﻮﻳﺮ ﺑﺎ ﺍﺳﺘﻔﺎﻩ ﺍﺯ ﺑﺮﻧﺎﻣﻪ ﻫﺎﻱ ﺩﻣﻮﻱ MATLAB -١-٢ﺑﺎ ﺑﺮﻧﺎﻣﻪ imadjdemoﺑﺎﺯﻱ ﻛﻨﻴﺪ .ﺗﺄﺛﻴﺮ ﺍﺑﺰﺍﺭ ﻣﺨﺘﻠﻒ ﺑﻬﺒﻮﺩ ﻛﺎﻧﺘﺮﺍﺳﺖ ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﻛﻨﻴﺪ )ﺑﺮﺍﻱ ﺩﻭ ﺗﺼﻮﻳﺮ ﻣﺨﺘﻠﻒ( .ﺑﺮﺍﻱ ﻫﺮ ﺗﺼﻮﻳﺮ ﺭﻭﺵ ﺑﻬﺒﻮﺩ ﺭﺍ ﻣﻌﻴﻦ ﻛﻨﻴﺪ) .ﺑﺮﺍﻱ ﺗﻨﻈﻴﻢ ﻣﻘﺎﺩﻳﺮ ،ﻧﻴﺎﺯ ﺑﻪ ﭘﻴﺪﺍ ﻛﺮﺩﻥ ﺑﻬﺘﺮﻳﻦ ﺗﻨﺎﻇﺮ ﺑﻪ ﻭﺳﻴﻠﻪ ﺳﻌﻲ ﻭ ﺧﻄﺎ ﺩﺍﺭﻳﺪ( .ﺩﺭ ﮔﺰﺍﺭﺷﺘﺎﻥ ،ﻧﺘﺎﻳﺞ ﺑﻬﺘﺮﻳﻦ ﺭﻭﺵ ﺑﺮﺍﻱ ﻫﺮ ﺗﺼﻮﻳﺮ ﺭﺍ ﺍﺭﺍﺋﻪ ﺩﻫﻴﺪ .ﻣﺸﺎﻫﺪﺍﺕ ﺧﻮﺩ ﺭﺍ ﺍﺯ ﻧﻘﺎﻁ ﻣﺜﺒﺖ ﻭ ﻣﻨﻔﻲ ﺭﻭﺵﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺍﺭﺍﺋﻪ ﺩﻫﻴﺪ .ﺗﻮﺟﻪ ﻭﻳﮋﻩ ﺑﻪ ﺗﻐﻴﻴﺮﺍﺕ ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺑﻜﻨﻴﺪ. -٢-٢ﺣﺎﻝ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﮐﺪ ﺯﻳﺮ،ﻫﻴﺴﺘﻮﮔﺮﺍﻡ ﺗﺼﻮﻳﺮﻫﺎﻱ ﺩﻟﺨﻮﺍﻩ ﺧﻮﺩ ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﻭ ﺁﻥﻫﺎ ﺭﺍ ﺗﻐﻴﻴﺮ ﺩﻫﻴﺪ .ﺗﻮﺟﻪ ﮐﻨﻴﺪ ﮐﻪ ﺗﺼﻮﻳﺮ ﻭﺭﻭﺩﻱ ﺷﻤﺎ، ﻧﺒﺎﻳﺪ ﺭﻧﮕﻲ ﺑﺎﺷﺪ. ;)' filename=input('insert file name: ;)f=imread(filename ;)imshow(f ;)figure,imhist(f ;)'ylim('auto ;)g=histeq(f,256 ;)figure,imshow(g ;)figure,imhist(g ;)'ylim('auto -٣-٢ﺑﺎ ﺑﺮﻧﺎﻣﻪ nrfiltdemoﺑﺎﺯﻱ ﻛﻨﻴﺪ .ﺗﺄﺛﻴﺮ ﺍﺑﺰﺍﺭﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺣﺬﻑ ﻧﻮﻳﺰ ﺑﺮﺍﻱ ﻫﺮ ﻳﻚ ﺍﺯ ﺳﻪ ﻧﻮﻉ ﻧﻮﻳﺰ )ﻛﻪ ﺑﺎ ﻣﻘﺎﺩﻳﺮ ﭘﻴﺶ ﻓﺮﺽ ﻳﺎ ﻣﻘﺎﺩﻳﺮ ﺍﻧﺘﺨﺎﺑﻲ ﺷﻤﺎ ﺗﻮﻟﻴﺪ ﺷﺪﻩﺍﻧﺪ( ﺭﺍ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ .ﺑﺮﺍﻱ ﻫﺮ ﻧﻮﻉ ﻧﻮﻳﺰ ،ﺭﻭﺷﻲ ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﻧﺘﻴﺠﻪ ﺭﺍ ﻣﻲ ﺩﻫﺪ ﻳﺎﺩﺩﺍﺷﺖ ﻛﻨﻴﺪ. -٤-٢ﻣﺰﺍﻳﺎ ،ﻣﻌﺎﻳﺐ ﻭ ﮐﺎﺭﺑﺮﺩ ﻫﺮ ﻳﮏ ﺍﺯ ﻓﻴﻠﺘﺮﻫﺎﻱ ﺑﻪ ﮐﺎﺭ ﺭﻓﺘﻪ ﺭﺍ ﺷﺮﺡ ﺩﻫﻴﺪ. -٥-٢ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﮐﺪ ﺯﻳﺮ ،ﻧﻮﻳﺰﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﺗﺼﺎﻭﻳﺮ ﺩﻟﺨﻮﺍﻩ ﻭﺭﻭﺩﻱ ﺍﻣﺘﺤﺎﻥ ﮐﻨﻴﺪ .ﺳﭙﺲ ﺑﺮﺍﻱ ﻫﺮ ﻳﮏ ﺍﺯ ﺍﻳﻦ ﻧﻮﻳﺰﻫﺎ ﻓﻴﻠﺘﺮ ﻣﻨﺎﺳﺐ ﺟﻬﺖ ﺣﺬﻑ ﻧﻮﻳﺰ ﺭﺍ ﺑﻪ ﮐﺎﺭ ﺑﺮﻳﺪ. ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ helpﺩﺭ ،MATLABﻧﺤﻮﻩ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﺳﺘﻮﺭﺍﺕ medfilt2 ،imfilter ، imnoiseﻭ wiener2ﺭﺍ ﺑﺒﻴﻨﻴﺪ .ﭘﺎﺭﺍﻣﺘﺮﻫﺎﻱ ﻧﻮﻳﺰﻫﺎ ﻭ ﻓﻴﻠﺘﺮﻫﺎ) ﻣﺎﻧﻨﺪ ﺍﻧﺪﺍﺯﻩ ﭘﻨﺠﺮﻩ ﻓﻴﻠﺘﺮ( ﺭﺍ ﺗﻐﻴﻴﺮ ﺩﻫﻴﺪ ﻭ ﺗﺎﺛﻴﺮ ﻫﺮ ﻳﮏ ﺭﺍ ﺑﺮ ﺧﺮﻭﺟﻲ ﺑﺒﻴﻨﻴﺪ. ;)' filename=input('insert file name: ;)f=imread(filename ;) ' t=input('insert type of noise(salt & pepper,speckle,gaussian): ;)f1=imnoise(f,t ;) ' fil=input('insert type of filter(mean, median,adaptive): switch fil 'case 'mean !%you can use lines 9 & 10 or line 11 for your filter ;)w=(1/9)*ones(3 ;)'f2=imfilter(f1,w, 'conv','replicate ;%f2 = filter2(fspecial('average',3),f1)/255 'case 'median ;)]f2=medfilt2(f1,[3 3 'case 'adaptive ;)]f2=wiener2(f1,[3 3 end ;)figure; imshow(f ;)figure; imshow(f1 ;)figure; imshow(f2 -٦-٢ﺑﺎ ﺑﺮﻧﺎﻣﻪ edgedemoﺑﺎﺯﻱ ﻛﻨﻴﺪ .ﺗﺄﺛﻴﺮ ﺍﺑﺰﺍﺭ ﻣﺨﺘﻠﻒ ﺁﺷﻜﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﺭﺍ ﺑﺮﺭﺳﻲ ﻛﻨﻴﺪ .ﺑﺮﺍﻱ ﻫﺮ ﺗﺼﻮﻳﺮ ﺭﻭﺷﻲ ﻛﻪ ﺑﻬﺘﺮﻳﻦ ﻧﺘﻴﺠﻪ ﺭﺍ ﻣﻲ ﺩﻫﺪ ﻳﺎﺩﺩﺍﺷﺖ ﻛﻨﻴﺪ .ﻣﺸﺎﻫﺪﺍﺕ ﺧﻮﺩ ﺍﺯ ﻣﺰﺍﻳﺎ ﻭ ﻣﻌﺎﻳﺐ ﺭﻭﺵ ﻫﺎ ﺭﺍ ﺑﻨﻮﻳﺴﻴﺪ. -٧-٢ﮐﺪ ﺯﻳﺮ ﺭﺍ ﺩﺭ MATLABﺍﺟﺮﺍ ﮐﻨﻴﺪ .ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻳﻦ ﺩﺳﺘﻮﺭ ،ﻟﺒﻪﻫﺎﻱ ﺗﺼﺎﻭﻳﺮ ﺩﻟﺨﻮﺍﻩ ﺧﻮﺩ ﺭﺍ ﺁﺷﮑﺎﺭ ﻧﻤﺎﻳﻴﺪ .ﺑﺎ ﺗﻐﻴﻴﺮ ﺩﺭ ﺩﺳﺘﻮﺭ ،fspecialﺳﺎﻳﺮ ﺭﻭﺵﻫﺎﻱ ﺁﺷﮑﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﺭﺍ ﻧﻴﺰ ﺑﺮﺭﺳﻲ ﮐﻨﻴﺪ. ;)' filename=input('insert file name: ;)f=imread(filename ;))f=ind2gray(f,gray(256 ;)f1=filter2(fspecial('unsharp'),f ;)figure; imshow(f ;)figure; imshow(f1 -۸-۲ﺗﺎﺑﻌﻲ ﺑﺎ ﻧﺎﻡ segmentationﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﻳﮏ ﺗﺼﻮﻳﺮ ﻭ ﻧﻴﺰ ﻣﻘﺪﺍﺭ ﺁﺳﺘﺎﻧﻪ ﺭﺍ ﺍﺯ ﮐﺎﺭﺑﺮ ﮔﺮﻓﺘﻪ ﻭ ﻟﺒﻪﻫﺎﻱ ﺁﻥ ﺭﺍ ﺁﺷﮑﺎﺭ ﻧﻤﺎﻳﺪ .ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﺎﻳﺪ ﻣﻘﺎﺩﻳﺮﻱ ﺍﺯ ﺗﺼﻮﻳﺮ ﮐﻪ ﺑﻴﺸﺘﺮ ﺍﺯ ﺁﺳﺘﺎﻧﻪ ﺍﺳﺖ ﺭﺍ ﺑﻪ ﻣﻘﺪﺍﺭ ۱ﻭ ﻣﻘﺎﺩﻳﺮ ﮐﻤﺘﺮ ﺍﺯ ﺁﺳﺘﺎﻧﻪ ﺭﺍ ﺑﻪ ﺻﻔﺮ ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﺪ) .ﺗﺼﻮﻳﺮ ﻭﺭﻭﺩﻱ ﺭﺍ ﺑﻪ ﺳﻴﺎﻩ ﻭ ﺳﻔﻴﺪ ﻭ ﻧﻮﻉ doubleﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﻴﺪ .ﻣﻘﺪﺍﺭ ﺁﺳﺘﺎﻧﻪ ﻧﻴﺰ ﺑﺎﻳﺪ ﻣﻘﺪﺍﺭ ﺑﻴﻦ ﺻﻔﺮ ﻭ ﻳﮏ ﺑﺎﺷﺪ(. -٣ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﺩﺭ ﺣﻮﺯﻩ ﻓﺮﮐﺎﻧﺲ -۱-۳ﺍﻋﻤﺎﻝ ﺗﺒﺪﻳﻞ ﻓﻮﺭﻳﻪ ﺑﺮ ﺭﻭﻱ ﺗﺼﻮﻳﺮ ﮐﺪ ﺯﻳﺮ ﺭﺍ ﺩﺭ ﻣﺤﻴﻂ MATLABﺍﺟﺮﺍ ﻧﻤﺎﻳﻴﺪ .ﺍﻳﻦ ﮐﺪ ،ﺑﺮ ﺭﻭﻱ ﻳﮏ ﺗﺼﻮﻳﺮ ﻭﺭﻭﺩﻱ،ﺗﺒﺪﻳﻞ ﻓﻮﺭﻳﻪ ﺭﺍ ﺍﻧﺠﺎﻡ ﻣﻲﺩﻫﺪ. % Prepare image ;)' filename=input('insert file name: ;)f = imread(filename ;))f = ind2gray(f,gray(256 )imshow(f % Compute Fourier Transform ;)F = fft2(f,256,256 F = fftshift(F); % Center FFT % Measure the minimum and maximum value of the transform amplitude % min(min(abs(F))) % 0 % max(max(abs(F))) % 100 figure,imshow(abs(F),[]); colormap(jet); colorbar figure,imshow(log(1+abs(F)),[]); colormap(jet); colorbar % Look at the phases figure, imshow(angle(F),[-pi,pi]); colormap(jet); colorbar ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻧﺘﻴﺠﻪ ﮐﺪ ﺑﺎﻻ ،ﺗﻔﺎﻭﺕ ﺍﺻﻠﻲ ﻧﻤﺎﻳﺶ ﺩﺍﻣﻨﻪ ﺗﺼﻮﻳﺮ ﻭ ﻟﮕﺎﺭﻳﺘﻢ ﺁﻥ ﺩﺭ ﭼﻴﺴﺖ؟ ﺩﻟﻴﻞ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ fftshiftﺭﺍ ﺑﻴﺎﻥ ﮐﻨﻴﺪ. -۲-۳ﭼﺮﺧﺶ ﺗﺼﻮﻳﺮ ﻳﮏ ﺗﺼﻮﻳﺮ ﻣﺴﺘﻄﻴﻞ ﺭﺍ ﺩﺭ ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ .ﺩﺭ ﻳﮏ ﺗﺎﺑﻊ ،ﺍﺑﺘﺪﺍ ﺍﻳﻦ ﺗﺼﻮﻳﺮ ﻭ ﺗﺒﺪﻳﻞ ﻓﻮﺭﻳﻪ ﺁﻥ ﺭﺍ ﻧﻤﺎﻳﺶ ﺩﻫﻴﺪ .ﺳﭙﺲ ،ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﺳﺘﻮﺭ imrotateﺩﺭ ،MATLABﺁﻥ ﺭﺍ ﺑﺎ ﺯﺍﻭﻳﻪﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺑﭽﺮﺧﺎﻧﻴﺪ .ﺳﭙﺲ ﺩﻭﺑﺎﺭﻩ ﺍﺯ ﺗﺼﻮﻳﺮ ﺗﺒﺪﻳﻞ ﻓﻮﺭﻳﻪ ﮔﺮﻓﺘﻪ ﻭ ﺁﻥ ﺭﺍ ﻧﻤﺎﻳﺶ ﺩﻫﻴﺪ .ﺁﻳﺎ ﻣﻲ- ﺗﻮﺍﻧﻴﺪ ﺍﺯ ﺭﻭﻱ ﺗﺒﺪﻳﻞ ﻓﻮﺭﻳﻪ ﺍﻳﻦ ﺗﺼﺎﻭﻳﺮ ،ﻣﻴﺰﺍﻥ ﭼﺮﺧﺶ ﺗﺼﻮﻳﺮ ﺭﺍ ﺗﺸﺨﻴﺺ ﺩﻫﻴﺪ؟ ﺑﻪ ﻧﻈﺮ ﺷﻤﺎ ﺩﻟﻴﻞ ﺍﻳﻦ ﭘﺪﻳﺪﻩ ﭼﻴﺴﺖ؟ -۳-۳ﻓﻴﻠﺘﺮ ﮐﺮﺩﻥ ﺗﺼﻮﻳﺮ ﺩﺭ ﺣﻮﺯﻩ ﻓﺮﮐﺎﻧﺲ ﺩﺭ ﺧﻼﻝ ﺗﻤﺮﻳﻦ ،۲ﺑﺎ ﺑﺮﺧﻲ ﺭﻭﺵﻫﺎﻱ ﻓﻴﻠﺘﺮ ﮐﺮﺩﻥ ﺗﺼﻮﻳﺮ ﺩﺭ ﺣﻮﺯﻩ ﻣﮑﺎﻥ ﺁﺷﻨﺎ ﺷﺪﻳﺪ).ﻓﻴﻠﺘﺮ ﮐﺮﺩﻥ ﻧﻮﻳﺰ ،ﺁﺷﮑﺎﺭﺳﺎﺯﻱ ﻟﺒﻪ ﺗﺼﻮﻳﺮ( .ﺩﺭ ﺍﻳﻦ ﻗﺴﻤﺖ ﺑﺎ ﺍﻋﻤﺎﻝ ﻓﻴﻠﺘﺮ ﺑﺮ ﺭﻭﻱ ﺗﺼﻮﻳﺮ ﺩﺭ ﺣﻮﺯﻩ ﻓﺮﮐﺎﻧﺲ ﺁﺷﻨﺎ ﺧﻮﺍﻫﻴﺪ ﺷﺪ. ﺗﺎﺑﻌﻲ ﺑﻨﻮﻳﺴﻴﺪ ﮐﻪ ﻳﮏ ﻓﻴﻠﺘﺮ ﭘﺎﻳﻴﻦ ﮔﺬﺭ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﻳﮏ ﺗﺼﻮﻳﺮ ﺳﻴﺎﻩ ﻭ ﺳﻔﻴﺪ ﺍﻋﻤﺎﻝ ﻧﻤﺎﻳﺪ .ﺍﻳﻦ ﺗﺎﺑﻊ ﺑﺎ ﮔﺮﻓﺘﻦ ﻓﺮﮐﺎﻧﺲ ﻗﻄﻊ ﻓﻴﻠﺘﺮ ﺍﺯ ﮐﺎﺭﺑﺮ، ﻓﺮﮐﺎﻧﺲﻫﺎﻱ ﮐﻤﺘﺮ ﺍﺯ ﺁﺳﺘﺎﻧﻪ ﺭﺍ ﺑﺮﺍﻱ ﺗﺼﻮﻳﺮ ﻧﮕﻪ ﺩﺍﺷﺘﻪ ﻭ ﻓﺮﮐﺎﻧﺲﻫﺎﻱ ﺑﺎﻻﺗﺮ ﺍﺯ ﺁﻥ ﺭﺍ ﺣﺬﻑ ﻧﻤﺎﻳﺪ .ﺩﺭ ﭘﺎﻳﺎﻥ ﺗﺼﻮﻳﺮ ﺍﺻﻠﻲ ﻭ ﺗﺼﻮﻳﺮ ﻓﻴﻠﺘﺮ ﺷﺪﻩ ﺭﺍ ﻧﻤﺎﻳﺶ ﺩﻫﻴﺪ .ﺗﺎﺑﻊ ﺭﺍ ﺑﻪ ﺍﺯﺍﻱ ﻓﺮﮐﺎﻧﺲ ﻗﻄﻊﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺍﺟﺮﺍ ﻧﻤﺎﻳﻴﺪ. -٤ﻓﺸﺮﺩﻩﺳﺎﺯﻱ ﺗﺼﻮﻳﺮ -۱-۴ﺩﺭ ﺍﻳﻦ ﻗﺴﻤﺖ ﺍﺯ ﺗﻤﺮﻳﻦ ﺍﺯ ﺷﻤﺎ ﺧﻮﺍﺳﺘﻪ ﻣﻲﺷﻮﺩ ﺗﺎ ﻣﻴﺰﺍﻥ ﺧﻄﺎﻱ ﺍﻳﺠﺎﺩ ﺷﺪﻩ ﺭﻭﻱ ﺗﺼﻮﻳﺮ ﺭﺍ ﺑﺮ ﺍﺛﺮ ﮐﺪ ﮐﺮﺩﻥ ﺁﻥ ﺑﺎ ﺍﺳﺘﺎﻧﺪﺍﺭﺩ JPEG ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﻳﻴﺪ .ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ،ﺍﺑﺘﺪﺍ ﻳﮏ ﺗﺼﻮﻳﺮ ﺑﺎ ﻓﺮﻣﺖ .tifﺭﺍ ﺩﺭ MATLABﺑﺨﻮﺍﻧﻴﺪ .ﺳﭙﺲ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﺳﺘﻮﺭ ،imwriteﺍﻳﻦ ﻓﺎﻳﻞ ﺭﺍ ﺑﻪ ﺻﻮﺭﺕ .jpgﺫﺧﻴﺮﻩ ﻧﻤﺎﻳﻴﺪ .ﺣﺎﻝ ﺑﺮﺍﻱ ﺗﺼﻮﻳﺮ .tifﻭ ﺗﺼﻮﻳﺮ .jpgﻣﻘﺪﺍﺭ ) Mean Square Error(MSEﺭﺍ ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﻳﻴﺪ .ﺷﻤﺎ ﻣﻲﺗﻮﺍﻧﻴﺪ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺩﺳﺘﻮﺭ MATLABﺗﺼﻮﻳﺮ jpgﺭﺍ ﺑﺎ ﻧﺮﺥﻫﺎﻱ ﻣﺨﺘﻠﻒ ،ﮐﻴﻔﻴﺖ ﻣﺘﻔﺎﻭﺕ ﻭ ﺑﻪ ﺻﻮﺭﺕ ﺑﺎ/ﺑﺪﻭﻥ ﺍﺗﻼﻑ ﺫﺧﻴﺮﻩ ﻧﻤﺎﻳﻴﺪ .ﺍﻳﻦ ﺁﺯﻣﺎﻳﺶ ﺭﺍ ﺑﺮﺍﻱ ﻧﺮﺥﻫﺎﻱ ﻣﺨﺘﻠﻒ ﺧﺮﻭﺟﻲ ،ﮐﻴﻔﻴﺖﻫﺎﻱ ﻣﺘﻔﺎﻭﺕ ﻭ ﻧﻴﺰ ﺑﻪ ﺻﻮﺭﺕ ﺑﺎ/ﺑﺪﻭﻥ ﺍﺗﻼﻑ ﺍﻧﺠﺎﻡ ﺩﺍﺩﻩ ﻭ ﻣﻘﺪﺍﺭ MSEﺭﺍ ﺩﺭ ﻫﺮ ﻣﺤﺎﺳﺒﻪ ﻭ ﺑﺎ ﻳﮑﺪﻳﮕﺮ ﻣﻘﺎﻳﺴﻪ ﻧﻤﺎﻳﻴﺪ. -۲-۴ﭘﻴﻮﺳﺖ ﺍﻟﻒ ﺑﺮﻧﺎﻣﺔ dctquantﺭﺍ ﻣﻲ ﺩﻫﺪ ﻛﻪ DCTﺭﺍ ﺑﺮ ﺭﻭﻱ ﺑﻠﻮﻙ ۸*۸ﺣﺴﺎﺏ ﻣﻲ ﻛﻨﺪ ﻭ ﺳﭙﺲ ﺿﺮﺍﻳﺐ DCTﺭﺍ ﻛﻮﺍﻧﺘﻴﺰﻩ ﻣﻲ ﻛﻨﺪ .ﺳﭙﺲ ﻋﻜﺲ DCTﺭﺍ ﺍﻧﺠﺎﻡ ﻣﻲ ﺩﻫﺪ ﺗﺎ ﺗﺼﻮﻳﺮ ﺑﺎﺯﺳﺎﺯﻱ ﺷﺪﻩ ﺭﺍ ﺑﻪ ﺩﺳﺖ ﺁﻭﺭﺩ .ﺑﺎ ﺑﺮﻧﺎﻣﻪ ﺑﺎﺯﻱ ﻛﻨﻴﺪ ﺗﺎ ﺗﺄﺛﻴﺮ ﻛﻮﺍﻧﺘﻴﺰﺍﺳﻴﻮﻥ ﺭﺍ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻓﺎﻛﺘﻮﺭﻫﺎﻱ ﻣﻘﻴﺎﺱ ﻣﺨﺘﻠﻒ ﺑﻪ ﺩﺳﺖ ﺁﻭﺭﻳﺪ. dctquant.m-۳-۴ﺭﺍ ﺍﺻﻼﺡ ﻛﻨﻴﺪ ﻭ ﺑﻪ ﺟﺎﻱ ﻛﻮﺍﻧﺘﻴﺰﻩ ﻛﺮﺩﻥ ﺿﺮﺍﻳﺐ DCTﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻣﺎﺗﺮﻳﺲ ﻧﺮﻣﺎﻟﻴﺰﺍﺳﻴﻮﻥ ﻓﺮﺍﻫﻢ ﺷﺪﻩ ﺗﻨﻬﺎ Lﺿﺮﻳﺐ ﺍﻭﻝ ﺭﺍ ﺩﺭ ﻳﻚ ﺗﺮﺗﻴﺐ ﺯﻳﮓ ﺯﺍﮒ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﻴﺪ .ﻣﻘﺎﺩﻳﺮ ﻣﺨﺘﻠﻒ Lﺑﻴﻦ ۱ﺗﺎ ۱۶ﺭﺍ ﺍﻣﺘﺤﺎﻥ ﻛﻨﻴﺪ. ﺗﻮﺟﻪ :ﺷﻤﺎ ﺑﺎﻳﺪ ﻣﺎﺳﻚ ﺭﺍ ﺩﺭ ﺑﺮﻧﺎﻣﻪ ﻃﻮﺭﻱ ﺍﺻﻼﺡ ﻛﻨﻴﺪ ﻛﻪ ﺑﺘﻮﺍﻧﺪ ﺗﺸﺨﻴﺺ ﺩﻫﺪ ﻛﻪ ﻛﺪﺍﻡ ﺿﺮﺍﻳﺐ ﺑﺎﻳﺪ ﺣﻔﻆ ﺷﻮﻧﺪ ﻭ ﻛﺪﺍﻡ ﺿﺮﺍﻳﺐ ﺑﺎﻳﺪ ﺻﻔﺮ ﺷﻮﻧﺪ .ﻳﺎ ﺍﻳﻨﻜﻪ ﻣﻲ ﺗﻮﺍﻧﻴﺪ ﻳﻚ ﺑﺮﻧﺎﻣﻪ ” “maskﺟﺪﻳﺪ ﺑﺮﺍﻱ ﺍﻳﻦ ﻛﺎﺭ ﺑﻨﻮﻳﺴﻴﺪ. -۴-۴ﺑﺮﻧﺎﻣﻪ dctquant.mﺭﺍ ﺍﺻﻼﺡ ﻛﻨﻴﺪ ﻃﻮﺭﻱ ﻛﻪ ﺑﻪ ﺟﺎﻱ ﻛﻮﺍﻧﺘﻴﺰﻩ ﻛﺮﺩﻥ ﺿﺮﺍﻳﺐ DCTﺑﺮ ﺍﺳﺎﺱ ﻣﺎﺗﺮﻳﺲ ﻧﺮﻣﺎﻟﻴﺰﺍﺳﻴﻮﻥ ،ﺗﻨﻬﺎ ﺿﺮﺍﻳﺒﻲ ﺭﺍ ﻧﮕﻪ ﺩﺍﺭﺩ ﻛﻪ ﺍﻧﺪﺍﺯﻩ ﺍﻱ ﺑﺰﺭﮔﺘﺮ ﺍﺯ ﺁﺳﺘﺎﻧﻪ Tﺩﺍﺷﺘﻪ ﺑﺎﺷﻨﺪ .ﻣﻘﺎﺩﻳﺮ ﻣﺨﺘﻠﻒ Tﺑﻴﻦ ۱ﺗﺎ ۲۵۶ﺭﺍ ﺍﻣﺘﺤﺎﻥ ﻛﻨﻴﺪ. ا ****************************************************************** * MATLAB Script file for demonstration of DCT representation of images * * You should find out how to use “blkproc” by on-line help in matlab. ****************************************************************** function dctquant(FileName,dx,dy); % usage : dctquant('h:\el593\exp10\lena.img',256,256); (WYT: please verify) % Note, dctquant calls subfunctions mask2() Img=fread(fopen(FileName),[dx,dy]); colormap(gray(256)); image(Img'); set(gca,'XTick',[],'YTick',[]); title('Original Image'); truesize; drawnow y=blkproc(Img,[8 8],'dct2'); yy=blkproc(y,[8 8],'mask2'); yq=blkproc(yy,[8,8],'idct2'); figure; colormap(gray(256)); image(yq'); set(gca,'XTick',[],'YTick',[]); title('Quantized Image'); truesize; drawnow; ب ****************************************************************** * MATLAB Script file for demonstration of DCT (subroutine 1) * ****************************************************************** function [y]=mask2(x); mask=[16 11 10 16 24 40 51 61; 12 12 14 19 26 58 60 55; 14 13 16 24 40 57 69 56; 14 17 22 29 51 87 80 62; 18 22 37 56 68 109 103 77; 24 35 55 64 81 104 113 92; 49 64 78 87 103 121 120 101; 72 92 95 56 112 100 103 99]; % Normally c=1 c=16; mask=c*mask; z=round(x./mask); y=mask.*z;
© Copyright 2025 Paperzz