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