關於opencv對圖片新增水印
有一段時間沒有寫部落格了,最近因為自己需要給圖片新增水印,就寫了個簡單的圖片新增水印
python:3.6.7
pycharm
opencv是一個開源的庫,是有C++編寫,支援C ++,Python,Java和MATLAB介面,並支援Windows,Linux, Android 和Mac OS傾向於視覺應用。
本次使用的python
首先安裝opencv模組,pip install opencv-python
國外的網路下載通常比較慢所以此處還有一個國內c#教程的下載地址
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
下載成功後,開始編寫程式碼 ~~。
首先匯入CV2
import cv2
cv2.imread(‘準備新增水印的圖片’) #此處為讀取需要新增水印的圖片具體資訊
使用函式cv2.imread(filepath,flags)讀入圖片
filepath:要讀入圖片的完整路徑
flags:讀入圖片的標誌
cv2.IMREAD_COLOR:預設引數,讀入一副彩色圖片,忽略alpha通道
cv2.IMREAD_GRAYSCALE:讀入灰度圖片
cv2.IMREAD_UNCHANGED:顧名思義,讀入完整圖片,包括alpha通
cv2.imread返回的資料主要圖片的屬性值[[[206 240 233] [201 242 234] [204 240 234]…] 為解析度,色值、寬度、高度等
只有返回了資料才可以進行下面才做,如果返回是None 則代表讀入失敗,後續操作將無法完成
下面開始新增水印:
cv2.putText()#此為新增水印
cv2.putText(x,‘text’,(100,100),cv2.FONT_HERSHEY_SCRIPT_COMPLEX,1,(255,255,255),2)
x=‘cv2.imread返回的資料引數’、新增的水印,水印座標,水印字型,字型大小(數值越大。字型越大,可以出現小數),字型色值座標,字型粗細(數值越高。字型越粗))
新增水印成功後需要將水印圖片儲存下來
此時需要cv2.imwrite()
cv2.imwrite(‘path+name’,w)# 儲存下來的圖片路徑與名稱,w:im.write返回的資料。
此時水印新增成功並儲存在制定的檔案下
這是如果想看此圖片時可用以下小視窗檢視
cv2.nameWindow(‘視窗名稱’) #建立一個視窗
cv2.imshow(‘視窗名稱’,預覽圖片引數)#視窗名稱:為nameWindow生成的視窗名稱,預覽圖片:此處需要傳入cv2.imread生成的圖片引數
cv2.waitKey() #為等待時間後關閉視窗,ms 時間
一下為粗略程式碼
x=cv2.imread(img_path2)
cv2.namedWindow('test')
w=cv2.putText(x,'text',(100,100),cv2.FONT_HERSHEY_SCRIPT_COMPLEX,1,(255,255,255),2)
cv2.imwrite('o.jpg',w)
cv2.imshow('test',x)
cv2.waitKey(2000)