OpenCV圖像處理技術(shù)(微課版)課件項目1-7數(shù)字圖像處理基礎(chǔ)-圖像金字塔_第1頁
OpenCV圖像處理技術(shù)(微課版)課件項目1-7數(shù)字圖像處理基礎(chǔ)-圖像金字塔_第2頁
OpenCV圖像處理技術(shù)(微課版)課件項目1-7數(shù)字圖像處理基礎(chǔ)-圖像金字塔_第3頁
OpenCV圖像處理技術(shù)(微課版)課件項目1-7數(shù)字圖像處理基礎(chǔ)-圖像金字塔_第4頁
OpenCV圖像處理技術(shù)(微課版)課件項目1-7數(shù)字圖像處理基礎(chǔ)-圖像金字塔_第5頁
已閱讀5頁,還剩243頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目一數(shù)字圖像處理基礎(chǔ)(一)考核過程性考核占60%終結(jié)性考核占40%課上課后作業(yè)(40%)課堂表現(xiàn)(10%)考勤(10%)綜合考核40%未按時交或缺交扣10分/次滿分100分,表現(xiàn)突出加3-5分/次遲到或早退扣10分/次曠課20分/次O

p

e

n

C

V課前任務(wù)思考與查找:前面已經(jīng)學(xué)習(xí)了《人工智能基礎(chǔ)》、

《Python

程序設(shè)計》,學(xué)圖像處理

技術(shù)有什么用?O

p

e

n

C

V獲取圖像輪廓圖像融合

圖像對比度均衡提取圖像輪廓圖像分割

霍夫變換模板匹配特定目標(biāo)分析檢測直線、圓形等幾何圖形重復(fù)圖案檢測視頻處理口罩佩戴檢測等O

p

e

n

CV數(shù)字圖像處理技術(shù)形態(tài)學(xué)處理去除文章標(biāo)注邊緣檢測基礎(chǔ)概愈特定顏色檢測平滑處理去除噪聲圖像金字塔色彩空間單寸照換背景幾何變換圖片放大縮小圖像輪廊圖像運算面部打碼閾值處理提取關(guān)鍵區(qū)域直方圖處理數(shù)字圖像處理基本知識點圖像處理工程師(萊斯信息)南京菜斯信息技術(shù)段份有限公司8000-12000元月血投五險-南素【本科13-5年4天發(fā)布于貓聘圖像處理算法工程師廣州制給信息科技有限公司6001-8000

