zoukankan      html  css  js  c++  java
  • 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()

    效果图

  • 相关阅读:
    安装 oracle 11g 发行版 出现错误:由于以下错误,Enterprise Manager配置失败,启动Database Control时出错
    ORACLE_SID的查找
    visual studio 2017 编译v140 TRACKER : error TRK0005: Failed to locate: "CL.exe". 系统找不到指定的文件
    mysql 数据库表名大小写问题
    Windows下部署mongodb
    where case 使用
    虚拟机,云服务器搭建vulhub靶场
    [De1CTF 2019]SSRF Me
    [2020YCTF]web1-rce_nopar
    [2020YCTF]
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12302334.html
Copyright © 2011-2022 走看看