本节主要是进行图像一些基本运算,包括加减乘除,均方差运算,亮度对比度,逻辑运算。
以上对图像的操作均是对像素的处理,bitwise_and、bitwise_or、bitwise_xor、bitwise_not这四个按位操作函数。
bitwise_and是对二进制数据进行“与”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“与”操作,1&1=1,1&0=0,0&1=0,0&0=0
bitwise_or是对二进制数据进行“或”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“或”操作,1|1=1,1|0=0,0|1=0,0|0=0
bitwise_xor是对二进制数据进行“异或”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“异或”操作,11=0,10=1,01=1,00=0
bitwise_not是对二进制数据进行“非”操作,即对图像(灰度图像或彩色图像均可)每个像素值进行二进制“非”操作,1=0,0=1
利用掩膜(mask)进行“与”操作,即掩膜图像白色区域是对需要处理图像像素的保留,黑色区域是对需要处理图像像素的剔除,其余按位操作原理类似只是效果不同而已。

import cv2 as cv
import numpy as np
#加法运算
def add_demo(m1,m2):dst = cv.add(m1,m2)cv.imshow("add_demo",dst)#减法运算
def subtract_demo(m1,m2):dst = cv.subtract(m1,m2)cv.imshow("subtract_demo",dst)#除法运算
def divide_demo(m1,m2):dst = cv.divide(m1,m2)cv.imshow("divide_demo",dst)#乘法运算
def multiply_demo(m1,m2):dst = cv.multiply(m1,m2)cv.imshow("multiply_demo",dst)#均方差
def others(m1,m2):M1,dev1=cv.meanStdDev(m1)M2,dev2=cv.meanStdDev(m2)h,w=m1.shape[:2]print(M1)print(M2)print(dev1)print(dev2)img=np.zeros([h,w],np.uint8)m,dev = cv.meanStdDev(img)print(m)print(dev)#逻辑运算
def logic_demo(m1,m2):dst=cv.bitewise_and(m1,m2)dst2=cv.bitewise_or(m1,m2)dst3=cv.bitewise_not('sea.jpg')cv.imshow("logic_window3",dst3)cv.imshow("logic_window1",dst)cv.imshow("logic_window2",dst2)
#提取亮度和对比度
def contract_bright_demo(image,c,b):h,w,ch=image.shapeblank = np.zeros([h,w,ch],image,dtype)dst = cv.addWeighted(image,c,blank,1-c,b)cv.imshow("contract_bright_demo",dst)部分内容转自
原文链接:https://blog.csdn.net/Lily_9/article/details/83143120

python-OpenCV图像的基本运算相关推荐

  1. python opencv 图像膨胀

    python opencv 图像膨胀 代码: import cv2 import numpy as np # 图像膨胀 def dilate_img(img,a,iterations):kernel ...

  2. python opencv 图像旋转

    python opencv 图像旋转 原图 顺时针旋转 代码: import cv2 path = '2.jpg' img = cv2.imread(path,1) trans_img = cv2.t ...

  3. python opencv图像二值化函数_python opencv 二值化 计算白色像素点的实例

    python opencv 二值化 计算白色像素点的实例 贴部分代码 #! /usr/bin/env python # -*- coding: utf-8 -*- import cv2 import ...

  4. 【Python+OpenCV 图像透视变换 warpPerspective函数】

    Python+OpenCV 图像透视变换 warpPerspective函数 1.函数介绍 2.代码实例 3.实现效果 1.函数介绍 warpPerspective():对图像进行透视变换.简单来说, ...

  5. 【Python+OpenCV 图像的缩放和裁剪】

    Python+OpenCV 图像的缩放和裁剪 代码部分 实现效果 代码部分 import cv2 import numpy as npimg = cv2.imread("Photos/1.b ...

  6. Python OpenCV 图像缩放 cv2.resize 方法

    今天是持续写作的第 42 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客只学习一个方法,cv2.resize 即图像缩放. 取经之旅第 9 天 铺垫知识 resize 方 ...

  7. Python OpenCV 图像平移,取经之旅第 10 天

    今天是持续写作的第 43 / 100 天. 如果你有想要交流的想法.技术,欢迎在评论区留言. 本篇博客学习 OpenCV 中关于图像平移的方法,核心学习到的方法是 warpAffine . 取经之旅第 ...

  8. Python OpenCV 图像的几何变换,先说不平凡的 resize 函数

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

  9. python opencv 图像切割_【OpenCV+Python】图像的基本操作与算术运算

    图像的基本操作 在上个教程中,我们介绍了使用鼠标画笔的功能.本次教程,我们将要谈及OpenCV图像处理的基本操作. 本次教程的所有操作基本上都和Numpy相关,而不是与OpenCV相关.要使用Open ...

  10. python opencv 图像网络传输

    本代码主要实现的是利用网络传输图片,用在我的树莓派项目之上.该项目在PC上运行服务端,树莓派上运行客户端,两者连接到同一局域网中,修改代码中的IP地址,就可以实现将树莓派采集到的图像数据实时传输到PC ...

最新文章

  1. S-T平面图中利用最短路求最小割(BZOJ 1001)
  2. Spring Boot配置文件 application.properties
  3. python如何在循环中保存文件_python-如何在for循环中更改为另一行文件
  4. SSH三大框架的知识题
  5. python之新式类与经典类
  6. 前端学习(2783):封装myrequest并绑定到全局
  7. jQuery学习笔记系列(三)——事件注册、事件处理、事件对象、拷贝对象、多库共存、jQuery插件、toDoList综合案例
  8. Xcode9模拟器隐藏边框
  9. 警惕分页中的checkbox
  10. ENVI5.3下载和安装
  11. 解决Win10/Win11输入法卡顿问题
  12. 俄亥俄州立大学计算机科学转学成功,托福97,我是如何转学成功的?
  13. 电脑Mac地址更改后有什么害处?怎么改回原来的?
  14. 2018年AI和ML(NLP、计算机视觉、强化学习)技术总结和2019年趋势(上)...
  15. Qt5.6.3+VS2013环境搭建教程(最后支持XP系统的Qt版本)
  16. Python代码写好了怎么运行?为大家详细讲讲如何运行Python代码
  17. 三万字、91道MySQL面试题(收藏版)
  18. Maltab生成棋盘格
  19. 高新技术企业补贴如何申请?
  20. Augmented Dickey–Fuller (ADF)Test 详解

热门文章

  1. 基于生成对抗网络的医学数据域适应研究
  2. 【新书速递】你想知道的通信“灵魂三问”都在这里……(福利再现)
  3. 数据安全治理的几个基本问题
  4. 基于环境气象因素影响的异常就诊量预测
  5. 【2017年第4期】流式大数据实时处理技术、平台及应用
  6. 《大数据》第2期“应用”——医疗健康大数据:应用实例与系统分析
  7. 利用C++实现自定义插件
  8. ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 2、安装WebAdapter
  9. hiho一下第128周 后缀自动机二·重复旋律5
  10. 通过Zoopkeeper-BinaryOutputArchive类学习utf-8的实现