元/月南寧(本科11-3年作天發(fā)布于指礎(chǔ)人才網(wǎng)圖像處理北京系新環(huán)保有限公司面議西中(中專|不限的天發(fā)布于環(huán)保莫才視頻圖像處理算法工程師(上海嗶哩嗶哩科.上W

理科接有限公司20000-40000元月上霉!本科13-5年(E險-盒交)

a)4天發(fā)布于拉勾網(wǎng)圖像處理工程師(深圳顯揚科技有限公司)探圳思腸科技有限公司8000-12000元月(直投深明(本科1不限五

-今天發(fā)布于借聘圖像處理機器視覺軟件工程師(深圳市華騰…探圳市華騰半導(dǎo)體設(shè)備有限公司12000-20000元月(直段)探圳本科13-5年五

-

魚4天發(fā)布于留聘圖像處理及調(diào)優(yōu)工程師廣東億嘉和科技有限公司20000-40000元月(伊探擁|本科13-5年五險一金用年假B

日利02-24發(fā)布于智通人才網(wǎng)FPGA

圖像處理工程師探圳市玩視科技有限公司16000

-32000

元/月成都!本科以上I1-3年昨天發(fā)布于中國人才熱線圖像處理算法工程師(廈門美柚股份有限公…

20000-40000元月

保五險一金需游年假年能項醫(yī)學(xué)圖像處理工程師(南京景三醫(yī)療科技有

.20000-40000元

(交通補貼)年將分紅)(墻效獎金)南原暖三醫(yī)療科技有限公司

上海本科13-5年4天發(fā)布于位勾網(wǎng)

薪酬待遇廈門美植股份有限公司厘門1本科|不限4天發(fā)布于位勾網(wǎng)0

p

e

n

C

V能力要求1.有圖像處理、機器學(xué)習(xí)相關(guān)的學(xué)習(xí)和研究經(jīng)歷,具有較好的數(shù)學(xué)和算法基礎(chǔ);2.熟悉Python、C/C++、Java

等語言,熟練使用OpenCV等視覺庫,掌握圖像處理

的接口函數(shù)、深入了解OpenCV

部分源碼;3.熟悉Ubuntu

、redhat

等系統(tǒng)下深度學(xué)習(xí)環(huán)境搭建及yolo

、caffe-ssd

、caffe-

faster-rcnn等深度學(xué)習(xí)模型訓(xùn)練,并能進行調(diào)優(yōu);4

.強大的學(xué)習(xí)能力,能快速掌握新技術(shù)并理解其運用場景;5.根據(jù)業(yè)務(wù)需求,設(shè)計并實現(xiàn)新的算法。O

p

e

n

C

V○

圖像處理技術(shù)O

p

e

n

C

V眼之所見即為所求○圖像處理技術(shù)O

p

e

n

CV層層深入,化繁為簡手掌

二值化

凸包特征點感興趣區(qū)域自適應(yīng)閾值>數(shù)字圖像處理技術(shù)圖像處理技術(shù)人工智能分析○O

p

e

n

CV○

圖像處理技術(shù)沉渣細(xì)胞分析

肋骨三維重建圖像處理腹部CT

股骨與血管O

p

e

n

C

V圖像獲取、顯示以及相關(guān)信息獲取圖像像素訪問與修改重難點O

p

e

n

CV01數(shù)字圖像02

OpenCV03

圖像讀取、顯示、保存04

圖像像素處理目錄CONTENTSO

p

e

n

C

V01數(shù)字圖像人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用D

A1

知識儲備:數(shù)字圖像圖

客觀世界物體反射或透射光的分布,是客觀世界的反映像人類視覺系統(tǒng)對圖的響應(yīng),是人的大腦的印象或認(rèn)識,是人的感覺的一種The

Dog'sView透過現(xiàn)象觀察本質(zhì)700600

500400Wavelength(nm)TheHuman'sViewO

p

e

n

CV1知識儲備:數(shù)字圖像O

p

e

n

CV數(shù)字圖像由二維的元素組成每個元素包含一個坐標(biāo)以及響應(yīng)值知識儲備:數(shù)字圖像1O

p

e

n

C

V數(shù)字圖像處理針對特定任務(wù)提升圖像的可理解性知識儲備:數(shù)字圖像1O

p

e

n

C

V1知識儲備:數(shù)字圖像圖像處理

圖像分析

圖像理解O

p

e

n

C

V1知識儲備:數(shù)字圖像喵汪汪喵

汪喵O

p

e

n

C

V1知識儲備:數(shù)字圖像(205,89,68)122173

255129

115184

5118

248174

41125

198[202196

92

109|100126179

58125

41686718524237551956220823211086

20646

5241

16460

1499

4523135421715134151144Lena564019422O

p

e

n

C

V24518002

OpenCVP

A

/

/

/

/

/

術(shù)

/

應(yīng)

/

用研究員Gary

Bradski在為英特爾時注意到MIT

的媒體實驗室,擁有非常完備的內(nèi)部公開的

計算機視覺開發(fā)接口——代碼從一個學(xué)生傳到另

一個學(xué)生手中,并且會給每個新來的學(xué)生一個有

價值的由他們自己開發(fā)的視覺應(yīng)用方案。知識儲備:OpenCV2起源O

p

e

n

C

V●為高級的視覺研究提供開源并且優(yōu)化過的基礎(chǔ)代碼,不再

需要重復(fù)造輪子。●以提供開發(fā)者可以在此基礎(chǔ)上進行開發(fā)的通用接口為手段

傳播視覺相關(guān)知識,這樣代碼有更強的可讀性和移植性?!褚詣?chuàng)造可移植的、優(yōu)化過的免費開源代碼來推動基于高級

視覺的商業(yè)應(yīng)用,這些代碼可以自由使用,不要求商業(yè)應(yīng)用程序開放或免費。知識儲備:OpenCV2目標(biāo)O

p

e

n

C

V善假于物,勝于閉門造車知識儲備:OpenCV2O

p

e

n

C

V超分辨圖像拼接異構(gòu)與并行計算機器學(xué)習(xí)對象檢測維可視化深度神經(jīng)網(wǎng)絡(luò)分割與正配ImageprocessingCoreImgcodecsHigh-levelGUIVideoI/O2

知識儲備:OpenCV擴展模塊2D

取相機矯正與三維重建視頻分析O

p

e

n

C

VPython+Anaconda+PyCharm的安裝和基本使用:/video/BV1K7411c7EL?p=3OpenCV的安裝方法:pipinstallopencv-python==6pipinstallopencv-contrib-python==0知識儲備:OpenCV2O

p

e

n

C

V03圖像讀取、顯示、保存T

H

R

E

日人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用3

圖像讀取、顯示、保存

圖像讀取cv2.imread('cat.jpg')

圖像顯示

cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)cv2.imread('cat.jpg',cv2.IMREAD_COLOR)

圖像保存O

p

e

n

C

V3

圖像讀取、顯示、保存

圖像讀取cv2.imshow(name,img)

圖像顯示

cv2.waitKey(0)cv2.destroyAIIWindows()

圖像保存O

p

e

n

C

V3

圖像讀取、顯示、保存

圖像讀取

圖像顯示

cv2.imwrite('mycat2.png',img)

圖像保存O

p

e

n

C

V圖像讀取任務(wù)小結(jié):imread()讀取不同類型圖像圖像顯示imshow()顯示窗口與關(guān)閉imwrite()

保存圖像圖像保存3圖像讀取、顯示、保存O

p

e

n

C

V

圖像讀取

圖像顯示

圖像保存任務(wù)實施:根據(jù)任務(wù)書完成圖像讀取、顯示、保存3

圖像讀取、顯示、保存O

p

e

n

C

V04圖像像素處理P

A人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用數(shù)字圖像由二維的元素組成每個元素包含一個坐標(biāo)以及響應(yīng)值修改每個坐標(biāo)對應(yīng)的響應(yīng)值,即可

修改整體的圖像像素分布見微知著,以小見大知識儲備:圖像像素值修改的意義1O

p

e

n

C

Vimportcv2img=cv2.imread('dcz.jpg')#讀取圖片

###學(xué)會模塊化編程,此處用于填寫處理代碼###cv2.imshow('dcz',img)#顯示圖片cv2.waitKey(0)cv2.destroyAIIWindows()讀取與顯示獲取圖像形狀循環(huán)遍歷1

任務(wù)一:獲取圖像中的單個像素O

p

e

n

C

Vimportcv2img=cv2.imread('dcz.jpg')#讀取圖片###h,w,C=img.shape#獲取圖像的長和寬及通道數(shù)目###cv2.imshow('dcz',img)#顯示圖片cv2.waitKey(0)cv2.destroyAIIWindows()讀取與顯示獲取圖像形狀循環(huán)遍歷1

任務(wù)一:獲取圖像中的單個像素O

p

e

n

C

Vimportcv2img=Cv2.imread('dcz.jpg')#讀取圖片###h,w,c=img.shapefor

i

inrange(0,h):#根據(jù)長寬通道數(shù)進行遍歷

forjin

range(0,w):fork

in

range(0,c):print(img[i,j,k])#輸出每個像素對應(yīng)的像素值###cv2.imshow('dcz',img)#顯示圖片cv2.waitKey(0)cv2.destroyAlIWindows()讀取與顯示獲取圖像形狀循環(huán)遍歷1

任務(wù)一:獲取圖像中的單個像素O

p

e

n

C

V1

練習(xí):修改像素點的值像素訪問將每個像素的像素值加10像素修改O

p

e

n

C

V8位圖像的像素值分布在[0-255]之間,有時候為了突出顯示關(guān)鍵信息,需要對像

素值進行篩選,比方說提取[80-150]區(qū)間

內(nèi)的像素值。抓住關(guān)鍵,解決問題知識儲備:提取關(guān)鍵信息2O

p

e

n

C

V分析數(shù)據(jù)編寫程序優(yōu)化程序眼鏡大致在高350至520,寬220至670,區(qū)域根據(jù)的位置信息,

編程如下。任務(wù)二:獲取dczjpg

中眼鏡部分2)O

p

e

n

C

Vimport

cv2src=Cv2.imread('.\sucai1\dcz.jpg')glasses=src[350:520,220:670]#將眼鏡RO1

賦值給變量glassescv2.imshow("glasses",glasses)cv2.waitKey(0)cv2.destroyAlIWindows()運行結(jié)果如圖1.32所示。分析數(shù)據(jù)編寫程序優(yōu)化程序2

任務(wù)二:獲取dczjpg

中眼鏡部分O

p

e

n

C

Vimport

cv2import

numpy

as

npmask=np.random.randint(0,255,(100,200,3),dtype

=np.uint8)11I0,255:表示生成的像素值區(qū)間為0-255(100,200,3):表示長為100,寬為200,通道

數(shù)為3,dtype=np.uint8:表示生成的圖像為8位圖像1cv2.imshow("mask",mask)cv2.waitKey(0)cv2.destroyAlIWindows()分析數(shù)據(jù)編寫程序優(yōu)化程序2

任務(wù)二:獲取dczjpg

中眼鏡部分O

p

e

n

C

V分析數(shù)據(jù)編寫程序優(yōu)化程序任務(wù)二:獲取dczjpg

中眼鏡部分練習(xí):根據(jù)上述馬賽克生成方法,將dcz.jpg眼睛部分進行馬賽克處理。結(jié)2果如圖所示。O

p

e

n

C

V人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目二

圖像運算(一)課前任務(wù)將“LinuxLogo.jpg”與(“WindowsLogo.jpg”相加,查看結(jié)果,對比

前后像素變化并舉例解釋:img1=cv2.imread("LinuxLogojpg")img2=cv2.imread("WindowsLogo.jpg")img3=img1+img2cv2.imshow("add",img3)O

p

e

n

C

V01

算術(shù)運算

圖像淡入淡出效果目錄CONTENTSO

p

e

n

C

V加權(quán)運算,加乘運算代碼實現(xiàn)圖像淡入淡出效果重難點O

p

e

n

C

Vimg1算術(shù)運算img2邏輯運算MASK“大小一致”O(jiān)

p

e

n

C

V0000000110011100110000000知識儲備:圖像運算562821213122823281675858167213123561671232131675624213121021352428242856123562101451635816712321324238320838187562823281201算術(shù)運算P

A人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用加

除學(xué)會觀察,提煉原理O

p

e

n

C

V1知識儲備:算術(shù)運算1知識儲備:算術(shù)運算十

cv2.add

()img1×

“+”對比分析學(xué)會總結(jié)5628-232812·b≤255

b>25512356210145163238320838187242131210213558167123213242428242856img2O

p

e

n

C

V?cv2.add()cv2.subtract()1知識儲備:算術(shù)運算O

p

e

n

C

Vcv2.add()cv2.subtract()

cv2.divide()知識儲備:算術(shù)運算1O

p

e

n

C

Vcv2.add()cv2.subtract()

cv2.divide()

cv2.multiply()知識儲備:算術(shù)運算1O

p

e

n

C

V加權(quán)和cv22.addWeighted

(src1,alpha,src2,beta,gamma)O

p

e

n

C

V加

減乘除addsubtractdividemultiply知識儲備:數(shù)字圖像102圖像淡入淡出效果人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用defcontrast_brightness_demo(image,c,b):h,w,ch

=image.shapeblank

=np.zeros([h,w,ch],image.dtype)dst=cv2.addWeighted(image,c,blank,1-c,b)cv2.imshow("con-bri-demo",dst)知識儲備:cv2.addWeighted()實戰(zhàn)操作任務(wù)

一:

實現(xiàn)PS

·圖像調(diào)整20

p

e

n

C

V2任務(wù)—:實現(xiàn)PS·圖像調(diào)整任務(wù)一:拓展練習(xí)使用addWeighted()函數(shù),實現(xiàn)兩幅照片“淡化效果”切換。舉一反三,鞏固新知O

p

e

n

C

V人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目二

圖像運算(二)圖像像素值的本質(zhì)是0與1,請問251的二進制值是多少如:255=(11111111)B255/2=127=====余1127/2=63======余163/2=31=======余131/2=15=======余115/2=7========余17/2=3=========余13/2=1=========余11/2=0=========余1課前導(dǎo)入O

p

e

n

CV

邏輯運算

隱藏的秘密:數(shù)字水印目錄CONTENTSO

p

e

n

C

V重難點邏輯運算圖像加密O

p

e

n

C

V01邏輯運算人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用1知識儲備:邏輯運算與或

異或

取反類比學(xué)習(xí),做好假設(shè)O

p

e

n

C

V算子1算子2與

·

結(jié)果與

·

規(guī)則或

·

結(jié)果或

·

規(guī)則000and(0,0)=00and(0,0)=0010and(0,1)=01and(0,1)=1100and(1,0)=01and(1,0)=1111and(1,1)=11and(1,1)=1知識儲備:邏輯運算異或取反與或1O

p

e

n

C

V算子1算子2與

·

結(jié)果與

·

規(guī)則或

·

結(jié)果或

·

規(guī)則000and(0,0)=00and(0,0)=0010and(0,1)=01and(0,1)=1100and(1,0)=01and(1,0)=1111and(1,1)=11and(1,1)=1數(shù)值十進制值二進制值數(shù)值119811000110數(shù)值221911011011按位或運算結(jié)果22311011111按位與運算結(jié)果19411000010知識儲備:邏輯運算異或取反與或1O

p

e

n

C

Vbitwise_and()bitwise_or()1知識儲備:邏輯運算異或取反與

或O

p

e

n

C

V數(shù)值十進制值二進制值數(shù)值119811000110數(shù)值221911011011按位異或運算結(jié)果2900011101取反

bitwise_xor()1知識儲備:邏輯運算與

或異或O

p

e

n

C

V說明十進制值二進制值原始數(shù)值19811000110按位非運算結(jié)果5700111001取反

bitwise_not()1知識儲備:邏輯運算與

或異或O

p

e

n

C

V1知識儲備:邏輯運算與

bitwise_and()或

bitwise_or()異或

bitwise_xor()取反

bitwise_not()O

p

e

n

C

V101011001010100000111000XOR0001011001011001001010000001101100110000011101114024164142971108321313217715615256702699162100001001011000110011100100110000011100001000110000110100110.001110100010172168562289402748119001010000001100010100100100011100110000101101110000000010101001111010101圖像A

的二進制表示為AB,其像素值為:圖像K

的二進制表示為KB,其像素值為:接下來實現(xiàn)圖像AB

和圖像KB的按位異或運算得到AKB:

圖像AKB轉(zhuǎn)換為十進制圖像AK:假設(shè)有需要加密的原始圖像A,

其像素值為:加密密鑰圖像為K,其像素值為:知識儲備:圖像加密https://tool.lu/hexconvert/1O

p

e

n

C

V40241641429711083213172168562289402748119101011001010100000111000000101100101100100101000000110110011000001110111可以發(fā)現(xiàn),x

圖像和原來的圖像A

完全一致。該過程詳細(xì)解釋了8位圖像的加密和解密過程。在實際應(yīng)

用中,收發(fā)雙方應(yīng)該事先的規(guī)定好密鑰圖像,發(fā)送方利用密鑰圖像將圖片加密,將密文發(fā)給接收方,

然后接收方接到密文,然后用密鑰進行解密,最終得到原始圖像。可以看出將A圖像加密后的圖像AK已經(jīng)發(fā)生了本質(zhì)的變換,下面將AKB圖像繼續(xù)和密鑰圖像KB進行按

位異或運算,得到圖像XB:觀察本質(zhì)透過現(xiàn)象知識儲備:圖像加密1圖

像AKB轉(zhuǎn)換為十進制圖像AK:將圖像XB轉(zhuǎn)換為十進制圖像X:O

p

e

n

C

V人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目三色彩空間與幾何變換(一)閱讀教材54頁及自行搜索,了解RGB、GRAY、HSV、RGBA顏

色空間的概念紅紫

黑藍(lán)

綠課前任務(wù)O

p

e

n

C

V01

色彩空間02實現(xiàn)顏色提取:提取指定顏色物體目錄CONTENTSO

p

e

n

C

V提取特定顏色的物體,實現(xiàn)圖像的幾何矯正色彩空間的相互轉(zhuǎn)換,幾何變換的應(yīng)用重難點O

p

e

n

C

V01色彩空間P

A人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用1)

任務(wù)—:圖像類型轉(zhuǎn)換任務(wù)一

圖像類型轉(zhuǎn)換使用cvtColor()函數(shù),實現(xiàn)各種顏色空間的轉(zhuǎn)換。O

p

e

n

C

V(0,0,0)~(255,255,255)表示。RGB

空間是生活中最常用的一個

模型,電視機、電腦的顯示器等大部分

都是采用這種模型。自然界中的任何一

種顏色都可以由紅、綠、藍(lán)三種色光混

合而成。RGB顏色空間以R(Red:紅)、G(Green:綠)、B(Blue:藍(lán))三種基本色為基礎(chǔ),進行不同程度的疊加,產(chǎn)生豐富而廣泛的顏色,所以俗稱三基色模式。通常的用知識儲備:RGB色彩空間1O

p

e

n

C

V灰度化顧名思義就是將圖片變?yōu)榛疑?,在OpenCV

中可以用cvtColor函數(shù)將圖像進行灰度化,但這里并不使用該函數(shù),而是采用計算公式:Y=0.2126*R+0.7152*G+0.0722*B,RGB

分別為彩色圖像的三通道GRAY顏色空間(灰度圖像)通常指8位灰度圖,具有256個灰度級,像素值的范圍為[0,255]。所謂灰度色,就是指純白、純黑以及兩者中的一系列從黑到白的過渡色。知識儲備:GRAY色彩空間1O

p

e

n

C

V1

知識儲備:HSV

色彩空間HSV(Hue,Saturation,Value)是根據(jù)顏色的直觀特性創(chuàng)建的一種顏色空間,也稱六角

錐體模型。這個模型中顏色的參數(shù)分別是:色調(diào)(H),

度(S),

度(V)。色調(diào):不同波長的光表現(xiàn)為不同的顏色,[0,360]。飽和度:表示顏色接近光譜色的程度,[0,1]。亮度:人眼感受到的光的明暗程度,[0,100]。色調(diào)10O

p

e

n

C

V1飽和度亮度BGR與RGBBGR與灰度

BGR與HSVO

p

e

n

C

V知識儲備:類型轉(zhuǎn)換函數(shù)1dst=cv2.cvtColor(src,cv2.COLOR

BGR2RGB)dst=cv2.cvtColor(src,cv2.COLOR

RGB2BGR)BGR與RGBBGR

與灰度BGR與HSV1知識儲備:類型轉(zhuǎn)換函數(shù)O

p

e

n

C

Vdst=cv2.cvtColor(src,cv2.COLOR

BGR2GRAY)dst=cv2.cvtColor(src,cv2.COLOR

GRAY2BGR)BGR與RGBBGR

與灰度BGR與HSV1知識儲備:類型轉(zhuǎn)換函數(shù)O

p

e

n

C

Vdst=cv2.cvtColor(src,cv2.COLOR

BGR2HSV)dst=cv2.cvtColor(src,cv2.COLOR

HSV2BGR)BGR與RGBBGR

與灰度BGR與HSV1知識儲備:類型轉(zhuǎn)換函數(shù)O

p

e

n

C

V實現(xiàn)顏色提?。禾崛≈付伾矬w人

/

/智

/

/

/

術(shù)

/

應(yīng)

/

用02黑灰白紅橙黃綠青藍(lán)紫hmin000015611263578100125hmax180180180101802534;7799124155smin00043434343434343smax2554330255255255255255255255vmin04622146464646464646vmax46220255255255255255255255255知識儲備:HSV

顏色表H:0—180S:0—255V:0—255此處把部分紅色歸為紫色范圍:任務(wù)二:提取指定顏色20

p

e

n

C

V2任務(wù)二:提取指定顏色知識儲備:cv2.inRange()

函數(shù)詳解語

:dst=cv2.inRange(src,lowerb,upperb),lowerb為范圍下界,upperb

為范圍上界作用:判斷圖像內(nèi)的像素點的像素值是否在指定的范圍內(nèi)O

p

e

n

C

V課前任務(wù)預(yù)習(xí)幾何變換的概念O

p

e

n

C

V人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目三色彩空間與幾何變換(二)閱讀教材及自行搜索,了解圖像幾何變換的概念課前任務(wù)O

p

e

n

C

V01

幾何變換

實現(xiàn)圖像的幾何變換目錄CONTENTSO

p

e

n

C

V實現(xiàn)圖像的幾何矯正重難點幾何變換的應(yīng)用O

p

e

n

C

V01幾何變換P

A人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用1)任務(wù)三:簡單的幾何變換幾何變換是指將一幅圖像映射到另外一幅圖像內(nèi)的操作。

本任務(wù)主要介紹的映射關(guān)系劃分為縮放、翻轉(zhuǎn)、仿射、透視、重映射

等。O

p

e

n

C

Vsrc:

原圖dsize:

輸出圖像的大小fx:水平方向的縮放比例fy:

垂直方向的縮放比例interpolation:

插值方法cv2.resize(src,dsize[,fx[,fy[,interpolation]]])縮放翻轉(zhuǎn)仿射透視知識儲備:簡單的幾何變換1O

p

e

n

C

Vsrc:

原圖flipCode:旋轉(zhuǎn)類型(實驗)縮放翻轉(zhuǎn)仿射透視cv2.flip(src,flipCode)知識儲備:簡單的幾何變換1O

p

e

n

C

V指圖像可以通過一系列的幾何變換來實現(xiàn)平移、旋轉(zhuǎn)等

多種操作。cv2.warpAffine()10x=10001y=200縮放翻轉(zhuǎn)仿射透視知識儲備:簡單的幾何變換1O

p

e

n

C

Vcv2.warpAffine(src,M,dsize)src:原圖M:

表示變換矩陣,反映平移或翻轉(zhuǎn)的關(guān)系,為一

個2×3的矩陣dsize:輸出圖像的畫布大小縮放翻轉(zhuǎn)仿射透視1

知識儲備:簡單的幾何變換0

p

e

n

C

V0------?M

構(gòu)造方法--平移向右側(cè)移動x個像素,向下側(cè)移動y個像素M=np.float32([[1,0,x],[0,1,y]])縮放翻轉(zhuǎn)。仿射透視知識儲備:簡單的幾何變換10

p

e

n

C

VM構(gòu)造方法--旋轉(zhuǎn)M=cv2.getRotationMatrix2D(center,angle,scale)center

:表示旋轉(zhuǎn)中心。angle:

表示旋轉(zhuǎn)角度,正數(shù)表示逆時針旋轉(zhuǎn),負(fù)數(shù)

表示順時針旋轉(zhuǎn)。scale:表示變換尺度,即縮放大小。縮放翻轉(zhuǎn)仿射透視1

知識儲備:簡單的幾何變換O

p

e

n

C

V1知識儲備:簡單的幾何變換縮放將矩形映射為任意四邊形cv2.warpPerspective()翻轉(zhuǎn)仿射透視O

p

e

n

C

V決遞哥o---lli?將矩形映射為任意四邊形cv2.warpPerspective(src,M,dsize)src:

表示原始輸入圖像。M:

表示變換矩陣,為一個3×3的矩陣。dsize:

表示輸出圖像的大小??s放翻轉(zhuǎn)仿射透視1

知識儲備:簡單的幾何變換O

p

e

n

C

V核心還是構(gòu)造轉(zhuǎn)換矩陣MM=cv2.getPerspectiveTransform(pts_o,pts_d)pts

o:表示輸出圖像的4個頂點坐標(biāo)。pts_d:表示原始輸入圖像的4個頂點坐標(biāo)??s放翻轉(zhuǎn)仿射透視1

知識儲備:簡單的幾何變換O

p

e

n

C

Vpts_o=np.float32([[x1,y1],[x2,y2],[x3,y3],[x4,y4]

])pts_d=np.float32([[0,0],[w,0],[0,h],[w,h]])O

p

e

n

C

V(0,h)

(w,h)知識儲備:簡單的幾何變換(0,0)

(w,O)1作業(yè)將lenajpg

轉(zhuǎn)換為灰度圖像,應(yīng)用縮放、翻轉(zhuǎn)

、平移、旋轉(zhuǎn)、透視等相關(guān)知識進行實驗,并

撰寫實驗報告O

p

e

n

C

V人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目四閾值與平滑處理(一)課前任務(wù)如何用像素級操作,將peppa.jpg

中像素值小于180的設(shè)置為黑色,大于等

于180的的像素值設(shè)置為白色。圖像處理的本質(zhì)就是像素處理O

p

e

n

C

V01

閾值處理

使用滑塊調(diào)整閾值大小目錄CONTENTSO

p

e

n

C

V閾值選定與處理、模糊處理重難點卷積概念O

p

e

n

C

V01閾值處理人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用定

:指剔除圖像內(nèi)像素值高于一定值或者低于一定值的像素點例如,設(shè)定閾值為127,然后:將圖像內(nèi)所有像素值大于127的像素點的值設(shè)為255。將圖像內(nèi)所有像素值小于或等于127的像素點的值設(shè)為0。一幅圖像包括目標(biāo)物體、背景還有噪聲要想從多值的數(shù)字圖像中提取目標(biāo)物體知識儲備:閾值處理1O

p

e

n

CV定義:指剔除圖像內(nèi)像素值高于一定值或者低于一定值的像素點例如,設(shè)定閾值為127,然后:將圖像內(nèi)所有像素值大于127的像素點的值設(shè)為255。將圖像內(nèi)所有像素值小于或等于127的像素點的值設(shè)為0。知識儲備:閾值處理1O

p

e

n

C

V1知識儲備:閾值處理OpenCV

提供了函數(shù)cv2.threshold()

和函數(shù)cv2.adaptiveThreshold(),

用于實現(xiàn)閾值處理。cv2.threshold()cv2.adaptiveThreshold()O

p

e

n

C

Vcv2.THRESH_BINARYdst(es)={0,其他情況cv2.THRESH_BINARY_INVdst(w)={src

)

eshev2.THRESH_TRUNCsrc(x,y)>thresh其他情況ev2.THRESH_TOZERO_INVsre(x,y)>thresh其他情況ev2.THRESH_10ZEROdstky)=[src(xysrc(xy)>thresh他情況ev2.THRESH_MASK掩碼cv2.THRESH_OTSUev2.THRESH

TRIANGLE標(biāo)記,使用Otsu算法時的可選網(wǎng)值參數(shù)

稱記,使用Trangle算法時的可選閥值參數(shù)情況>thr其他(xycv2.threshold()cv2.adaptiveThreshold()retval,dst=cv2.threshold(src,thresh,maxval,type)知識儲備:閾值處理1O

p

e

n

C

Vcv2.THRESH_BINARYcv2.THRESH_BINARY_INVcv2.THRESH_TRUNCcv2.THRESH_TOZERO_INVcv2.THRESH_TOZEROcv2.threshold()cv2.adaptiveThreshold()二值化反二值化截斷超閾值零處理

低閾值零處理retval,dst=cv2.threshold(src,thresh,maxval,type)1知識儲備:閾值處理O

p

e

n

C

Vcv2.threshold()cv2.adaptiveThreshold()cv2.THRESH_BINARYcv2.THRESH_BINARY_INVcv2.THRESH_TRUNCcv2.THRESH_TOZERO_INVcv2.THRESH_TOZEROBINARY_INVTOZERO_INVretval,dst=cv2.threshold(src,thresh,maxval,type)1知識儲備:閾值處理Original

imageO

p

e

n

CVTOZEROBINARYTRUNCcv2.threshold()cv2.adaptiveThreshold()自適應(yīng)閾值處理

保留了更多的細(xì)節(jié)信息1知識儲備:閾值處理8352223O

p

e

n

C

V2自適應(yīng)閾值處理定義:使用變化的閾值完成對圖像的閾值處理。操

:通過計算每個像素點周圍臨近區(qū)域的加權(quán)平均值獲得閾值,并使用該閾值對

當(dāng)前像素點進行處理。目

:保留了更多的細(xì)節(jié)信息cv2.threshold()cv2.adaptiveThreshold()知識儲備:閾值處理1O

p

e

n

C

Vdst=cv2.adaptiveThreshold(src,maxValue,adaptiveMethod,thresholdType,blockSize,C)●

maxValue代表最大值?!馻daptiveMethod代表自適應(yīng)方法?!駎hresholdType代表閾值處理方式,該值必須是cv2.THRESH_BINARY或者cv2.THRESH_BINARY_INV

中的一個?!?/p>

blockSize代表塊大小。表示一個像素在計算其閾值時所使用的鄰域尺寸,通常為3、5、7等。●

C是常量。cv2.threshold()cv2.adaptiveThreshold()知識儲備:閾值處理1O

p

e

n

C

VP1P3鄰

域P4P7P5P8P6P9O

p

e

n

C

VP21知識儲備:閾值處理cv2.threshold()cv2.adaptiveThreshold()cv2.THRESH_BINARYcv2.THRESH_BINARY_INVcv2.THRESH_TRUNCcv2.THRESH_TOZERO_INVev2.THRESH_TOZEROcv2.THRESH_MASKev2.THRESH_OTSUcy2THRESH

TRIANGLE給定初始閾值計算機自己找給定閾值O

p

e

n

CVOtsu大津定義:根據(jù)當(dāng)前圖像給出最佳的類間分割閾值。操作:遍歷所有可能閾值,從而找到最佳的閾值。t,otsu=cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)O

p

e

n

C

Vcv2.threshold()cv2.adaptiveThreshold()知識儲備:閾值處理102使用滑塊調(diào)整閾值大小人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用2

函數(shù)實操與彩色圖像cv2.threshold()

cv2.adaptiveThreshold()I

Task1函數(shù)實操cv2.Threshold()cv2.adaptiveThreshold()cv2.Threshold(Otsu)O

p

e

n

C

V|用滾動條控制閾值處理參數(shù)知識儲備1:回調(diào)函數(shù)用于將滑動條的數(shù)值處理并響應(yīng)cv2.threshold()cv2.adaptiveThreshold()函數(shù)實操與彩色圖像2O

p

e

n

C

V|用滾動條控制閾值處理參數(shù)知識儲備2:cv2.createTrackbar(“name”,“winname”,“default”,"max”,callback)Data=Cv2.getTrackbarPos(”name”,“winname”)O

p

e

n

C

Vcv2.threshold()cv2.adaptiveThreshold()2

函數(shù)實操與彩色圖像人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目四閾值與平滑處理(二)課前任務(wù)如何對有很多噪聲的

圖片進行畫質(zhì)改善?/product/imageprocess/image_definition_enhanceO

p

e

n

C

V01

平滑處理

使用滑塊調(diào)整平滑效果目錄CONTENTSO

p

e

n

C

V重難點模糊處理卷積概念O

p

e

n

C

V01平滑處理P

A人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用1知識儲備:平滑處理卷積:基本原理:將噪聲所在像素點的像素值處理為其周圍臨近像素點的值的近似值。均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D

卷積(自定義濾波)去除圖像

內(nèi)部噪聲目標(biāo)O

p

e

n

C

V1

知識儲備:平滑處理卷積:將噪聲所在像素點的像素值處理為其周圍臨近像素點的值的近似值。a,b

的下標(biāo)相加都為1,1C1,1=ao,ob?,1O

p

e

n

C

V均值濾波

方框濾波

高斯濾波中值濾波

雙邊濾波

2D卷積1知識儲備:平滑處理0

p

e

n

CV1

知識儲備:平滑處理均值濾波

定義:是指用當(dāng)前像素點周圍N*N個像素值的均值來代替當(dāng)前像素值。P1P2P3P4P5P6P7P8P9方框濾波高斯濾波中值濾波雙邊濾波2D卷積均值卷積核×P5=(P1+P2+……+P9)/(3×3)O

p

e

n

C

V函數(shù)形式:dst=cv2.blur(src,ksize,anchor,borderType)ksize:濾波核的大小。濾波核大小是指在均值處理過程中,其鄰域圖像的高度和寬度。

anchor:

錨點,其默認(rèn)值是(-1,-1),表示當(dāng)前計算均值的點位于核的中心點位置。

borderType:

邊界樣式,該值決定了以何種方式處理邊界。通常情況下,使用均值濾波函數(shù)時,對于錨點anchor和邊界樣式borderType,

直接采用其默認(rèn)

值即可。因此,函數(shù)cv2.blur()的一般形式為:dst=cv2.blur

(src,ksize,)。缺點在于它不能很好地保護圖像細(xì)節(jié),在圖像去噪的同時

也破壞了圖像的細(xì)節(jié)部分,從而使圖像變得模糊,不能很好地去除噪聲點。均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積1知識儲備:平滑處理O

p

e

n

C

V定義:自由選擇是否對均值濾波的結(jié)果進行歸一化,即可以自由選擇濾波結(jié)果是鄰域像素值之和的平均值,還是鄰域像素值之和。方框濾波的權(quán)重系數(shù)模板,a={1,均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積1知識儲備:平滑處理O

p

e

n

C

V函數(shù)形式:cv2.boxFilter(src,ddepth,ksize,anchor,normalize,borderType)ddepth

是處理結(jié)果圖像的圖像深度,一般使用-1表示與原始圖像使用相同的圖像深度。normalize

表示在濾波時是否進行歸一化(這里指將計算結(jié)果規(guī)范化為當(dāng)前像素值范圍內(nèi)

的值)處理,該參數(shù)是一個邏輯值,可能為真(值為1)或假(值為0)。通常情況下,函數(shù)cv2.boxFilter()的一般形式為:dst=cv2.boxFilter(src,ddepth,ksize)均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積1知識儲備:平滑處理O

p

e

n

C

V定義:將中心點的權(quán)重值加大,遠(yuǎn)離中心點的權(quán)重值減小,在此基礎(chǔ)

上計算鄰域內(nèi)各個像素值不同權(quán)重的和。于常見的3x3

或者5x5

其整數(shù)均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積知識儲備:平滑處理模板如下:1高斯卷積核O

p

e

n

C

V函數(shù)形式:dst=cv2.GaussianBlur(src,ksize,sigmaX,sigmaY,borderType)sigmaX是卷積核在水平方向上(X

軸方向)的標(biāo)準(zhǔn)差,其控制的是權(quán)重比例。

sigmaY

是卷積核在垂直方向上(Y軸方向)的標(biāo)準(zhǔn)差。在實際處理中,可以顯式指定sigmaX和sigmaY

為默認(rèn)值0。因此,函數(shù)

cv2.GaussianBlur()的常用形式為:dst=cv2.GaussianBlur(src,ksize,0,0)

,高斯濾波的作用是消除高斯噪聲(抑制服從正態(tài)分布的噪聲)均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D

卷積1知識儲備:平滑處理O

p

e

n

C

V定義:用鄰域內(nèi)所有像素值的中間值來替代當(dāng)前像素點的像素值。dst=cv2.medianBlur(src,ksize)該方法在去除脈沖噪聲、椒鹽噪聲的同時又能保留圖像邊緣細(xì)節(jié)均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積1知識儲備:平滑處理O

p

e

n

C

V120126127150125115119123定義:用鄰域內(nèi)所有像素值的中間值來替代當(dāng)前像素點的像素值(尋找

中位數(shù)

)。均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積1知識儲備:平滑處理124O

p

e

n

C

V定義:是綜合考慮空間信息和色彩信息的濾波方式,在濾波過程中能夠有效地保護圖像內(nèi)的邊緣信息。cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace,borderType)d:在濾波時選取的空間距離參數(shù),這里表示以當(dāng)前像素點為中心點的直徑。如果該值

為非正數(shù),則會自動從參數(shù)sigmaSpace計算得到。sigmaColor:

濾波處理時選取的顏色差值范圍,該值決定了周圍哪些像素點能夠參與

到濾波中來。sigmaSpace:坐標(biāo)空間中的sigma值。在函數(shù)cv2.bilateralFilter()中,參數(shù)borderType是可選參數(shù),其余參數(shù)全部為必選參數(shù)。cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace)均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D卷積1知識儲備:平滑處理O

p

e

n

C

V定義:使用特定的卷積核實現(xiàn)卷積操作。dst=cv2.filter2D(src,ddepth,kernel,anchor,delta,borderType)delta

:修正值,它是可選項。如果該值存在,會在基礎(chǔ)濾波的結(jié)果上加上該值作

為最終的濾波處理結(jié)果。在通常情況下,使用濾波函數(shù)cv2.filter2D()時,對于參數(shù)錨點anchor、修正值delta、邊界樣式borderType,直接采用其默認(rèn)值即可。因此,函數(shù)

cv2.filter2D()的常用形式為:dst=cv2.filter2D(src,ddepth,kernel)/qq_62932195/article/details/126337971均值濾波方框濾波高斯濾波中值濾波雙邊濾波2D

卷積1知識儲備:平滑處理O

p

e

n

C

V6d8dLd9dSdvdEdZdTdT乙T0T-Z-T-A

)u

?

d

o人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用OpenCV圖像處理技術(shù)項目五形態(tài)學(xué)操作(一)課前任務(wù)預(yù)習(xí)教材80頁,解釋形態(tài)學(xué)腐蝕的原理O

p

e

n

C

V01

腐蝕與膨脹02

通用形態(tài)學(xué)函數(shù)03

核函數(shù)04

找一找:筆記注釋目錄CONTENTSO

p

e

n

C

V重點通用形態(tài)學(xué)函數(shù)重難點腐蝕與膨脹O

p

e

n

C

V知識儲備:形態(tài)學(xué)操作形態(tài)學(xué),即數(shù)學(xué)形態(tài)學(xué)(Mathematical

Morphology),是圖像處理過程中一個非常重要的研究方向。例

,在識別手寫數(shù)字時,能夠通過形態(tài)學(xué)運算得到其骨架信息,在具體識別時,僅

針對其骨架進行運算即可。圖像處理學(xué)科的一個單獨分支學(xué)

科,是由數(shù)學(xué)的集合論等相關(guān)理論

發(fā)展起來的灰度&二值圖像提取圖像分量信息最本質(zhì)的形狀特征目標(biāo)O

p

e

n

C

V◆

腐蝕◆

膨脹◆開運算◆閉運算◆形態(tài)學(xué)梯度運算◆頂帽運算◆黑帽運算知識儲備:形態(tài)學(xué)操作BAND[NOT(A)]AND(B)NOT-AND(B)XOROp

enC

V(A)OR(B)01腐蝕與膨脹人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用000000

o

0000000o

0

0

o

0

o

00

o

o

o0

o

0

o0

o

0

0o

00000000000000

00o

010

o

0000

o

o0o

00o0110

o

o

oo

o

0

o

0

o

0

0oo

o

oo

o

o

oo

o

010

o

0

0000000o

00010

o

00

000o000oo

010

oo

00

0000000

o

010

o

0000

0

o

o

o

oo

o

010

o

o

o0

o

0

0

o0

o

00010o

o

o

0o

o

0000000110ooo

000000o

0111

o

o

00

o

0

o00oooo01111oo

00

o

00oooo0oooooo

0o

o

0o0o

000

o

o

o

o

0

o

o0

o

01知識儲備:腐蝕與膨脹●將圖像的邊界點消除,使圖像沿著邊界向內(nèi)收縮●將小于指定結(jié)構(gòu)體元素的部分去除0o

o

o0

o

0

o

o

o

oo

o

o

o

00o

o

o0

o

oo

o

o

o

o

o

o

o

00

o

0111

o

o

o

o

o

o

o

o

o

0o

0

10

o

o

oo

o

o

o

0

o011oooo1110o011110o

o

o11110oo0110oo

o11111o

oo

o

oooo

o

o11

111

o

o

o00

o

00

o

011

110

o

o

0o

o

o

oo

011

1

10o

o

o

0o

o

o

o

011

1

1

1

oo

o

o

o

0o

o

o

01111

100oooo00

o

0

o11

1

1

1

111oo

o

odst=

cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])o

o011

10oooo1110000

o

ooo

o

o1

o

o

o

1oo

o

oo

o

00

oO

p

e

n

C

V3x30001

知識儲備:腐蝕與膨脹●膨脹操作能對圖像的邊界進行擴張●將與當(dāng)前對象(前景)接觸到的背景點合并到當(dāng)前對象內(nèi),從而實現(xiàn)將圖像的邊界點向外擴張dst=cv2.dilate(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])O

p

e

n

C

V將腐蝕和膨脹操作進行組合,就可以實現(xiàn)開運算、閉運算(關(guān)運算)、形態(tài)學(xué)梯度(Morphological

Gradient)運算、禮帽運算(頂帽運算)、黑帽運算、擊中擊不中等多種不同形式的運算。.erode().dilate()膨脹腐蝕知識儲備:腐蝕與膨脹1O

p

e

n

C

V02通用形態(tài)學(xué)函數(shù)人

/

/

/

/

/

術(shù)

/

應(yīng)

/

用類型說明含義操作ev2.MORPH_ERODE腐蝕腐蝕erode(src)cv2.MORPH

DILATE膨脹膨脹dilate(src)cv2.MORPH

OPEN開運算先腐蝕后膨脹dilate(erode

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論