概述
文章目录
- 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实现)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复