基于python圖像處理API的使用示例
1.圖像處理庫(kù)
import cv2 as cv from PIL import *
常用的圖像處理技術(shù)有圖像讀取,寫(xiě)入,繪圖,圖像色彩空間轉(zhuǎn)換,圖像幾何變換,圖像形態(tài)學(xué),圖像梯度,圖像邊緣檢測(cè),圖像輪廓,圖像分割,圖像去噪,圖像加水印以及修復(fù)水印等
2.opencv常用的接口
cv.imread() 讀取圖片,返回numpy cv.imwrite() 寫(xiě)入圖片 cv.cvtColor() 圖像色彩空間轉(zhuǎn)換 cv.add() cv.subtract() cv.multiply() cv.divide() cv.applyColorMap() 減少了運(yùn)算量,改變圖片風(fēng)格,突出圖片特征 cv.bitwise_and(參數(shù)1, 參數(shù)2) 邏輯與 cv.bitwise_xor(參數(shù)1, 參數(shù)2) 邏輯異或 cv.bitwise_or(參數(shù)1, 參數(shù)2) 邏輯或 cv.bitwise_not(參數(shù)) 圖像值取反操作 cv.split(src) 通道分離 cv.merge(mv) 通道合并 cv2.inRange(hsv, lower, upper) 提取指定色彩范圍區(qū)域inRange cv.meanStdDev() 均值和標(biāo)準(zhǔn)差 cv.minMaxLoc() 最大最小值和相應(yīng)的位置 cv.normalize() 像素歸一化 cv.VideoCapture() 視頻文件 cv.flip(src,flipcode,dst) 圖像翻轉(zhuǎn) cv.rectangle() 矩形 cv.circle() 圓 cv.ellipse() 橢圓 cv.calcHist() 圖像直方圖 cv.equalizeHist() 圖像直方圖均衡化可以用于圖像增強(qiáng)、對(duì)輸入圖像進(jìn)行直方圖均衡化處理,提升后續(xù)對(duì)象檢測(cè)的準(zhǔn)確率 cv.compareHist() 圖像直方圖比較,就是計(jì)算兩幅圖像的直方圖數(shù)據(jù),比較兩組數(shù)據(jù)的相似性,從而得到兩幅圖像之間的相似程度 cv.calcBackProject() 圖像直方圖反向投影是通過(guò)構(gòu)建指定模板圖像的二維直方圖空間與目標(biāo)的二維直方圖空間,進(jìn)行直方圖數(shù)據(jù)歸一化之后, 進(jìn)行比率操作,對(duì)所有得到非零數(shù)值,生成查找表對(duì)原圖像進(jìn)行像素映射之后,再進(jìn)行圖像模糊輸出的結(jié)果 cv.blur() 均值圖像模糊卷積 cv.GaussianBlur() 高斯模糊 均值模糊 是卷積核的系數(shù)完全一致,高斯模糊考慮了中心像素距離的影響,對(duì)距離中心像素使用高斯分布公式生成不同的權(quán)重系數(shù)給卷積核,然后用此卷積核完成圖像卷積得到輸出結(jié)果就是圖像高斯模糊之后的輸出 cv.medianBlur() 中值濾波對(duì)圖像特定噪聲類型(椒鹽噪聲)會(huì)取得比較好的去噪效果,也是常見(jiàn)的圖像去噪聲與增強(qiáng)的方法之一 cv.fastNlMeansDenoisingColored() 非局部均值濾波 cv.bilateralFilter() 高斯雙邊模糊,卷積處理實(shí)現(xiàn)圖像模糊的同時(shí)對(duì)圖像邊緣不會(huì)造成破壞,濾波之后的輸出完整的保存了圖像整體邊緣(輪廓)信息 cv.pyrMeanShiftFiltering() 均值遷移模糊,均值遷移模糊是圖像邊緣保留濾波算法中一種,經(jīng)常用來(lái)在對(duì)圖像進(jìn)行分水嶺分割之前去噪聲,可以大幅度提升分水嶺分割的效果 cv.integral() 圖像積分圖算法 cv.edgePreservingFilter() 快速的圖像邊緣濾波算法 cv.filter2D() 自定義卷積核來(lái)自定義的濾波器 cv.Sobel() 圖像梯度提取算子,梯度信息是圖像的最原始特征數(shù)據(jù),進(jìn)一步處理之后就可以生成一些比較高級(jí)的特征用來(lái)表示一張圖像實(shí)現(xiàn)基于圖像特征的匹配,圖像分類等應(yīng)用 cv.Laplacian() 拉普拉斯算子更容易受到噪聲的擾動(dòng),所以經(jīng)常對(duì)要處理的圖像首先進(jìn)行一個(gè)高斯模糊,然后再進(jìn)行拉普拉斯算子的邊緣提取,而且在一些場(chǎng)景中會(huì)把這兩步合并成為一步,就是我們經(jīng)常聽(tīng)說(shuō)的LOG算子 cv.convertScaleAbs() 增強(qiáng)對(duì)比度 cv.addWeighted() USM銳化增強(qiáng)算法 cv.Canny() Canny編邊緣檢測(cè)器,有效的噪聲抑制,完整邊緣提取能力 cv.pyrUp() cv.pyrDown() 圖像金字塔 cv.matchTemplate() 圖像模板匹配 cv.threshold() 二值化 cv.adaptiveThreshold() 自適應(yīng)閾值算法 cv.connectedComponents() 二值圖像聯(lián)通組件尋找 cv.connectedComponentsWithStats() 二值圖像連通組件狀態(tài)統(tǒng)計(jì) cv.findContours() 獲取二值圖像的輪廓拓?fù)湫畔? cv.drawContours() 繪制輪廓 cv.boundingRect() cv.minAreaRect() 求取輪廓外接矩形 cv.contourArea() 輪廓點(diǎn)集計(jì)算面積 cv.arcLength() 計(jì)算輪廓曲線的弧長(zhǎng) cv.approxPolyDP() 圖像二值圖像的每個(gè)輪廓,可以使用輪廓逼近,逼近每個(gè)輪廓的真實(shí)幾何形狀,從而通過(guò)輪廓逼近的輸出結(jié)果判斷一個(gè)對(duì)象是什么形狀 cv.fitEllipse() 輪廓點(diǎn)進(jìn)行擬合,生成一個(gè)擬合的圓形或者橢圓 cv.fitLine() 直線擬合 cv.dilate() 膨脹可以看成是最大值濾波,即用最大值替換中心像素點(diǎn) cv.erode() 腐蝕可以看出是最小值濾波,即用最小值替換中心像素點(diǎn) cv.getStructuringElement() 獲取結(jié)構(gòu)元素 cv.morphologyEx() 形態(tài)學(xué)的操作 開(kāi)操作可以刪除二值圖像中小的干擾塊,降低圖像二值化之后噪點(diǎn)過(guò)多的問(wèn)題 操作可以填充二值圖像中孔洞區(qū)域,形成完整的閉合區(qū)域連通組件 頂帽操作有時(shí)候?qū)τ谖覀兲崛D像中微小部分特別有用 cv.inpaint() 圖像修復(fù) cv.findHomography() cv.warpPerspective() 透視變換 cv.kmeans() KMeans數(shù)據(jù)分類 cv.QRCodeDetector() cv.QRCodeDetector.detectAndDecode() 二維碼檢測(cè)與識(shí)別
3.PIL庫(kù)接口
Image.fromarray() 將numpy圖像轉(zhuǎn)Image ImageFont.truetype("china.ttf", size=30) 加載圖像字體庫(kù) ImageDraw.Draw() 繪圖 draw.text() 圖像上添加水印
到此這篇關(guān)于基于python圖像處理API的使用示例的文章就介紹到這了,更多相關(guān)python 圖像處理API內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python3使用 GitLab API 進(jìn)行批量合并分支
- 使用Python FastAPI構(gòu)建Web服務(wù)的實(shí)現(xiàn)
- Python如何使用Gitlab API實(shí)現(xiàn)批量的合并分支
- 使用apiDoc實(shí)現(xiàn)python接口文檔編寫(xiě)
- Python Gitlab Api 使用方法
- Python使用百度api做人臉對(duì)比的方法
- python使用adbapi實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)的異步存儲(chǔ)
- Python使用Windows API創(chuàng)建窗口示例【基于win32gui模塊】
- Python使用百度API上傳文件到百度網(wǎng)盤(pán)代碼分享
- python3 kubernetes api的使用示例
相關(guān)文章
Python實(shí)現(xiàn)過(guò)迷宮小游戲示例詳解
這篇文章主要介紹的是基于Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的過(guò)迷宮小游戲,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下2021-12-12Python實(shí)現(xiàn)的在特定目錄下導(dǎo)入模塊功能分析
這篇文章主要介紹了Python實(shí)現(xiàn)的在特定目錄下導(dǎo)入模塊功能,結(jié)合實(shí)例形式分析了Python基于系統(tǒng)函數(shù)及import語(yǔ)句實(shí)現(xiàn)模塊導(dǎo)入的相關(guān)操作技巧,需要的朋友可以參考下2019-02-02python網(wǎng)絡(luò)爬蟲(chóng) Scrapy中selenium用法詳解
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲(chóng) Scrapy中selenium用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值2019-09-09一文搞懂Python中的進(jìn)程,線程和協(xié)程
并發(fā)編程是實(shí)現(xiàn)多任務(wù)協(xié)同處理,改善系統(tǒng)性能的方式。Python中實(shí)現(xiàn)并發(fā)編程主要依靠進(jìn)程、線程和協(xié)程,本文將通過(guò)示例詳解三者的區(qū)別,感興趣的可以了解一下2022-05-05淺析python中5個(gè)帶key的內(nèi)置函數(shù)
這篇文章主要介紹了python中5個(gè)帶key的內(nèi)置函數(shù),包括max取最大值函數(shù),min取最小值函數(shù),filter過(guò)濾函數(shù),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07在python win系統(tǒng)下 打開(kāi)TXT文件的實(shí)例
下面小編就為大家分享一篇在python win系統(tǒng)下 打開(kāi)TXT文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04