国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

            手機站
            千鋒教育

            千鋒學習站 | 隨時隨地免費學

            千鋒教育

            掃一掃進入千鋒手機站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學習站小程序
            隨時隨地免費學習課程

            當前位置:首頁  >  技術(shù)干貨  > Python OpenCV 的知識體系

            Python OpenCV 的知識體系

            來源:千鋒教育
            發(fā)布人:xqq
            時間: 2023-11-06 23:17:07 1699283827

            1.OpenCV初識與安裝

            本部分要了解OpenCV(OpenSourceComputerVisionLibrary)的相關(guān)簡介,OpenCv可以運行在多平臺之上,輕量級而且高效,由一系列C函數(shù)和少量C++類構(gòu)成,提供了Python、Ruby、MATLAB等語言的接口,所以在學習的時候,要注意查閱資料的語言實現(xiàn)相關(guān)問題。

            這個階段除了安裝OpenCV相關(guān)庫以外,建議收藏官方網(wǎng)址,官方手冊,官方入門教程,這些都是最佳的學習資料。

            模塊安裝完畢,需要重點測試OpenCV是否安裝成功,可通過Python查詢安裝版本。

            2.OpenCV模塊簡介

            先從全局上掌握OpenCV都由哪些模塊組成。例如下面這些模塊,你需要找到下述模塊的應用場景與簡介。

            core、imgproc、highgui、calib3d、features2d、contrib、flann、gpu、legacy、ml、objdetect、photo、stitching。

            整理每個模塊的核心功能,并完成第一個OpenCV案例,讀取顯示圖片。

            3.OpenCV圖像讀取,顯示,保存

            安裝OpenCV之后,從圖像獲取開始進行學習,包含本地加載圖片,相機獲取圖片,視頻獲取,創(chuàng)建圖像等內(nèi)容。

            只有先獲取圖像之后,才能對圖像進行操作處理,信息提取,結(jié)果輸出,圖像顯示,圖像保存。

            對于一個圖像而言,在OpenCV中進行讀取展示的步驟如下,你可以將其代碼進行對應。

            圖像讀取;

            窗口創(chuàng)建;

            圖像顯示;

            圖像保存;

            資源釋放。

            涉及需要學習的函數(shù)有cv2.imread()、cv2.namedWindow()、cv2.imshow()、cv2.imwrite()、cv2.destroyWindow()、cv2.destroyAllWindows()、cv2.imshow()、cv2.cvtColor()、cv2.imwrite()、cv2.waitKey()。

            4.攝像頭和視頻讀取,保存

            第一個要重點學習VideoCapture類,該類常用的方法有:

            open()函數(shù);

            isOpened()函數(shù);

            release()函數(shù);

            grab()函數(shù);

            retrieve()函數(shù);

            get()函數(shù);

            set()函數(shù);

            除了讀取視頻外,還需要掌握Opencv提供的VideoWriter類,用于保存視頻文件。

            學習完相關(guān)知識之后,可以進行這樣一個實驗,將一個視頻逐幀保存為圖片。

            5.OpenCV常用數(shù)據(jù)結(jié)構(gòu)和顏色空間

            這部分要掌握的類有Point類、Rect類、Size類、Scalar類,除此之外,在Python中用numpy對圖像進行操作,所以numpy相關(guān)的知識點,建議提前學習,效果更佳。

            OpenCV中常用的顏色空間有BGR顏色空間、HSV/HLS顏色空間、Lab顏色空間,這些都需要了解,優(yōu)先掌握BGR顏色空間。

            6.OpenCV常用繪圖函數(shù)

            掌握如下函數(shù)的用法,即可熟練的在Opencv中繪制圖形。

            cv2.line();

            cv2.circle();

            cv2.rectangle();

            cv2.ellipse();

            cv2.fillPoly();

            cv2.polylines();

            cv2.putText()。

            7.OpenCV界面事件操作之鼠標與滑動條

            第一個要掌握的函數(shù)是鼠標操作消息回調(diào)函數(shù),cv2.setMouseCallback(),滑動條涉及兩個函數(shù),分別是:cv2.createTrackbar()和cv2.getTrackbarPos()。

            掌握上述內(nèi)容之后,可以實現(xiàn)兩個案例,其一為鼠標在一張圖片上拖動框選區(qū)域進行截圖,其二是通過滑動條讓視頻倍速播放。

            8.圖像像素、通道分離與合并

            了解圖像像素矩陣,熟悉圖片的像素構(gòu)成,可以訪問指定像素的像素值,并對其進行修改。

            通道分離函數(shù)cv2.split(),通道合并函數(shù)cv2.merge()。

            9.圖像邏輯運算

            掌握圖像之間的計算,涉及函數(shù)如下:

            cv2.add();

            cv2.addWeighted();

            cv2.subtract();

            cv2.absdiff();

            cv2.bitwise_and();

            cv2.bitwise_not();

            cv2.bitwise_xor()。

            還可以研究圖像乘除法。

            10.圖像ROI與mask掩膜

            本部分屬于OpenCV中的重點知識,第一個為感興趣區(qū)域ROI,第二個是mask掩膜(掩碼)操作。

            學習ROI部分時,還可以學習一下圖像的深淺拷貝。

            11.圖像幾何變換

            圖像幾何變換依舊是對基礎(chǔ)函數(shù)的學習與理解,涉及內(nèi)容如下:

            圖像縮放cv2.resize();

            圖像平移cv2.warpAffine();

            圖像旋轉(zhuǎn)cv2.getRotationMatrix2D();

            圖像轉(zhuǎn)置cv2.transpose();

            圖像鏡像cv2.flip();

            圖像重映射cv2.remap()。

            12.圖像濾波

            理解什么是濾波,高頻與低頻濾波,圖像濾波函數(shù)。

            線性濾波:方框濾波、均值濾波、高斯濾波,

            非線性濾波:中值濾波、雙邊濾波,

            方框濾波cv2.boxFilter();

            均值濾波cv2.blur();

            高斯濾波cv2.GaussianBlur();

            中值濾波cv2.medianBlur();

            雙邊濾波cv2.bilateralFilter()。

            13.圖像固定閾值與自適應閾值

            圖像閾值化是圖像處理的重要基礎(chǔ)部分,應用很廣泛,可以根據(jù)灰度差異來分割圖像不同部分,閾值化處理的圖像一般為單通道圖像(灰度圖),核心要掌握的兩個函數(shù):

            固定閾值:cv2.threshold();

            自適應閾值:cv2.adaptiveThreshold()。

            14.圖像膨脹腐蝕

            膨脹、腐蝕屬于形態(tài)學的操作,是圖像基于形狀的一系列圖像處理操作。

            膨脹腐蝕是基于高亮部分(白色)操作的,膨脹是対高亮部分進行膨脹,類似“領(lǐng)域擴張”,腐蝕是高亮部分被腐蝕,類似“領(lǐng)域被蠶食”。

            膨脹腐蝕的應用和功能:

            消除噪聲;

            分割獨立元素或連接相鄰元素;

            尋找圖像中的明顯極大值、極小值區(qū)域;

            求圖像的梯度;

            核心需要掌握的函數(shù)如下:

            膨脹cv2.dilate();

            腐蝕cv2.erode()。

            形態(tài)學其他操作,開運算、閉運算、頂帽、黑帽、形態(tài)學梯度這些都是基于膨脹腐蝕基礎(chǔ)之上,利用cv2.morphologyEx()函數(shù)進行操作。

            15.邊緣檢測

            邊緣檢測可以提取圖像重要輪廓信息,減少圖像內(nèi)容,可用于分割圖像、特征提取等操作。

            邊緣檢測的一般步驟:

            濾波:濾出噪聲対檢測邊緣的影響;

            增強:可以將像素鄰域強度變化凸顯出來—梯度算子;

            檢測:閾值方法確定邊緣;

            常用邊緣檢測算子:

            Canny算子,Canny邊緣檢測函數(shù)cv2.Canny();

            Sobel算子,Sobel邊緣檢測函數(shù)cv2.Sobel();

            Scharr算子,Scharr邊緣檢測函數(shù)cv2.Scahrr();

            Laplacian算子,Laplacian邊緣檢測函數(shù)cv2.Laplacian()。

            16.霍夫變換

            霍夫變換(HoughTransform)是圖像處理中的一種特征提取技術(shù),該過程在一個參數(shù)空間中,通過計算累計結(jié)果的局部最大值,得到一個符合該特定形狀的集合,作為霍夫變換的結(jié)果。

            本部分要學習的函數(shù):

            標準霍夫變換、多尺度霍夫變換cv2.HoughLines();

            累計概率霍夫變換cv2.HoughLinesP();

            霍夫圓變換cv2.HoughCricles()。

            17.圖像直方圖計算及繪制

            先掌握直方圖相關(guān)概念,在掌握核心函數(shù),最后通過matplotlib模塊對直方圖進行繪制。計算直方圖用到的函數(shù)是cv2.calcHist()。

            直方圖相關(guān)應用:

            直方圖均衡化cv2.equalizeHist();

            直方圖對比cv2.compareHist();

            反向投影cv2.calcBackProject()。

            18.模板匹配

            模板匹配是在一幅圖像中尋找與另一幅模板圖像最匹配(相似)部分的技術(shù)。

            核心用到的函數(shù)如下:

            模板匹配cv2.matchTemplate();

            矩陣歸一化cv2.normalize();

            尋找最值cv2.minMaxLoc()。

            19.輪廓查找與繪制

            核心要理解到在OpenCV中,查找輪廓就像在黑色背景中找白色物體。

            常用函數(shù):

            查找輪廓cv2.findContours();

            繪制輪廓cv2.drawContours()。

            最后應該掌握針對每個輪廓進行操作。

            20.輪廓特征屬性及應用

            這部分內(nèi)容比較重要,并且知識點比較多,核心內(nèi)容與函數(shù)分別如下:

            尋找凸包cv2.convexHull()與凸性檢測cv2.isContourConvex();

            輪廓外接矩形cv2.boundingRect();

            輪廓最小外接矩形cv2.minAreaRect();

            輪廓最小外接圓cv2.minEnclosingCircle();

            輪廓橢圓擬合cv2.fitEllipse();

            逼近多邊形曲線cv2.approxPolyDP();

            計算輪廓面積cv2.contourArea();

            計算輪廓長度cv2.arcLength();

            計算點與輪廓的距離及位置關(guān)系cv2.pointPolygonTest();

            形狀匹配cv2.matchShapes()。

            21.高級部分-分水嶺算法及圖像修補

            掌握分水嶺算法的原理,掌握核心函數(shù)cv2.watershed()。

            可以擴展補充圖像修補技術(shù)及相關(guān)函數(shù)cv2.inpaint(),學習完畢可以嘗試人像祛斑應用。

            22.GrabCut&FloodFill圖像分割、角點檢測

            這部分內(nèi)容都需要一些圖像專業(yè)背景知識,先掌握相關(guān)概念知識,在重點學習相關(guān)函數(shù)。

            GrabCut算法cv2.grabCut();

            漫水填充算法cv2.floodFill();

            Harris角點檢測cv2.cornerHarris();

            Shi-Tomasi角點檢測cv2.goodFeaturesToTrack();

            亞像素角點檢測cv2.cornerSubPix()。

            23.特征檢測與匹配

            特征點的檢測和匹配是計算機視覺中非常重要的技術(shù)之一,在物體識別、視覺跟蹤、三維重建等領(lǐng)域都有很廣泛的應用。

            OpenCV提供了如下特征檢測方法:

            “FAST”FastFeatureDetector;

            “STAR”StarFeatureDetector;

            “SIFT”SIFT(nonfreemodule)Opencv3移除,需調(diào)用xfeature2d庫;

            “SURF”SURF(nonfreemodule)Opencv3移除,需調(diào)用xfeature2d庫;

            “ORB”O(jiān)RBOpencv3移除,需調(diào)用xfeature2d庫;

            “MSER”MSER;

            “GFTT”GoodFeaturesToTrackDetector;

            “HARRIS”(配合Harrisdetector);

            “Dense”DenseFeatureDetector;

            “SimpleBlob”SimpleBlobDetector。

            24.OpenCV應用部分之運動物體跟蹤與人臉識別

            了解何為運動物體檢測,OpenCV中常用的運動物體檢測方法有背景減法、幀差法、光流法,跟蹤算法常用的有meanShift,camShift,粒子濾波,光流法等。

            meanShift跟蹤算法cv2.meanShift();

            CamShift跟蹤算法cv2.CamShift()。

            如果學習人臉識別,涉及的知識點為:

            人臉檢測:從圖像中找出人臉位置并標識;

            人臉識別:從定位到的人臉區(qū)域區(qū)分出人的姓名或其它信息;

            機器學習。

            以上內(nèi)容為大家介紹了PythonOpenCV的知識體系,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓機構(gòu):千鋒教育。http://www.parentadvocate.org/

            tags: python培訓
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
            免費領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學 138****2860 剛剛成功領(lǐng)取
            王同學 131****2015 剛剛成功領(lǐng)取
            張同學 133****4652 剛剛成功領(lǐng)取
            李同學 135****8607 剛剛成功領(lǐng)取
            楊同學 132****5667 剛剛成功領(lǐng)取
            岳同學 134****6652 剛剛成功領(lǐng)取
            梁同學 157****2950 剛剛成功領(lǐng)取
            劉同學 189****1015 剛剛成功領(lǐng)取
            張同學 155****4678 剛剛成功領(lǐng)取
            鄒同學 139****2907 剛剛成功領(lǐng)取
            董同學 138****2867 剛剛成功領(lǐng)取
            周同學 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT