Professional Documents
Culture Documents
Open CV
Open CV
net/publication/372763982
CITATIONS READ
0 1
2 authors:
11 PUBLICATIONS 1 CITATION
Islamic Azad University, Sardroud Branch
40 PUBLICATIONS 76 CITATIONS
SEE PROFILE
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Amir Baghi Rahin on 30 July 2023.
ﺗﺮﺟﻤﻪ:
ﻣﻬﻨﺪس ﺻﺒﺎ ﻧﺎﺻﺮي اﮐﺒﺮ
ﻣﻬﻨﺪس اﻣﯿﺮ ﺑﺎﻏﯽ رﻫﯿﻦ
اﻧﺘﺸﺎرات اﻃﻬﺮان
WWW.BitaProject.com
ﺷﺎﺑﮏ978-622-7800-33-3 :
ﻣﺮاﮐﺰ ﭘﺨﺶ :اﻧﺘﺸﺎرات آﺷﯿﻨﺎ -اﻧﺘﺸﺎرات اﻃﻬﺮان -ﻓﺮوﺷﮕﺎه اﯾﻨﺘﺮﻧﺘﯽ ﺑﯿﺘﺎ ﭘﺮوژه
ﺗﺒﺮﯾﺰ -ﺧﯿﺎﺑﺎن اﻣﺎم -ﺑﺎزار ﺑﺰرگ ﺗﺮﺑﯿﺖ -ﻃﺒﻘﻪ ﭘﺎﯾﯿﻦ -ﭘﻼك 7ﺗﻠﻔﻦ35536196 -35538603 :
ﻓﺮوﺷﮕﺎه اﯾﻨﺘﺮﻧﺘﯽ ﺑﯿﺘﺎ ﭘﺮوژه www.bitaproject.com
WWW.BitaProject.com
ﺳﺨﻦ ﻧﺎﺷﺮ
ﺑﻨﺎم ﯾﺰدان ﭘﺎك ﮐﻪ ﺗﻔﮑﺮ را در ﺟﻬﺖ ﮐﺴﺐ داﻧﺶ و ﻣﻌﺮﻓﺖ ﺑﻪ ﺑﺸﺮ ارزاﻧﯽ ﺳﺎﺧﺖ .ﺑﺴﯿﺎر
ﺧﻮﺷﺤﺎﻟﯿﻢ ﮐﻪ ﺑﺎر دﯾﮕﺮ اﯾﺰد ﯾﮑﺘﺎ ﺗﻮﻓﯿﻖ داد ﺗﺎ ﺑﺎ اراﺋﻪ ﻣﺠﻤﻮﻋﻪاي دﯾﮕﺮ در ﺧﺪﻣﺖ داﻧﺶ
ﭘﮋوﻫﺎن ﮔﺮاﻣﯽ ﺑﺎﺷﯿﻢ.
در ﮐﺘﺎب ﺣﺎﺿﺮ ﺑﺎ ﻋﻨﻮان »آﻣﻮزش ﻋﻤﻠﯽ ﭘﺎﯾﺘﻮن و «OpenCVدر 11ﻓﺼﻞ و ﺑﺎ
ﭘﺮوژه ﻫﺎي ﮐﺎرﺑﺮدي ﺳﻌﯽ ﺷﺪه ﺗﺎ ﻣﻔﺎﻫﯿﻢ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯽ ﭘﺎﯾﺘﻮن و OpenCVﺑﺼﻮرت
ﮐﺎرﺑﺮدي و ﻋﻤﻠﯽ ﺗﺸﺮﯾﺢ ﺷﻮد .ﺑﺪون داﺷﺘﻦ داﻧﺸﯽ از ﭘﯿﭽﯿﺪﮔﯽﻫﺎ و ﺟﺰﺋﯿﺎت رﯾﺎﺿﯿﺎﺗﯽ
ﻣﺮﺑﻮط ﺑﻪ دورهﻫﺎي ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ و ﭘﺮدازش ﺗﺼﻮﯾﺮ در ﺳﻄﺢ داﻧﺸﮕﺎه ﺧﻮاﻫﯿﺪ ﺗﻮاﻧﺴﺖ
ﺑﻪ ﮐﻤﮏ اﯾﻦ ﮐﺘﺎب ﺑﻪراﺣﺘﯽ ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ و ﭘﺮدازش ﺗﺼﻮﯾﺮ را ﺑﯿﺎﻣﻮزﯾﺪ.
در اﯾﻨﺠﺎ از ﺗﻤﺎم ﮐﺴﺎﻧﯽ ﮐﻪ ﻣﺎ را در ﺗﻬﯿﻪ اﯾﻦ ﻣﺠﻤﻮﻋﻪ ﯾﺎري ﻧﻤﻮدهاﻧﺪ ﻋﻠﯽاﻟﺨﺼﻮص
آﻗﺎي ﻣﻬﻨﺪس اﻣﯿﺮ ﺑﺎﻏﯽ رﻫﯿﻦ و ﺳﺮﮐﺎر ﺧﺎﻧﻢ ﻣﻬﻨﺪس ﺻﺒﺎ ﻧﺎﺻﺮي اﮐﺒﺮ ﮐﻪ زﺣﻤﺖ ﺗﺮﺟﻤﻪ
ﮐﺘﺎب ،و آﻗﺎي ﻣﻬﻨﺪس اﻣﯿﺮ ﺑﺎﻏﯽ رﻫﯿﻦ ﮐﻪ ﻃﺮاﺣﯽ ﺟﻠﺪ را ﺑﺮ ﻋﻬﺪه داﺷﺘﻪاﻧﺪ و ﻫﻤﭽﻨﯿﻦ
آﻗﺎي ﻣﻬﻨﺪس اﻓﺸﯿﻦ ﻣﯿﺮاب ﮐﻪ ﻧﻈﺎرت ﻓﻨﯽ ﮐﺘﺎب را ﺑﻪ ﻋﻬﺪه داﺷﺘﻪاﻧﺪ ﺻﻤﯿﻤﺎﻧﻪ ﺗﺸﮑﺮ و
ﻗﺪرداﻧﯽ ﻧﻤﺎﯾﯿﻢ.
در ﺧﺎﺗﻤﻪ ﺑﻪ اﺳﺘﺤﻀﺎر ﮐﻠﯿﻪ اﺳﺎﺗﯿﺪ ﻣﺤﺘﺮم و داﻧﺸﺠﻮﯾﺎن ﻋﺰﯾﺰ ﻣﯽرﺳﺎﻧﺪ ﮐﻪ اﯾﻦ ﻣﻮﺳﺴﻪ ﺑﺎ
ﻫﺪف ﻧﺸﺮ و ﺗﻮﺳﻌﻪ ﮐﺘﺐ ﻓﻨﯽ ،ﻣﻬﻨﺪﺳﯽ و ﻋﻠﻮم ﭘﺎﯾﻪ از ﮐﻠﯿﻪ ﻋﺰﯾﺰان و ﺻﺎﺣﺐﻧﻈﺮان ﻣﺤﺘﺮم
دﻋﻮت ﺑﻪ ﻫﻤﮑﺎري ﻣﯽﻧﻤﺎﯾﺪ .ﻟﺬا از ﮐﻠﯿﻪ ﻋﺰﯾﺰاﻧﯽ ﮐﻪ ﻋﻼﻗﻪﻣﻨﺪ ﺑﻪ ﻫﻤﮑﺎري در زﻣﯿﻨﻪﻫﺎي
ﯾﺎدﺷﺪه ﻫﺴﺘﻨﺪ درﺧﻮاﺳﺖ ﻣﯽﺷﻮد ﮐﻪ ﺑﺎ اﯾﻦ اﻧﺘﺸﺎرات ﻣﮑﺎﺗﺒﻪ ﻧﻤﺎﯾﻨﺪ .اﻣﯿﺪ اﺳﺖ ﺑﺎ ﻫﻤﮑﺎري
و ﻫﻤﻔﮑﺮي ﺻﺎﺣﺐﻧﻈﺮان ﻣﺤﺘﺮم ﺑﺘﻮاﻧﯿﻢ در ﺷﮑﻮﻓﺎﯾﯽ اﺳﺘﻌﺪادﻫﺎي اﯾﺮان ﻋﺰﯾﺰﻣﺎن ﮔﺎﻣﯽ
ﻫﺮﭼﻨﺪ ﮐﻮﺗﺎه ﺑﺮدارﯾﻢ.
www.ashina.fannazar.com
Email: atharanpub@gmail.com
WWW.BitaProject.com
ب■
ﺗﻘﺪﯾﻢ ﺑﻪ
»ﻧﯿﮑﯽ« و »اﻣﯿﺮرﺿﺎ«
ﭘﯿﺸﮕﻔﺘﺎر ﻣﺆﻟﻒ
وﻗﺘﯽ ﺑﺮاي اوﻟﯿﻦ ﺑﺎر ﺗﺼﻤﯿﻢ ﮔﺮﻓﺘﻢ اﯾﻦ ﮐﺘﺎب را ﺑﻨﻮﯾﺴﻢ ،ﻣﯽﺧﻮاﺳﺘﻢ ﺗﺎ ﺣﺪ اﻣﮑﺎن
ﮐﺎرﺑﺮدي ﺑﺎﺷﺪ .ﺑﺮاي اﯾﻦ ﻣﻨﻈﻮر ﺑﻪ دﻧﺒﺎل ﺗﻌﺪاد ﻧﻤﻮﻧﻪﻫﺎي ﺑﺼﺮي زﯾﺎد ﺑﻪ ﻫﻤﺮاه ﺗﻌﺪاد
زﯾﺎدي ﮐﺪ ﺑﻮدم .ﺑﻪ دﻧﺒﺎل ﻣﻄﺎﻟﺒﯽ ﺑﻮدم ﮐﻪ ﺑﺪون داﺷﺘﻦ داﻧﺸﯽ از ﭘﯿﭽﯿﺪﮔﯽﻫﺎ و ﺟﺰﺋﯿﺎت
رﯾﺎﺿﯿﺎﺗﯽ ﻣﺮﺑﻮط ﺑﻪ دورهﻫﺎي ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ و ﭘﺮدازش ﺗﺼﻮﯾﺮ در ﺳﻄﺢ داﻧﺸﮕﺎه ﺑﺘﻮاﻧﯿﺪ
ﺑﻪراﺣﺘﯽ آﻧﻬﺎ را ﺑﯿﺎﻣﻮزﯾﺪ.
از ﺗﻤﺎم ﺳﺎلﻫﺎﯾﯽ ﮐﻪ در ﮐﻼس ﮔﺬراﻧﺪم ،ﺑﻪ اﯾﻦ ﻧﺘﯿﺠﻪ رﺳﯿﺪهام ﮐﻪ ﺑﻬﺘﺮﯾﻦ روﺷﯽ ﮐﻪ
ﺗﻮﺳﻂ آن ﻣﻄﺎﻟﺐ زﯾﺎدي ﯾﺎد ﮔﺮﻓﺘﻢ ،ﺑﺎز ﮐﺮدن ﯾﮏ وﯾﺮاﯾﺸﮕﺮ و ﻧﻮﺷﺘﻦ ﮐﺪ در آن ﺑﻮد.
ﻣﻄﻤﺌﻨ ًﺎ ،ﺗﺌﻮري و ﻣﺜﺎلﻫﺎي ﻣﻮﺟﻮد در ﮐﺘﺎبﻫﺎي درﺳﯽ ﻣﻦ ﺗﻨﻬﺎ ﯾﮏ ﻧﻘﻄﻪ ﺷﺮوع ﻣﺤﺴﻮب
ﻣﯽﺷﺪﻧﺪ .اﻣﺎ ﻣﻦ ﻫﺮﮔﺰ ﭼﯿﺰي را »ﯾﺎد ﻧﮕﺮﻓﺘﻪام« ﻣﮕﺮ اﯾﻨﮑﻪ ﺧﻮدم آن را اﻧﺠﺎم داده ﺑﺎﺷﻢ.
ﻣﻦ ﺑﺴﯿﺎر اﻫﻞ ﻋﻤﻞ ﻫﺴﺘﻢ؛ و اﯾﻦ دﻗﯿﻘ ًﺎ ﻫﻤﺎن ﭼﯿﺰي اﺳﺖ ﮐﻪ از اﯾﻦ ﮐﺘﺎب اﻧﺘﻈﺎر دارم.
ﮐﺘﺎﺑﯽ ﺑﺴﯿﺎر ﻋﻤﻠﯽ ،ﺑﺎ ﺗﻤﺎم ﮐﺪﻫﺎﯾﯽ ﮐﻪ ﺑﻪراﺣﺘﯽ ﻗﺎﺑﻞﺗﻐﯿﯿﺮ ﻫﺴﺘﻨﺪ و ﺑﻪﺧﻮﺑﯽ ﻣﺴﺘﻨﺪﺳﺎزي
ﺷﺪهاﻧﺪ ﺗﺎ ﺑﺘﻮاﻧﯿﺪ ﺑﻪﺗﻨﻬﺎﯾﯽ ﺑﺎ آن ﺑﺎزي ﮐﻨﯿﺪ .ﺑﻪ ﻫﻤﯿﻦ دﻟﯿﻞ ﻣﻦ ﻓﻬﺮﺳﺖ ﮐﺎﻣﻞ ﮐﺪ ﻣﻨﺒﻊ و
ﺗﺼﺎوﯾﺮ اﺳﺘﻔﺎدهﺷﺪه در اﯾﻦ ﮐﺘﺎب را در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار ﻣﯽدﻫﻢ.
ﻣﻬﻢﺗﺮ از آن ،ﻣﯽﺧﻮاﺳﺘﻢ اﯾﻦ ﮐﺘﺎب ﺑﺮاي ﻃﯿﻒ وﺳﯿﻌﯽ از ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﺎن ﻗﺎﺑﻞدرك
ﺑﺎﺷﺪ .ﺑﻪ ﯾﺎد دارم زﻣﺎﻧﯽ ﮐﻪ ﺑﺮاي اوﻟﯿﻦ ﺑﺎر ﺷﺮوع ﺑﻪ ﯾﺎدﮔﯿﺮي ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮐﺮدم – اﯾﻦ
ﮐﺎر ﯾﮏ ﮐﺎر دﻟﻬﺮهآور ﺑﻮد؛ اﻣﺎ ﺧﯿﻠﯽ ﭼﯿﺰﻫﺎ ﯾﺎد ﮔﺮﻓﺘﻢ؛ و ﺑﻪ ﻣﻦ ﺧﯿﻠﯽ ﺧﻮش ﮔﺬﺷﺖ.
اﻣﯿﺪوارم اﯾﻦ ﮐﺘﺎب ﺑﻪ ﺷﻤﺎ در ﺳﻔﺮ ﺑﻪ ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﮐﻤﮏ ﮐﻨﺪ .از ﻧﻮﺷﺘﻦ آن ﻟﺬت
ﺑﺮدم .اﮔﺮ ﺳﺆال ،ﭘﯿﺸﻨﻬﺎد ﯾﺎ ﻧﻈﺮي دارﯾﺪ ،ﯾﺎ اﮔﺮ ﻣﯽﺧﻮاﻫﯿﺪ ﯾﮏ ﺳﻼم ﺳﺎده ﮐﻨﯿﺪ ،ﺑﻪ آدرس
adrian@pyimagesearch.comﺑﻪ ﻣﻦ اﯾﻤﯿﻞ ﺑﺰﻧﯿﺪ ،ﯾﺎ ﻣﯽﺗﻮاﻧﯿﺪ از وبﺳﺎﯾﺖ ﻣﻦ در
www.PyImageSearch.comدﯾﺪن ﮐﺮده و در آﻧﺠﺎ ﻧﻈﺮ ﺧﻮد را ﺛﺒﺖ ﮐﻨﯿﺪ .ﻣﺸﺘﺎﻗﺎﻧﻪ ﻣﻨﺘﻈﺮ
درﯾﺎﻓﺖ ﻧﻈﺮات ﺷﻤﺎ ﻫﺴﺘﻢ!
آدرﯾﺎن روزﺑﺮوك
WWW.BitaProject.com
د■
ﭘﯿﺸﮕﻔﺘﺎر ﻣﺘﺮﺟﻤﯿﻦ
اﯾﻦ ﮐﺘﺎب ﺑﺎ ﺑﯿﺶ از ﭼﻨﺪﯾﻦ ﭘﺮوژه ﮐﺎرﺑﺮدي در 11ﻓﺼﻞ ﺗﺮﺟﻤﻪ ﺷﺪه و ﺧﻼﺻﻪ اﯾﻦ
ﻓﺼﻞﻫﺎ ﺑﻪ ﺷﺮح زﯾﺮ اﺳﺖ.
ﻓﺼﻞ :1در اﯾﻦ ﻓﺼﻞ آﺷﻨﺎﯾﯽ ﮐﻠﯽ ﺑﺎ ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ و ﮐﺎرﺑﺮدﻫﺎي ﻣﺨﺘﻠﻒ آن
ﺧﻮاﻫﯿﻢ داﺷﺖ.
ﻓ ﺼﻞ :2در اﯾﻦ ﻓﺼﻞ ﺑﻪ ﻣﻌﺮﻓﯽ ﭘﺎﯾﺘﻮن ﭘﺮداﺧﺘﻪ و ﺑﺴﺘﻪﻫﺎي ﻣﻮردﻧﯿﺎز ﺑﺮاي ﮐﺎر
ﺑﺎ OpenCVرا در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار ﻣﯽدﻫﯿﻢ.
ﻓﺼﻞ :3در اﯾﻦ ﻓﺼﻞ درﺑﺎره ﺑﺎرﮔﺬاري ،ﻧﻤﺎﯾﺶ و ذﺧﯿﺮهﺳﺎزي ﺗﺼﺎوﯾﺮ اﻃﻼﻋﺎﺗﯽ
ﺑﻪ ﺧﻮاﻧﻨﺪﮔﺎن ﻣﺤﺘﺮم داده ﻣﯽﺷﻮد.
ﻓﺼﻞ :4در اﯾﻦ ﻓﺼﻞ ،اﺻﻮل اوﻟﯿﻪ ﺗﺼﻮﯾﺮ ﺗﺸﺮﯾﺢ ﺷﺪه و اﻃﻼﻋﺎﺗﯽ درﺑﺎره
ﭘﯿﮑﺴﻞﻫﺎ ،ﺳﯿﺴﺘﻢ ﻣﺨﺘﺼﺎت و دﺳﺘﺮﺳﯽ ﭘﯿﮑﺴﻞﻫﺎ داده ﻣﯽﺷﻮد.
ﻓﺼﻞ :5در اﯾﻦ ﻓﺼﻞ درﺑﺎره ﺗﺮﺳﯿﻢ ﺧﻂ ،ﻣﺴﺘﻄﯿﻞ و داﯾﺮه ﻣﻄﺎﻟﺒﯽ را ﺧﻮاﻫﯿﺪ
آﻣﻮﺧﺖ.
ﻓﺼﻞ :6در اﯾﻦ ﻓﺼﻞ ﻣﺒﺎﺣﺚ اﺻﻠﯽ ﭘﺮدازش ﺗﺼﻮﯾﺮ و ﺗﻐﯿﯿﺮات اﺳﺎﺳﯽ ﺗﺼﻮﯾﺮ
ﭘﻮﺷﺶ داده ﻣﯽﺷﻮد .اﯾﻦ ﻣﻮارد ﺗﮑﻨﯿﮏﻫﺎي راﯾﺠﯽ ﻫﺴﺘﻨﺪ ﮐﻪ ﺑﺮاي ﺗﻐﯿﯿﺮ ﺗﺼﺎوﯾﺮ
از ﺟﻤﻠﻪ اﻧﺘﻘﺎل ،دوران ،ﺗﻐﯿﯿﺮ اﻧﺪازه ،اﻧﻌﮑﺎس و ﺑﺮش اﺳﺘﻔﺎده ﻣﯽﺷﻮﻧﺪ.
ﻓﺼﻞ :7در اﯾﻦ ﻓﺼﻞ ﺑﺎ ﺑﺮرﺳﯽ ﺳﺎده ﻫﯿﺴﺘﻮﮔﺮام ﯾﮏ ﺗﺼﻮﯾﺮ ،درك ﮐﻠﯽ در
ﻣﻮرد ﮐﻨﺘﺮاﺳﺖ ،روﺷﻨﺎﯾﯽ و ﺗﻮزﯾﻊ ﻣﻘﺎدﯾﺮ ﭘﯿﮑﺴﻞﻫﺎ ﺑﻪ دﺳﺖ ﻣﯽآورﯾﺪ.
ﻓﺼﻞ :8در اﯾﻦ ﻓﺼﻞ درﺑﺎره ﺷﻔﺎفﺳﺎزي و ﺗﺎرﺳﺎزي ﺗﺼﺎوﯾﺮ ﻣﻄﺎﻟﺒﯽ را ﺧﻮاﻫﯿﺪ
آﻣﻮﺧﺖ .اﻧﻮاع روشﻫﺎ از ﻗﺒﯿﻞ ﻣﯿﺎﻧﮕﯿﻦﮔﯿﺮي ،ﮔﺎوﺳﯽ ،ﻣﯿﺎﻧﻪ و دو ﻃﺮﻓﻪ در اﯾﻦ
ﻓﺼﻞ ﺗﺸﺮﯾﺢ ﺧﻮاﻫﻨﺪ ﺷﺪ.
WWW.BitaProject.com
■ه
ﺑﺮاي اﺳﺘﻔﺎده ﺑﻬﯿﻨﻪ از اﯾﻦ ﮐﺘﺎب ،ﺑﺎﯾﺪ ﮐﻤﯽ ﺗﺠﺮﺑﻪ ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯽ داﺷﺘﻪ ﺑﺎﺷﯿﺪ .ﺗﻤﺎﻣﯽ
ﻣﺜﺎلﻫﺎي اﯾﻦ ﮐﺘﺎب ﺑﻪ زﺑﺎن ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯽ ﭘﺎﯾﺘﻮن ﻧﻮﺷﺘﻪ ﺷﺪهاﻧﺪ .آﺷﻨﺎﯾﯽ ﺑﺎ ﭘﺎﯾﺘﻮن ﯾﺎ ﺳﺎﯾﺮ
زﺑﺎنﻫﺎي ﺑﺮﻧﺎﻣﻪﻧﻮﯾﺴﯽ ﭘﯿﺸﻨﻬﺎد ﻣﯽﺷﻮد ،اﻣﺎ اﯾﻦ آﺷﻨﺎﯾﯽ اﻟﺰاﻣﯽ ﻧﯿﺴﺖ.
ﻫﻤﭽﻨﯿﻦ ﺑﺎﯾﺪ ﺑﺮﺧﯽ از ﻣﻔﺎﻫﯿﻢ رﯾﺎﺿﯽ ﭘﺎﯾﻪ را ﺑﺪاﻧﯿﺪ .اﯾﻦ ﮐﺘﺎب ﺑﻪﺻﻮرت ﻋﻤﻠﯽ و
ﻣﺒﺘﻨﯽ ﺑﺮ ﻣﺜﺎل اﺳﺖ :ﻣﺜﺎلﻫﺎي ﻓﺮاوان و ﮐﺪﻫﺎي ﻓﺮاوان ،ﺑﻨﺎﺑﺮاﯾﻦ ﺣﺘﯽ اﮔﺮ ﻣﻬﺎرتﻫﺎي
رﯾﺎﺿﯽ ﺷﻤﺎ در ﺣﺪ ﻣﺒﺎﺣﺚ ﻣﻄﺮحﺷﺪه ﻧﯿﺴﺖ ،ﻧﮕﺮان ﻧﺒﺎﺷﯿﺪ! ﻣﺜﺎلﻫﺎ ﺑﺴﯿﺎر دﻗﯿﻖ ﺑﻮده و
ﻣﺴﺘﻨﺪﺳﺎزي ﺷﺪهاﻧﺪ ﺗﺎ ﺑﻪ ﺷﻤﺎ در درك ﻣﻄﺎﻟﺐ ﮐﻤﮏ ﮐﻨﻨﺪ.
در اﯾﻦ ﻧﺴﺨﻪ از ﮐﺘﺎب ،ﺗﻤﺎم ﻓﺼﻞﻫﺎ ،ﻧﻤﻮﻧﻪ ﮐﺪﻫﺎ و ﻣﺠﻤﻮﻋﻪ دادهﻫﺎ ﺑﺮاي ﺳﺎزﮔﺎري
ﺑﺎ OpenCV 3.0ﺑﻪروزرﺳﺎﻧﯽ ﺷﺪهاﻧﺪ .ﻋﻼوه ﺑﺮ اﯾﻦ ،ﺗﻤﺎم ﻧﻤﻮﻧﻪ ﮐﺪﻫﺎ در ﻣﺤﯿﻂﻫﺎي
ﭘﺎﯾﺘﻮن 2,7و ﭘﺎﯾﺘﻮن +3اﺟﺮا ﻣﯽﺷﻮﻧﺪ!
WWW.BitaProject.com
و■
اﯾﻦ ﮐﺘﺎب ﺷﺎﻣﻞ ﮐﺪﻫﺎ و ﻋﺒﺎرات ﺑﺴﯿﺎري اﺳﺖ ﮐﻪ ﺑﻪ ﺷﻤﺎ در ﺳﻔﺮ ﺑﻪ ﯾﺎدﮔﯿﺮي ﺑﯿﻨﺎﯾﯽ
ﮐﺎﻣﭙﯿﻮﺗﺮ و ﭘﺮدازش ﺗﺼﻮﯾﺮ ﮐﻤﮏ ﻣﯽﮐﻨﺪ .در زﯾﺮ ﻗﺮاردادﻫﺎي ﻧﮕﺎرﺷﯽ اﺳﺘﻔﺎدهﺷﺪه در اﯾﻦ
ﮐﺘﺎب ﻋﻨﻮان ﺷﺪه اﺳﺖ:
-ﻓﻮﻧﺖ اﯾﺘﺎﻟﯿﮏ
ﻋﺒﺎرات ﮐﻠﯿﺪي و اﻃﻼﻋﺎت ﻣﻬﻤﯽ را ﻧﺸﺎن ﻣﯽدﻫﻨﺪ ﮐﻪ ﺑﺎﯾﺪ ﺑﻪ آﻧﻬﺎ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ.
ﻫﻤﭽﻨﯿﻦ ﻣﻤﮑﻦ اﺳﺖ ﺑﻪ ﻣﻌﺎدﻻت ﯾﺎ ﻓﺮﻣﻮلﻫﺎي رﯾﺎﺿﯽ اﺷﺎره داﺷﺘﻪ ﺑﺎﺷﻨﺪ.
ﻓﻮﻧﺖ ﺑﺮﺟﺴﺘﻪ -
اﻃﻼﻋﺎت ﻣﻬﻤﯽ ﮐﻪ ﺑﺎﯾﺪ ﺑﻪ آﻧﻬﺎ ﺗﻮﺟﻪ داﺷﺘﻪ ﺑﺎﺷﯿﺪ.
ﻓﻮﻧﺖ ﺑﺎ ﻋﺮض ﺛﺎﺑﺖ -
ﺑﺮاي ﮐﺪﻫﺎي ﻣﻨﺒﻊ و ﻫﻤﭽﻨﯿﻦ ﭘﺎراﮔﺮافﻫﺎﯾﯽ ﮐﻪ ﺑﻪ ﮐﺪ ﻣﻨﺒﻊ اﺷﺎره ﻣﯽﮐﻨﻨﺪ ،ﻣﺎﻧﻨﺪ ﻧﺎم
ﺗﺎﺑﻊ و ﻣﺘﺪ اﺳﺘﻔﺎده ﻣﯽﺷﻮد.
اﯾﻦ ﮐﺘﺎب ﻗﺮار اﺳﺖ ﺑﻪﻋﻨﻮان ﯾﮏ روﯾﮑﺮد ﻋﻤﻠﯽ ﺑﺮاي ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ و ﯾﺎدﮔﯿﺮي ﻣﺎﺷﯿﻦ
اﺳﺘﻔﺎده ﺷﻮد .ﮐﺪﻫﺎي ﻣﻮﺟﻮد در اﯾﻦ ﮐﺘﺎب ،ﻫﻤﺮاه ﺑﺎ ﮐﺪ ﻣﻨﺒﻊ ﺗﻮزﯾﻊﺷﺪه ﺑﺎ اﯾﻦ ﮐﺘﺎب،
ﺑﻪﺻﻮرت راﯾﮕﺎن در اﺧﺘﯿﺎر ﺷﻤﺎ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ .ﻣﯽﺗﻮاﻧﯿﺪ آنﻫﺎ را ﺗﻐﯿﯿﺮ دﻫﯿﺪ ،ﺑﺮرﺳﯽ
ﮐﻨﯿﺪ و ﺑﺎ دﯾﮕﺮان ﺑﻪ اﺷﺘﺮاك ﺑﮕﺬارﯾﺪ.
ﺑﻪﻃﻮر ﮐﻠﯽ ،اﮔﺮ از ﮐﺪ ﻣﻨﺒﻊ ﻣﻮﺟﻮد در اﯾﻦ ﮐﺘﺎب اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﺪ ،ﻧﯿﺎزي ﺑﻪ ﺗﻤﺎس ﺑﺎ
ﻧﻮﯾﺴﻨﺪه اﺻﻠﯽ اﯾﻦ ﮐﺘﺎب ﺑﺮاي ﮐﺴﺐ اﺟﺎزه ﻧﺪارﯾﺪ .ﻧﻮﺷﺘﻦ اﺳﮑﺮﯾﭙﺘﯽ ﮐﻪ ﺣﺎوي ﻗﻄﻌﻪ
ﮐﺪﻫﺎي اﯾﻦ ﮐﺘﺎب اﺳﺖ ﺑﻪ ﻫﯿﭻ ﻋﻨﻮان از ﻧﻈﺮ آﻗﺎي دﮐﺘﺮ آدرﯾﺎن روزﺑﺮوك ﻣﺸﮑﻠﯽ ﻧﺪارد.
ﺑﺎ اﯾﻦ ﺣﺎل ،ﻓﺮوش ﯾﺎ ﺗﻮزﯾﻊ ﻗﻄﻌﻪ ﮐﺪﻫﺎي ﻣﻮﺟﻮد در اﯾﻦ ﮐﺘﺎب ،ﭼﻪ ﺑﻪﻋﻨﻮان ﻣﺤﺼﻮل
اﻃﻼﻋﺎﺗﯽ و ﭼﻪ ﺑﻪﻋﻨﻮان ﻣﺴﺘﻨﺪﺳﺎزي ﻣﺤﺼﻮل ،ﻧﯿﺎزﻣﻨﺪ ﮐﺴﺐ اﺟﺎزه از اﯾﺸﺎن اﺳﺖ .اﮔﺮ
در ﻣﻮرد اﺳﺘﻔﺎده از ﻧﻤﻮﻧﻪ ﮐﺪﻫﺎي اﯾﻦ ﮐﺘﺎب ﺳﺆاﻟﯽ دارﯾﺪ ،ﻣﯽﺗﻮاﻧﯿﺪ ﺑﺎ آدرس اﯾﻤﯿﻞ
adrian@pyimagesearch.comﺑﺎ دﮐﺘﺮ آدرﯾﺎن روزﺑﺮوك ﺗﻤﺎس ﺑﮕﯿﺮﯾﺪ.
WWW.BitaProject.com
■ز
ﮐﺪﻫﺎي ﻣﺮﺑﻮط ﺑﻪ اﯾﻦ ﮐﺘﺎب ،ﻣﻮارد ﺗﮑﻤﯿﻠﯽ )ﮐﺪﻫﺎي ﻧﻤﻮﻧﻪ ،ﺗﻤﺮﯾﻦﻫﺎ و ﻏﯿﺮه( و
ﻫﻤﭽﻨﯿﻦ ﺗﻌﺪادي از ﻧﺮماﻓﺰارﻫﺎ و ﺑﺮﻧﺎﻣﻪﻫﺎي ﻣﺮﺗﺒﻂ ﺑﺮاي اﺳﺘﻔﺎده ﺑﻬﯿﻨﻪ ﺷﻤﺎ در داﺧﻞ ﺳﺎﯾﺖ
ﺑﯿﺘﺎ ﭘﺮوژه ) (www.bitaproject.comﻗﺮار داده ﺷﺪه اﺳﺖ .ﻧﻈﺮات و ﭘﯿﺸﻨﻬﺎدﻫﺎي ﺧﻮد را
از ﻃﺮﯾﻖ راهﻫﺎي ارﺗﺒﺎﻃﯽ زﯾﺮ ﺑﺎ ﻣﺎ در ﻣﯿﺎن ﺑﮕﺬارﯾﺪ .ﻫﺮﮔﻮﻧﻪ اﻧﺘﻘﺎد و ﭘﯿﺸﻨﻬﺎد از ﺳﻮي
ﺧﻮاﻧﻨﺪﮔﺎن ﻣﺤﺘﺮم ﻣﻐﺘﻨﻢ ﺷﻤﺮده ﺧﻮاﻫﺪ ﺷﺪ .ﺑﺮاي اﻃﻼﻋﺎت ﺑﯿﺸﺘﺮ درﺑﺎره ﮐﺘﺎبﻫﺎ ،دورهﻫﺎ،
ﮐﻨﻔﺮاﻧﺲﻫﺎ و اﺧﺒﺎر ﻣﺎ ،وبﺳﺎﯾﺖ ﻣﺎ را ﺑﻪ آدرس ﺑﯿﺘﺎ ﭘﺮوژه ﻣﺸﺎﻫﺪه ﮐﻨﯿﺪ.
وبﺳﺎﯾﺖ www.bitaproject.com :و www.bitaproject.ir
اﯾﻨﺴﺘﺎﮔﺮام@bitaproject :
ﺗﻮﯾﯿﺘﺮ@bitaproject :
WWW.BitaProject.com
ﻓﻬﺮﺳﺖ ﻣﻄﺎﻟﺐ
ﻓﺼﻞ .1ﻣﻘﺪﻣﻪ
ﻫﺪف ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮي درك روﯾﺪادي اﺳﺖ ﮐﻪ در ﯾﮏ ﺗﺼﻮﯾﺮ آﺷﮑﺎر ﻣﯽﺷﻮد .ﺑﺮاي
اﻧﺴﺎن ،ﭼﻨﯿﻦ درﮐﯽ ﺑﺴﯿﺎر ﺳﺎده اﺳﺖ؛ اﻣﺎ ﺑﺮاي ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎ ،اﯾﻦ ﮐﺎر ﺑﺴﯿﺎر دﺷﻮار اﺳﺖ.
ﭘﺲ ﭼﺮا ﺑﺎﯾﺪ ﺑﺮاي ﯾﺎدﮔﯿﺮي ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﺧﻮد را ﺑﻪ زﺣﻤﺖ اﻧﺪاﺧﺖ؟ ﭼﻮن ﺗﺼﺎوﯾﺮ
ﻫﻤﻪﺟﺎ ﻫﺴﺘﻨﺪ!
اﻧﺒﻮه ﺗﺼﺎوﯾﺮ ﺗﻮﻟﯿﺪﺷﺪه ﮐﻪ ﺷﺎﻣﻞ آﻟﺒﻮمﻫﺎي ﻋﮑﺲ ﺷﺨﺼﯽ در ﮔﻮﺷﯽ ﻫﻮﺷﻤﻨﺪ ﺷﻤﺎ
و ﻋﮑﺲﻫﺎي ﻋﻤﻮﻣﯽ در ﻓﯿﺲﺑﻮك 1ﯾﺎ وﯾﺪﯾﻮﻫﺎي ﯾﻮﺗﯿﻮب 2ﻣﯽﺷﻮﻧﺪ ،ﻣﻮﺟﺐ ﺷﺪهاﻧﺪ ﺗﺎ
ﺗﻌﺪاد ﺗﺼﺎوﯾﺮي ﮐﻪ در اﺧﺘﯿﺎر دارﯾﻢ ﺑﯿﺶ از ﭘﯿﺶ ﺑﺎﺷﺪ و ﺑﺮ اﯾﻦ اﺳﺎس ﺑﻪ روشﻫﺎﯾﯽ ﺑﺮاي
ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ،ﻃﺒﻘﻪﺑﻨﺪي و ﮐﻤﯽﺳﺎزي ﻣﺤﺘﻮاي اﯾﻦ ﺗﺼﺎوﯾﺮ ﻧﯿﺎز دارﯾﻢ.
ﺑﻪﻋﻨﻮان ﻣﺜﺎل ،آﯾﺎ اﺧﯿﺮ ًا ﻋﮑﺴﯽ از ﺧﻮد ﯾﺎ ﯾﮑﯽ از دوﺳﺘﺎن ﺧﻮد را در ﻓﯿﺲﺑﻮك ﺗﮓ
ﮐﺮدهاﯾﺪ؟ ﻓﮑﺮ ﻣﯽﮐﻨﯿﺪ ﻓﯿﺲﺑﻮك ﭼﮕﻮﻧﻪ ﻣﯽﻓﻬﻤﺪ ﮐﻪ ﭼﻬﺮهﻫﺎ در ﮐﺠﺎي ﯾﮏ ﺗﺼﻮﯾﺮ ﻗﺮار
ﮔﺮﻓﺘﻪاﻧﺪ؟ ﻓﯿﺲﺑﻮك اﻟﮕﻮرﯾﺘﻢﻫﺎي ﺗﺸﺨﯿﺺ ﭼﻬﺮه را در وبﺳﺎﯾﺖ ﺧﻮد ﭘﯿﺎدهﺳﺎزي ﮐﺮده
اﺳﺖ .اﯾﻦ اﻟﮕﻮرﯾﺘﻢﻫﺎ ﻧﻪﺗﻨﻬﺎ ﭼﻬﺮهﻫﺎي ﻣﻮﺟﻮد در ﯾﮏ ﺗﺼﻮﯾﺮ را ﺷﻨﺎﺳﺎﯾﯽ ﻣﯽﮐﻨﻨﺪ ،ﺑﻠﮑﻪ
ﻣﯽﺗﻮاﻧﻨﺪ ﺗﺸﺨﯿﺺ دﻫﻨﺪ ﭼﻬﺮهي ﺷﻨﺎﺳﺎﯾﯽﺷﺪه ﺑﻪ ﭼﻪ ﮐﺴﯽ ﺗﻌﻠﻖ دارد! ﺗﺸﺨﯿﺺ ﭼﻬﺮه
ﯾﮏ ﮐﺎرﺑﺮد ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ در دﻧﯿﺎي واﻗﻌﯽ اﺳﺖ.
ﺑﯿﻨﺎﯾﯽ ﮐﺎﻣﭙﯿﻮﺗﺮ ﭼﻪ ﮐﺎرﺑﺮدﻫﺎي ﻣﻔﯿﺪ دﯾﮕﺮي دارد؟ ﻣﯽﺗﻮاﻧﯿﻢ ﺑﺎ اﺳﺘﻔﺎده از ﻣﺮاﮐﺰ
ذﺧﯿﺮهﺳﺎزي ﺗﺼﺎوﯾﺮ ﻋﻤﻮﻣﯽ ﻣﺎﻧﻨﺪ ﻓﻠﯿﮑﺮ ،3ﻧﻤﺎﯾﺸﯽ از دﻧﯿﺎي ﺳﻪﺑﻌﺪي ﺧﻮد ﺑﺴﺎزﯾﻢ؛ ﻣﯽ
ﺗﻮاﻧﯿﻢ ﻫﺰاران ﻫﺰار ﻋﮑﺲ از ﻣﻨﻬﺘﻦ 4ﮐﻪ ﺗﻮﺳﻂ ﺷﻬﺮوﻧﺪان ﺑﺎ ﺗﻠﻔﻦﻫﺎي ﻫﻮﺷﻤﻨﺪ و
دورﺑﯿﻦﻫﺎﯾﺸﺎن ﮔﺮﻓﺘﻪ ﺷﺪهاﻧﺪ را داﻧﻠﻮد ﮐﺮده و آنﻫﺎ را ﺗﺠﺰﯾﻪ و ﺗﺤﻠﯿﻞ ﮐﻨﯿﻢ .ﺳﭙﺲ اﯾﻦ
1 Facebook
2
YouTube
3 Flickr
4 Manhattan