浅谈Python实现opencv之图片色素的数值运算和逻辑运算

作者:云散月明晴 时间:2022-06-11 15:58:50 

数值运算

代码:


# -*- coding=GBK -*-
import cv2 as cv

# 数值运算:加减乘除
def shu_image(src11, src22):
         src = cv.add(src11, src22)  # 加 : 图像对应像素值相加,> 255 时取255
         cv.namedWindow("add",0)
         cv.resizeWindow("add", 300, 300)  # 设置播放窗口长和宽
         cv.imshow("add", src)
         src = cv.subtract(src11, src22)  # 减 : 图像对应像素值相减,< 0 时取0
         cv.namedWindow("subtract", 0)
         cv.resizeWindow("subtract", 300, 300)
         cv.imshow("subtract", src)
         src = cv.multiply(src11, src22)  # 乘 : 图像对应像素值相乘,> 255 时取255
         cv.namedWindow("multiply", 0)
         cv.resizeWindow("multiply", 300, 300)
         cv.imshow("multiply", src)
         src = cv.divide(src11, src22)  # 除 : 图像对应像素值相除,a( > 0) / 0 = 255
         cv.namedWindow("divide", 0)
         cv.resizeWindow("divide", 300, 300)
         cv.imshow("divide", src)

src1 = cv.imread("jueduisiwang.bmp")
src2 = cv.imread("fuchoutianshi.bmp")

cv.namedWindow("src1", 0)
cv.resizeWindow("src1", 300, 300)
cv.imshow("src1", src1)

src2 = src2[:,:30,:] # 两张图片尺寸大小要一样,不然就需要调整
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)

shu_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()

结果:

浅谈Python实现opencv之图片色素的数值运算和逻辑运算

逻辑运算

代码:


# -*- coding=GBK -*-
import cv2 as cv

# 逻辑运算:与或非的操作
def luo_image(src1, src2):
   src = cv.bitwise_and(src1, src2)
   cv.namedWindow("AND", 0)
   cv.resizeWindow("AND", 300, 300)
   cv.imshow("AND", src)
   src = cv.bitwise_or(src1, src2)
   cv.namedWindow("OR", 0)
   cv.resizeWindow("OR", 300, 300)
   cv.imshow("OR", src)
   src = cv.bitwise_not(src1)
   cv.namedWindow("NOR", 0)
   cv.resizeWindow("NOR", 300, 300)
   cv.imshow("NOR", src)
   src = cv.bitwise_xor(src1, src2)
   cv.namedWindow("XOR", 0)
   cv.resizeWindow("XOR", 300, 300)
   cv.imshow("XOR", src)

src1 = cv.imread("jueduisiwang.bmp")
src2 = cv.imread("fuchoutianshi.bmp")

cv.namedWindow("src1", 0)
cv.resizeWindow("src1", 300, 300)
cv.imshow("src1", src1)

src2 = src2[:,:30,:] # 两张图片尺寸大小要一样,不然就需要调整
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)

luo_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()

结果(不太具有参考价值):

浅谈Python实现opencv之图片色素的数值运算和逻辑运算

备注:

图像的逻辑或运算就是255-对应通道像素值,也就是“取反”操作(黑白图就是黑变白,白变黑)

黑白图和同尺寸任意图的逻辑或运算就是加法运算

黑白图和同尺寸任意图的逻辑与运算就是黑白图的黑白像素值互换然后与同尺寸任意图做加法运算

而彩色图之间的逻辑运算关系感觉太复杂了,没搞懂 : (

来源:https://blog.csdn.net/weixin_40338379/article/details/117886684

标签:Python,opencv
0
投稿

猜你喜欢

  • SQL数据库优化大总结之百万级数据库优化方案

    2024-01-16 09:42:10
  • 解决Pytorch训练过程中loss不下降的问题

    2023-03-01 09:30:22
  • 在Python的Bottle框架中使用微信API的示例

    2022-06-02 00:12:47
  • thinkPHP引入类的方法详解

    2024-06-05 09:45:55
  • Python socket套接字实现C/S模式远程命令执行功能案例

    2021-11-27 13:22:01
  • Python利用pythonping处理ping的示例详解

    2023-08-12 00:28:45
  • mysql 8.0.12 解压版安装教程 个人亲测!

    2024-01-28 10:22:05
  • Web2.0 体验式网站设计的41个关键点

    2008-08-10 17:49:00
  • TRUNCATE 快速删除表中的所有数据

    2024-01-16 23:43:07
  • tensorflow 获取checkpoint中的变量列表实例

    2021-06-21 05:47:17
  • 在Python3中初学者应会的一些基本的提升效率的小技巧

    2022-04-05 12:55:28
  • 详解python脚本自动生成需要文件实例代码

    2023-10-04 08:44:10
  • python中asyncore异步模块的实现

    2023-10-23 00:50:07
  • python装饰器实现对异常代码出现进行自动监控的实现方法

    2021-05-29 16:52:13
  • Go语言中利用http发起Get和Post请求的方法示例

    2024-04-26 17:33:22
  • webpack多入口文件页面打包配置详解

    2024-05-25 15:18:07
  • python基础篇之pandas常用基本函数汇总

    2021-09-06 20:42:22
  • python3在各种服务器环境中安装配置过程

    2021-10-27 22:49:55
  • js实现酷炫倒计时动画

    2024-06-13 21:25:49
  • python实现自动化脚本编写

    2023-11-13 14:58:14
  • asp之家 网络编程 m.aspxhome.com