




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
python-OpenCV-圖像處理基本操作?章?錄前?隨著??智能的不斷發(fā)展,OpenCV這門技術(shù)也越來越重要,很多?都開啟了學(xué)習(xí)OpenCV,本?就介紹了OpenCV圖像處理基本操作的基礎(chǔ)內(nèi)容。?、圖像處理基本操作importcv2注:下述的代碼運(yùn)?之前,?先需要導(dǎo)?cv2模塊,為了?便理解,我們?cè)谶@?函數(shù)的前綴都使?“cv2.”表?1.讀取圖?(?持各種靜態(tài)圖像格式)retavl=cv2.imread(filename[,flags])·retavl返回值,其值是讀取到的圖像·filename讀取到的圖像完整名·flags讀取標(biāo)記(讀取類型)2.顯?圖?None=Window(winname)#創(chuàng)建指定名稱窗?None=cv2.imshow(winname,mat)#顯?圖像retavl=cv2.WaitKey([delay])#等待按鍵None=cv2.destroyWindow(winname)#銷毀指定窗?None=cv2.destroyAllWindow()#銷毀所有窗?3.保存圖?retavl=cv2.imwrite([filename,img[,params]])?、圖像基本表??法1.遍歷像素點(diǎn)foriinrange():2.訪問像素點(diǎn)1.numpy.arrayimg.item()img.itemset()2.ROI感興趣區(qū)域roi=img[:,:]3.通道操作1.通過索引拆分b=img[:,:,0]g=img[:,:,1]r=img[:,:,2]2.通過函數(shù)拆分·split拆分圖像的通道為B,G,R(三原?:藍(lán)綠紅)b,g,r=cv2.split(img)3.通道合并拆分逆過程將三個(gè)通道的灰度圖像構(gòu)成?幅彩圖bgr=cv2.merge([b,g,r])rgb=cv2.merge([r,g,b])4.獲取圖像屬性·shape彩圖返回:?/列/通道數(shù);?值圖/灰度圖返回:?/列數(shù)?/列/通道數(shù)=img.shape·size返回像素?cái)?shù)?:?/列/通道數(shù)?/列/通道數(shù)=img.size·dtype返回圖像的數(shù)據(jù)類型圖像的數(shù)據(jù)類型=img.dtype三、圖像運(yùn)算1.圖像像素值加法運(yùn)算計(jì)算結(jié)果=cv2.add(像素值a,像素值b[,掩模])·?"+"時(shí)將和?于255的值取模處理,取模后?于255的值變?,像素點(diǎn)變暗,圖像不?然?!?cv2.add()時(shí)將和?于255的值處理為飽和值255,像素值增?,圖像整體變量。2.圖像加權(quán)和(圖像混合作?)dst=cv2.addWeighted(src1,alpha,src2,beta,gamma)上式理解:結(jié)果圖像=圖像1x系數(shù)1+圖像2x系數(shù)2+亮度調(diào)節(jié)(gamma可以是零,不能省略)3.按位邏輯運(yùn)算·dst表?與輸出值具有相同??的array輸出值·src表?array或scalar類型的輸出值·mask表?可選操作掩碼,8位單通道array值1.按位與運(yùn)算dst=cv2.bitwise_and(src1,src2[,mask]])#與運(yùn)算2.按位或運(yùn)算dst=cv2.bitwise_or(src1,src2[,mask]])#與運(yùn)算3.按位異或運(yùn)算dst=cv2.bitwise_xor(src1,src2[,mask]])#與運(yùn)算4.按位取反運(yùn)算(按位?運(yùn)算)dst=cv2.bitwise_not(src1,src2[,mask]])#與運(yùn)算5.圖像與數(shù)值的運(yùn)算參與運(yùn)算的兩個(gè)算?(參數(shù))既可以是兩幅圖像,也可以是?幅圖像與?個(gè)數(shù)值img=np.ones((4,4),dtype=np.uint8)*3#?成4x4的數(shù)值為3的矩陣4.掩模mask=np.zeros((weight,hight),dtype=np.uint8)#?成weightxhight的數(shù)值為0的矩陣mask[:,:]=2555.圖像加密和解密(使?按位異或運(yùn)算)1.加密對(duì)原始圖像與密鑰圖像進(jìn)?按位異或2.解密對(duì)加密后的圖像與密鑰圖像再次進(jìn)?按位異或四、?彩空間類型轉(zhuǎn)換1.類型轉(zhuǎn)換函數(shù)dst=cv2.vctColor(src,code[,dstCn])·dst輸出圖像·src原始輸?圖像·code?彩空間轉(zhuǎn)換碼·dstCn?標(biāo)圖像的通道數(shù)2.HSV?彩空間·?調(diào)H取值范圍[0,360]·飽和度S取值范圍[0,1]·亮度V取值范圍[0,255]五、?何變換1.縮放dst=cv2.resize(src,dsize[,fx[,fy[,interpolation]]])·dst輸出的?標(biāo)頭像·src需要縮放的原始圖像·dsize輸出圖像??·fx?平?向的縮放?例·fy垂直?向的縮放?例·interpolation插值?式常?插值?式:1.縮?圖形時(shí):區(qū)域插值?式(INTER_AREA);2.放?圖像時(shí):三次樣條插值(INTER_CUBIC)和雙線性插值(INTER_LINEAR)2.翻轉(zhuǎn)dst=cv2.flip(src,flipCode)·dst?標(biāo)圖像·src原始圖像·flipCode旋轉(zhuǎn)類型flipCode參數(shù):0,正數(shù),負(fù)數(shù)0繞著x軸翻轉(zhuǎn)正數(shù)繞著x軸翻轉(zhuǎn)負(fù)數(shù)繞著x軸,y軸同時(shí)翻轉(zhuǎn)3.仿射dst=cv2.warpAffine(src,M,dsize[,flags[,borderMode[,borderValue]]])·dst?標(biāo)圖像·src原始圖像·M變換矩陣·dsize輸出圖像的尺???·flags插值?式·borderMode邊類型·borderValue邊界值,默認(rèn)是01.平移height,width=image.shape[:2]x=100y=200M=np.float32(image,M,(width,height))dst=cv2.warpAffine(src,M,dsize[,flags[,borderMode[,borderValue]]])2.旋轉(zhuǎn)M=cv2.getRotationMatrix2D(center,angle,scale)dst=cv2.warpAffine(src,M,dsize[,flags[,borderMode[,borderValue]]])3.更復(fù)雜的仿射變換M=cv2.getAffineTransform(src,dst)dst=cv2.warpAffine(src,M,dsize[,flags[,borderMode[,borderValue]]])4.透視dst=cv2.warpPerspective(src,M,dsize[,flags[,borderMode[,borderValue]]])·dst?標(biāo)圖像·src原始圖像·M變換矩陣·dsize輸出圖像的尺???·flags插值?式·borderMode邊類型·borderValue邊界值,默認(rèn)是05.重映射dst=cv2.remap(src,map1,map2,interpolation[,borderMode[,borderValue]])·dst?標(biāo)圖像·src原始圖像·map11.(x,y)點(diǎn)的?個(gè)映射2.CV_16SC2,CV_32FC2類型(x,y)點(diǎn)的x值·map21.為空2.CV_16SC2,CV_32FC2類型(x,y)點(diǎn)的y值·Interpolation插值?式(不?持INTER_AREA)·borderMode邊界模式·borderValue邊界值,默認(rèn)是0六、閾值處理1.threshold函數(shù)retval,dst=cv2.threshold(src,thresh,maxval,type)·retval返回的閾值·dst閾值分割結(jié)果圖像·src進(jìn)?閾值分割的圖像·thresh要設(shè)定的閾值·maxval當(dāng)type參數(shù)為THRESH_BINARY或者THRESH_BINARY—_INV類型時(shí),需要設(shè)定的最?值·type閾值分割的類型1.?值化閾值處理retval,dst=cv2.threshold(src,thresh,maxval,THRESH_BINARY)2.反?值化處理retval,dst=cv2.threshold(src,thresh,maxval,THRESH_BINARY_INV)3.截?cái)嚅撝祷幚韗etval,dst=cv2.threshold(src,thresh,maxval,THRESH_TRUNC)4.超閾值化處理retval,dst=cv2.threshold(src,thresh,maxval,THRESH_TOZERO_INV)5.低閾值化處理retval,dst=cv2.threshold(src,thresh,maxval,THRESH_TOZERO)2.?適應(yīng)閾值處理dst=cv.addtiveThreshold(src,maxValue,adaptiveMethod,thresholdType,blockSize,C)·dst閾值分割結(jié)果圖像·src進(jìn)?閾值分割的圖像·maxValue最?值·adaptiveMethod?適應(yīng)?法·thresholdType閾值處理?式,該值必須是THRESH_BINARY或者THRESH_BINARY—_INV·blockSize塊??,通常為3,5,7·C常量?適應(yīng)?法:**1.**cv2.ADAPTIVE_THRESH_MEAN_C**2.**cv2.ADAPTIVE_THRESH_GAUSSIAN_C3.Otsu處理cv2.THRESH_OTSUt,otsu=cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)七、圖像平滑處理1.均值濾波dst=cv2.blur(src,ksize,anchor,borderType)常?形式:dst=cv2.blur(src,ksize)·dst返回值·src進(jìn)?處理的圖像·ksize濾波核的??·anchor錨點(diǎn),默認(rèn)值(-1,-1)·borderType邊界樣式2.?框?yàn)V波dst=cv2.boxFilter(src,ddepth,ksize,anchor,normalize,borderType)常?形式:dst=cv2.boxFilter(src,ddepth,ksize)·dst返回值·src進(jìn)?處理的圖像·ddepth處理結(jié)果圖像的深度,?般-1·ksize濾波核的??·anchor錨點(diǎn),默認(rèn)值(-1,-1)·normalize歸?化處理(1)/不需歸?化處理(0)·borderType邊界樣式3.?斯濾波邊緣模糊虛化dst=cv2.GaussianBlur(src,ksize,sigmaX,sigmaY,borderType)常?形式:dst=cv2.GaussianBlur(src,ksize,0,0)·dst返回值·src進(jìn)?處理的圖像·ksize濾波核的??·sigmaX卷積核在?平?向上的標(biāo)準(zhǔn)差·sigmaY卷積核在垂直?向上的標(biāo)準(zhǔn)差·borderType邊界樣式4.中值濾波dst=cv2.medianBlur(src,ksize)·dst返回值·src進(jìn)?處理的圖像·ksize濾波核的??5.雙邊濾波邊緣得到保留dst=cv2.bilateralFilter(src,d,sigmaColor,sigmaSpace,borderType)·dst返回值·src進(jìn)?處理的圖像·d在濾波時(shí)選取的空間距離參數(shù)·sigmaColor在濾波時(shí)選取的顏?差值范圍·sigmaSpace坐標(biāo)空間中的sigma值·borderType邊界樣式6.2D卷積dst=cv2.filter2D(src,ddepth,kernel,anchor,delta,borderType)常?形式:dst=cv2.filter2D(src,ddepth,kernel)·dst返回值·src進(jìn)?處理的圖像·ddepth處理結(jié)果圖像的深度,?般-1·kernel卷積核·anchor錨點(diǎn),默認(rèn)值(-1,-1)·delta修正值·borderType邊界樣式?、形態(tài)學(xué)操作1.腐蝕將圖像的邊界點(diǎn)消除,向內(nèi)收縮;去除噪聲、元素分割dst=cv2.erode(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])·dst返回值·src進(jìn)?處理的圖像·kernel卷積核·anchor錨點(diǎn),默認(rèn)值(-1,-1)·iterations腐蝕操作迭代的次數(shù)·borderType邊界樣式·borderValue邊界值2.膨脹對(duì)圖像的邊界進(jìn)?擴(kuò)張dst=cv2.dilate(src,kernel[,anchor[,iterations[,borderType[,borderValue]]]])3.通?形態(tài)學(xué)函數(shù)dst=cv2.morphologyEx(src,op,kernel[,anchor[,iterations[,borderType[,borderValue]]]])·op操作類型4.核函數(shù)dst=cv2.getStructuringElement(shape,ksize[,anchor])·shape形狀類型·ksize結(jié)構(gòu)元素的??·anchor錨點(diǎn),默認(rèn)值(-1,-1)九、圖像梯度1.Sobel算?及函數(shù)使?dst=cv2.Sobel(src,ddepth,dx,dy[,scale[,delta[,borderType]]]])·dst?標(biāo)圖像·src原始圖像·ddepth處理結(jié)果圖像的深度,?般-1·dxx?向上的求導(dǎo)階數(shù)·dyy?向上的求導(dǎo)階數(shù)·ksizeSobel核的??·scale計(jì)算導(dǎo)數(shù)值·delta加在?標(biāo)圖像dst上的值,默認(rèn)0·borderType邊界樣式2.Scharr算?及函數(shù)使?dst=cv2.Scharr(src,ddepth,dx,dy[,scale[,delta[,borderType]]]])3.Laplacian算?及函數(shù)使?dst=cv2.Laplacian(src,ddepth,ksize[,scale[,delta[,borderType]]]])?、Canny邊緣檢測(cè)edges=cv.Canny(image,threshold1,threshold2[,apertureSize[,L2gradient]])·edges計(jì)算得到的邊緣圖像·image8位輸?圖像·threshold處理過程中的閾值·apertureSizeSobel算?的孔徑??·L2gradient計(jì)算圖像梯度幅度的標(biāo)識(shí)??、圖像?字塔1.pyrDown函數(shù)及使?dst=cv2.pyrDown(src[,dstsize[,borderType]])·dst?標(biāo)圖像·src原始圖像·dstsize?標(biāo)圖像??·borderType邊界類型2.pyrUp函數(shù)及使?dst=cv2.pyrUp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 展覽場(chǎng)所安全防控與應(yīng)急預(yù)案服務(wù)協(xié)議
- 婚姻忠誠保障與心理輔導(dǎo)重建全面協(xié)議
- 小產(chǎn)權(quán)房集體土地流轉(zhuǎn)與土地權(quán)益保護(hù)及爭(zhēng)議解決合同
- 基于大數(shù)據(jù)分析的食品工業(yè)污染源溯源方法-洞察闡釋
- 人工智能在運(yùn)營(yíng)管理服務(wù)行業(yè)周期預(yù)測(cè)中的應(yīng)用-洞察闡釋
- 基于蛇形矩陣的圖像壓縮技術(shù)-洞察闡釋
- 基于網(wǎng)絡(luò)功能虛擬化的網(wǎng)絡(luò)切片資源分配算法-洞察闡釋
- 影視孿生數(shù)據(jù)驅(qū)動(dòng)生成-洞察闡釋
- 玉米銷售合同范本5篇
- 2025年郵箱服務(wù)合同5篇
- 部編版小學(xué)語文六年級(jí)下冊(cè)《采薇》課件(完美)
- 幼兒園繪本故事:《十二生肖》 課件
- 新媒體運(yùn)營(yíng)知識(shí)考核試題與答案
- 馬家河金礦選礦試驗(yàn)報(bào)告
- “新時(shí)代好少年”推薦表
- 園林綠化工程監(jiān)理實(shí)施細(xì)則(完整版)
- 規(guī)章制度文件評(píng)審表
- 草坪學(xué)實(shí)習(xí)報(bào)告模板-Copy
- 事業(yè)單位節(jié)能減排工作實(shí)施方案
- 住宅樓消防工程施工組織設(shè)計(jì)方案(DOC39頁)
- 歐科變頻器說明書文檔
評(píng)論
0/150
提交評(píng)論