python-opencv-文字與圖片的繪制


文字的繪制 

OpenCV中使用putText(img,text,org,fontFace,fontScale,color,thickness=None,lineType=None,bottomLeftOrigin=None)函數進行文字的繪制 

import cv2
image=cv2. imread('1.png')
font=cv2. FONT_HERSHEY_SIMPLEX
cv2. putText(image,'This is Python',(180,320), font,1,(180,100,255),2, cv2. LINE_AA) #畫文字
'''
參數2 text:必選參數。待繪制的文本字符串
參數3 org:必選參數。表示待繪制文本字符串的左下角在圖像中的位置
參數4 fontFace:必選參數。用於設置待繪制文本的字體類型,可選類型參考HersheyFonts
參數5 fontScale:必選參數。用於設置待繪制文本的字體比例因子,字體大小為該因子乘以特定字體的基本大小
參數6 color:必選參數。用於設置待繪制文本的字體顏色
參數7 thickness:可選參數。用於設置待繪制文本的線條粗細
參數8 lineType:可選參數。用於設置線段的類型,可選8(8鄰接連接線-默認)、4(4鄰接連接線)和cv2.LINE_AA 為抗鋸齒
'''
cv2. imshow(' dst', image)
cv2.waitKey()

需要注意的是,putText()函數的text參數只能接收特定字符,也就是說並不是所有的字符串它都能順利繪制。例如當text參數內容中包含中文時,運行結果中文會被“?”等字符替換,原因就是putText()函數無法識別中文。 如果我們想在圖像中繪制中文文字,我們需要借助其他模塊或第三方庫(PIL庫和freetype庫)的幫助

圖片的繪制 

我們在之前的章節中介紹過圖片的融合、疊加以及使用位運算為圖像添加水印,圖片的繪制有些類似,就是在原圖像上再繪制一個圖像。 

為了簡化操作,我們直接利用原圖像的縮放,將縮放后的圖片繪制到原圖像上,具體代碼如下:

import cv2
image=cv2. imread('1.png')
height=int(image.shape[0]*0.2)
width =int(image.shape[1]* 0.2)
image_resize=cv2. resize(image,(width, height))
for i in range(height):
    for j in range(width):
        image[i+100,j+100]=image_resize[i,j]

cv2. imshow(' dst', image)
cv2.waitKey()

效果圖

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM