2014-12-25 34 views
7

Bir görüntüde bir metin dizesi çizmek için cv2.putText() kullanıyorum. OpenCV putText() yeni satır karakteri

Yazarken:

cv2.putText(img, "This is \n some text", (50,50), cv2.FONT_HERSHEY_SIMPLEX, 1, 2) 

resmin üzerine çizilmiş metindir:

This is ? some text

Metin \n gibi yeni hat basılacak bekliyordum bir kaçış karakteridir newline için ama görüntü üzerinde ? çizer.

Bu neden oluyor? Yanlış bir şey mi yapıyorum ?

+2

putText = * gibi harfler, sayılar ve bazı semboller yapabilirsiniz!. pek fazla değil. – berak

cevap

12

Ne yazık ki putText\n simgelerini doğru işlemez. relevant rejected pull request'a bakın. Eğer metni kendiniz bölmek ve birkaç putText aramaları, böyle bir şey yapmak gerekir:

text = "This is \n some text" 
y0, dy = 50, 4 
for i, line in enumerate(text.split('\n')): 
    y = y0 + i*dy 
    cv2.putText(img, line, (50, y), cv2.FONT_HERSHEY_SIMPLEX, 1, 2)