当前位置: 首页 > news >正文

OpenCV(python)从入门到精通——运算操作

  • 加法减法操作
import cv2 as cv
import numpy as npx = np.uint8([250])
y = np.uint8([10])x_1 = np.uint8([10])
y_1 = np.uint8([20])# 加法,相加最大只能为255
print(cv.add(x,y))# 减法,相互减最小值只能为0
print(cv.subtract(x_1,y_1))
  • 图像加法
    在这里插入图片描述
import cv2 as cv
import numpy as npimg1 = cv.imread("./images/1.jpg")img2 = cv.imread("./images/1_test.jpg")img = cv.add(img1,img2)cv.imshow("pic",img)
cv.waitKey(0)

在这里插入图片描述

  • 图像权重相加,因为我使用的都是同一张图片
import cv2 as cv
import numpy as npimg1 = cv.imread("./images/1.jpg")img2 = cv.imread("./images/1_test.jpg")# img = cv.add(img1,img2)
img = cv.addWeighted(img1,0.5,img2,0.8,gamma=0)
cv.imshow("pic",img)
cv.waitKey(0)

在这里插入图片描述

  • 按位与操作
import cv2 as cv
import numpy as npimg1 = cv.imread("./images/1.jpg")img2 = cv.imread("./images/1_test.jpg")# img = cv.add(img1,img2)
# img = cv.addWeighted(img1,0.5,img2,0.8,gamma=0)
rows,cols,channels = img2.shape
roi = img1[0:rows,0:cols]
img2gray = cv.cvtColor(img2,cv.COLOR_BGR2GRAY)
ret,mask = cv.threshold(img2gray,10,255,cv.THRESH_BINARY|cv.THRESH_OTSU)
mask_inv = cv.bitwise_not(mask)img1_bg = cv.bitwise_and(roi,roi,mask=mask_inv)
cv.imshow("img1_bg",img1_bg)
cv.waitKey(0)

在这里插入图片描述

  • 按位取反操作
import cv2 as cv
import numpy as npimg1 = cv.imread("./images/1.jpg")img2 = cv.imread("./images/1_test.jpg")# img = cv.add(img1,img2)
# img = cv.addWeighted(img1,0.5,img2,0.8,gamma=0)
rows,cols,channels = img2.shape
roi = img1[0:rows,0:cols]
img2gray = cv.cvtColor(img2,cv.COLOR_BGR2GRAY)
ret,mask = cv.threshold(img2gray,10,255,cv.THRESH_BINARY|cv.THRESH_OTSU)
mask_inv = cv.bitwise_not(mask)img1_bg = cv.bitwise_not(roi,roi,mask=mask_inv)
cv.imshow("img1_bg",img1_bg)
cv.waitKey(0)

在这里插入图片描述

  • 按位或

import cv2 as cv
import numpy as npimg1 = cv.imread("./images/1.jpg")img2 = cv.imread("./images/1_test.jpg")# img = cv.add(img1,img2)
# img = cv.addWeighted(img1,0.5,img2,0.8,gamma=0)
rows,cols,channels = img2.shape
roi = img1[0:rows,0:cols]
img2gray = cv.cvtColor(img2,cv.COLOR_BGR2GRAY)
ret,mask = cv.threshold(img2gray,10,255,cv.THRESH_BINARY|cv.THRESH_OTSU)
cv.imshow("img3",roi)
cv.imshow("img1",mask)
mask_inv = cv.bitwise_not(mask)img1_bg = cv.bitwise_or(roi,roi,mask=mask_inv)
cv.imshow("img1_bg",img1_bg)
cv.waitKey(0)

在这里插入图片描述

  • 按位异或
import cv2 as cv
import numpy as npimg1 = cv.imread("./images/1.jpg")img2 = cv.imread("./images/1_test.jpg")# img = cv.add(img1,img2)
# img = cv.addWeighted(img1,0.5,img2,0.8,gamma=0)
rows,cols,channels = img2.shape
roi = img1[0:rows,0:cols]
img2gray = cv.cvtColor(img2,cv.COLOR_BGR2GRAY)
ret,mask = cv.threshold(img2gray,10,255,cv.THRESH_BINARY|cv.THRESH_OTSU)
cv.imshow("img3",roi)
cv.imshow("img1",mask)
mask_inv = cv.bitwise_xor(mask,mask)img1_bg = cv.bitwise_or(roi,roi,mask=mask_inv)
cv.imshow("img1_bg",img1_bg)
cv.waitKey(0)
http://www.lryc.cn/news/507053.html

相关文章:

  • 基础2:值类型与右值引用
  • GitHub年度报告发布!Python首次超越JavaScript
  • EdgeX Message Bus 消息总线
  • 【JavaEE进阶】关于Maven
  • YOLOv9-0.1部分代码阅读笔记-autoanchor.py
  • Electronjs+Vue如何开发PC桌面客户端(Windows,Mac,Linux)
  • 谷歌浏览器 安装谷歌浏览器特定版本后禁止自动更新
  • Linux计算时间差
  • Python的3D可视化库【vedo】2-5 (plotter模块) 坐标转换、场景导出、添加控件
  • 【VUE】13、安装nrm管理多个npm源
  • 【SQL/MySQL 如何使用三种触发器】SQL语句实例演示
  • Docker容器五种网络驱动模式详解
  • netfilter简介及流程图
  • Vue 前端代码规范
  • JAVA:组合模式(Composite Pattern)的技术指南
  • js常用方法之: 预览大图(uniapp原生方法封装)
  • python 高级用法
  • TISAX认证最新消息
  • Python中所有子图标签Legend显示详解
  • python脚本中使用git命令
  • 本地maven项目打包部署到maven远程私库
  • 自己搭建专属AI:Llama大模型私有化部署
  • [免费]SpringBoot公司财务管理系统【论文+源码+SQL脚本】
  • 5G 模组 RG500Q常用AT命令
  • 【YOLO 项目实战】(11)YOLO8 数据集与模型训练
  • 基于matlab的单目相机标定
  • DB-GPT 智谱在线模型配置
  • Navicat 17 功能简介 | SQL 美化
  • RTA_OS内核源码解析 3.9-任务激活
  • 新能源汽车充电需求攀升,智慧移动充电服务有哪些实际应用场景?