图像加法:

#uint8 这是8位的无符号(0~255)
#图像加法(200+100=255)
print(cv2.add(np.uint8([200])),np.uint8([100]))
#普通加法(255+1=0)
print(np.uint8([200])+np.uint8([100]))

图像的减法:

#图像的减法(50-100=0)
print(cv2.subtract(np.uint8([50])),np.uint8([100]))
#普通减法(50-100=206)减到0的时候,再从255开始减
print(np.uint8([50])-np.uint8([100]))

图片的加法:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像运算def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return image#图片加法
image=imread('1.png')
#生成跟图片形状相同的并且权威100的数据
M = np.ones(image.shape,dtype='uint8')*100
#所有图片的像素加100
image=cv2.add(image,M)
show(image)

效果展示:

图片的减法:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像运算def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imageimage=imread('1.png')
#图片减法
#生成跟图片形状相同的并且权威100的数据
M = np.ones(image.shape,dtype='uint8')*100
#所有图片的像素减100
image=cv2.subtract(image,M)
show(image)

图像的按位操作:

先绘制一个矩形和一个圆

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像位运算
def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return image
rectangle=np.zeros((300,300,3),dtype='uint8')
white=(255,255,255)
cv2.rectangle(rectangle,(25,25),(275,275),white,-1)show(rectangle)

在绘制一个圆:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像位运算
def show(image):plt.imshow(image)plt.axis('off')plt.show()def imread(image):image=cv2.imread(image)#把图像的BGR转换成RGBimage=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)return imagecircle = np.zeros((300,300,3),dtype='uint8')
cv2.circle(circle,(150,150),150,white,-1)
show(circle)

位操作:

#AND 与操作,有黑就变黑
image=cv2.bitwise_and(rectangle,circle)
show(image)

#OR,或操作,有白就变白
image=cv2.bitwise_or(rectangle,circle)
show(image)

#XOR,异或操作,黑白变白,黑黑和白白变黑
image=cv2.bitwise_xor(rectangle,circle)
show(image)

#NOT,非操作,颜色取反
image=cv2.bitwise_not(circle)
show(image)

OpenCV之图像的运算(笔记05)相关推荐

  1. OpenCv之图像形态学(笔记08)

    腐蚀:其原理是在原图的小区域内取局部最小值.这个核也叫结构元素,因为形态学操作其实也是应用卷积来实现的,结构元素可以是矩形.椭圆.十字架,可以用cv2.getStructuringElement()来 ...

  2. Opencv之图像金字塔(笔记07)

    概念: 图像金字塔: 一般情况下,我们要处理是一副具有固定分辨率的图像.但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理.比如,我们要在一副图像中查找某个目标,比如脸,我们不知道目标在图 ...

  3. openCV之图像基础(笔记02)

    图像的载入 import numpy as np import matplotlib.pyplot as plt import cv2image=cv2.imread('1.png') plt.ims ...

  4. OpenCV之图像梯度(笔记11)

    编程代码: import numpy as np import matplotlib.pyplot as plt import cv2 #图像梯度 def show(image):plt.imshow ...

  5. OpenCV笔记之六(3)——图像处理之图像位运算与图像掩膜

    3.图像位运算 位运算在图像处理,特别是掩膜中有着极其重要的作用,主要有与.或.异或以及非等操作. Operation Function AND cv2.bitwise_and OR cv2.bitw ...

  6. opencv学习笔记05

    原创:opencv学习笔记05 OpenCV-Python教程:40.ORB https://www.jianshu.com/p/49a84ddef11d ORB最重要的事情是它是OpenCV实验室出 ...

  7. Python OpenCV 图像处理之 图像运算和图像位运算知识补充

    Python OpenCV 365 天学习计划,与橡皮擦一起进入图像领域吧.本篇博客是这个系列的第 51 篇. 该系列文章导航参考:https://blog.csdn.net/hihell/categ ...

  8. 机器视觉——OpenCV案例分析基础(二)(给图片打马赛克与图像的运算处理)

    给图片打马赛克与图像的运算处理 一.理论分析 二.代码分析 2.1 对图像全局采用马赛克处理 2.2 局部马赛克 2.3 对图片进行运算处理 2.3.1 图像的或运算 2.3.2 图像的与运算 2.3 ...

  9. 【OpenCV 例程200篇】76. OpenCV 实现图像傅里叶变换

    [OpenCV 例程200篇]76. OpenCV 实现图像傅里叶变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

最新文章

  1. 企业应用开发平台-GAP平台
  2. (简单)华为荣耀4A SCL-TL00的usb调试模式在哪里打开的方法
  3. 计算机语言里的笑脸,设备类型显示笑脸
  4. npm:can not find module 'xxx'
  5. hadoop fs 运维常用的几个命令
  6. jsp做看板_如何使用看板做敏捷开发
  7. 自然语言处理 —— 2.2 使用词嵌入
  8. 微型计算机中的数据总线用来,微型计算机技术及应用(戴梅萼4)练习题答案.doc...
  9. ArrayList 去重
  10. mysql统计功能和数据库information_schema/performance_schema
  11. 字节转换,字符串与数字转换
  12. Caffe︱构建lmdb数据集、binaryproto均值文件及各类难辨的文件路径名设置细解
  13. 线材下料优化python算法_python实现最优化算法
  14. js 打开选择本地文件对话框 及 获取选择文件中的内容
  15. Emerging Properties in Self-Supervised Vision Transformers(2021)
  16. Pod环境变量和initContainer
  17. 飞腾D2000 偶尔识别不到网卡
  18. 网络原理:TCP/UDP
  19. halcon 纹理检测_Halcon 纹理缺陷检测 apply_texture_inspection_model
  20. abaqus html安装,abaqus 2016安装错误

热门文章

  1. 20145321 《Java程序设计》第4周学习总结
  2. Mac上最佳的SVN管理工具:Cornerstone
  3. 设计模式学习-每日一记(1.简单工厂模式)
  4. 使用Facelets开发JSF程序
  5. 案例:实现第一个Filter程序
  6. 3.数据类型和变量---用Python做数学运算
  7. crt安装mysql安装包_Linux安装MySQL步骤
  8. grep 判断不是正则的_Shell—正则表达式(grep命令、sed工具)
  9. python内置函数map_Python内置函数(34)——map
  10. 如何插卡虚拟机 mysql_怎么在虚拟机中搭建mysql服务器