zoukankan      html  css  js  c++  java
  • 关于opencv对图片添加水印

    有一段时间没有写博客了,最近因为自己需要给图片添加水印,就写了个简单的图片添加水印

    python:3.6.7

    pycharm

    opencv是一个开源的库,是有C++编写,支持C ++,Python,Java和MATLAB接口,并支持Windows,Linux,  Android  和Mac OS倾向于视觉应用。

    本次使用的python

    首先安装opencv模块,pip install opencv-python

    国外的网络下载通常比较慢所以此处还有一个国内的下载地址

    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)
  • 相关阅读:
    cocos2dx源码分析之二:引擎的内存管理
    cocos2dx源码分析之一:大体运行流程
    对语言、层次和虚拟机的简单理解
    cocos2dx lua中异步加载网络图片,可用于显示微信头像
    对于c语言存储分配程序(malloc函数)实现的理解
    内存对齐的理解
    C和C++中#define的使用方法
    Unix系统中对于文件权限信息的本质理解
    npm 安装相关环境及测试
    Win7 之 NodeJS 安装
  • 原文地址:https://www.cnblogs.com/Jaredhan/p/12690868.html
Copyright © 2011-2022 走看看