1. 程式人生 > 其它 >關於opencv對圖片新增水印

關於opencv對圖片新增水印

技術標籤:C#教程c#教程

有一段時間沒有寫部落格了,最近因為自己需要給圖片新增水印,就寫了個簡單的圖片新增水印

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)