我是靠谱客的博主 风中大树,最近开发中收集的这篇文章主要介绍Opencv中的基本运算:与或非,异或和添加水印(python实现),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

    • 1.图像的非运算
    • 2.图像的与运算
    • 3.图像进行或操作
    • 4.异或操作
    • 5.添加水印

1.图像的非运算

def FEI():
    # 创建相同尺寸的图片
    npimg = np.ones(shape=(450,450), dtype=np.uint8)
    npimg[100:300,100:300]=255
    dst=cv2.bitwise_not(src=npimg)

    cv2.imshow('npimg',npimg)
    cv2.imshow('dst',dst)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

在这里插入图片描述


2.图像的与运算

def And():
    # 创建相同尺寸的图片
    npimg1 = np.ones(shape=(450,450), dtype=np.uint8)
    npimg1[100:300,100:300]=255

    npimg2 = np.ones(shape=(450, 450), dtype=np.uint8)
    npimg2[50:150, 50:150] = 255

    dst=cv2.bitwise_and(src1=npimg1,src2=npimg2)

    cv2.imshow('npimg1', npimg1)
    cv2.imshow('npimg2', npimg2)
    cv2.imshow('dst',dst)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

在这里插入图片描述


3.图像进行或操作

def OR():
    # 创建相同尺寸的图片
    npimg1 = np.ones(shape=(450, 450), dtype=np.uint8)
    npimg1[100:300, 100:300] = 255

    npimg2 = np.ones(shape=(450, 450), dtype=np.uint8)
    npimg2[50:150, 50:150] = 255
    dst=cv2.bitwise_or(src1=npimg1,src2=npimg2)

    cv2.imshow('npimg1', npimg1)
    cv2.imshow('npimg2', npimg2)
    cv2.imshow('dst',dst)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

在这里插入图片描述


4.异或操作

def Exotic():
    # 创建相同尺寸的图片
    npimg1 = np.ones(shape=(450, 450), dtype=np.uint8)
    npimg1[100:300, 100:300] = 255

    npimg2 = np.ones(shape=(450, 450), dtype=np.uint8)
    npimg2[50:150, 50:150] = 255
    dst=cv2.bitwise_xor(src1=npimg1,src2=npimg2)

    cv2.imshow('npimg1', npimg1)
    cv2.imshow('npimg2', npimg2)
    cv2.imshow('dst',dst)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

在这里插入图片描述


5.添加水印

import os
import cv2
import numpy as np

#读取图片
img=cv2.imread('images/lenna.png')
img=cv2.resize(src=img,dsize=(450,450))
#创建LOGO
logo=np.zeros(shape=(350,350,3),dtype=np.uint8)
#创建掩码
mask=np.zeros(shape=(350,350),dtype=np.uint8)

#绘制图形
logo[100:300,100:300]=[0,255,0]
logo[50:250,50:250]=[0,0,255]

mask[100:300,100:300]=255
mask[50:250,50:250]=255
#对mask求反
mask_not=cv2.bitwise_not(src=mask)

#选择图像lenna的位置添加logo
roi=img[0:350,0:350]
#roi与mask_not进行“与”操作
temp=cv2.bitwise_and(src1=roi,src2=roi,mask=mask_not)

#叠加
dst=cv2.add(src1=temp,src2=logo)
img[0:350,0:350]=dst

cv2.imshow('img',img)
# cv2.imshow('logo',logo)
# cv2.imshow('mask',mask)
# cv2.imshow('mask_not',mask_not)
# cv2.imshow('temp',temp)
cv2.waitKey(0)
cv2.destroyAllWindows()


if __name__ == '__main__':
    print('Pycharm')

在这里插入图片描述

最后

以上就是风中大树为你收集整理的Opencv中的基本运算:与或非,异或和添加水印(python实现)的全部内容,希望文章能够帮你解决Opencv中的基本运算:与或非,异或和添加水印(python实现)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部