OpenCV半小时掌握基本操作之像素加减乘除&逻辑运算

 更新时间:2021年09月01日 14:35:25   作者:我是小白呀  
这篇文章主要介绍了OpenCV基本操作之像素加减乘除&逻辑运算,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️像素加减乘除 & 逻辑运算

概述

OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.

在这里插入图片描述

加减乘除

原图:

在这里插入图片描述

相加

import cv2


def add(image1, image2):
    """相加"""

    result = cv2.add(image1, image2)

    cv2.imshow("add_demo", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img1 = cv2.imread("girl2.jpg")
    img2 = cv2.imread("iamarookie.jpg")

    # 获得相加的图片
    add = add(img1, img2)

    # 保存图片
    cv2.imwrite("add.jpg", add)

输出结果:

在这里插入图片描述

相减

import cv2


def subtract(image1, image2):
    """相减"""

    result = cv2.subtract(image1, image2)

    cv2.imshow("add_demo", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img1 = cv2.imread("girl2.jpg")
    img2 = cv2.imread("iamarookie.jpg")

    # 获取相减图片
    subtract = subtract(img1, img2)

    # 保存图片
    cv2.imwrite("subtract.jpg", subtract)

输出结果:

在这里插入图片描述

相乘

import cv2


def multiply(image1, image2):
    """相成"""

    result = cv2.multiply(image1, image2)

    cv2.imshow("add_demo", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img1 = cv2.imread("girl2.jpg")
    img2 = cv2.imread("iamarookie.jpg")

    # 获取相乘图片
    multiply = multiply(img1, img2)

    # 保存图片
    cv2.imwrite("multiply.jpg", multiply)

输出结果:

在这里插入图片描述

相除

import cv2


def divide(image1, image2):
    """相除"""

    result = cv2.divide(image1, image2)

    cv2.imshow("add_demo", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img1 = cv2.imread("girl2.jpg")
    img2 = cv2.imread("iamarookie.jpg")

    # 获取相除图片
    divide = divide(img1, img2)

    # 保存图片
    cv2.imwrite("divide.jpg", divide)

输出结果:

在这里插入图片描述

逻辑运算

逻辑与

cv2.bitwise_and可以帮助我们实现两个图片的逻辑与.

例子:

import cv2


def logic_and(image1, image2):
    """逻辑与"""

    result = cv2.bitwise_and(image1, image2)

    # 结果展示
    cv2.imshow("result", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img1 = cv2.imread("girl2.jpg")
    img2 = cv2.imread("iamarookie.jpg")

    # 获取逻辑与后的图片
    logic_and = logic_and(img1, img2)

    # 保存图片
    cv2.imwrite("logic_and.jpg", logic_and)

输出结果:

在这里插入图片描述

逻辑或

cv2.bitwise_or可以帮助我们实现两个图片的逻辑或.

例子:

import cv2


def logic_or(image1, image2):
    """逻辑或"""

    result = cv2.bitwise_or(image1, image2)

    # 结果展示
    cv2.imshow("result", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img1 = cv2.imread("girl2.jpg")
    img2 = cv2.imread("iamarookie.jpg")

    # 获取逻辑或后的图片
    logic_or = logic_or(img1, img2)

    # 保存图片
    cv2.imwrite("logic_or.jpg", logic_or)

输出结果:

在这里插入图片描述

逻辑反

cv2.bitwise_not()可以帮助我们实现像素取反.

例子:

import numpy as np
import cv2


def logic_not(image):
    """逻辑非"""

    result = cv2.bitwise_not(img)

    # 合并
    result = np.hstack((img, result))

    # 结果展示
    cv2.imshow("result", result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return result


if __name__ == "__main__":
    # 读取图片
    img = cv2.imread("beautiful_girl.jpg")

    # 获取取反图片
    logic_not = logic_not(img)

    # 保存图片
    cv2.imwrite("logic_not.jpg", logic_not)

输出结果:

在这里插入图片描述

到此这篇关于OpenCV半小时掌握基本操作之像素加减乘除&逻辑运算的文章就介绍到这了,更多相关OpenCV像素加减乘除&逻辑运算内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Anaconda使用IDLE的实现示例

    Anaconda使用IDLE的实现示例

    这篇文章主要介绍了Anaconda使用IDLE的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • python下读取公私钥做加解密实例详解

    python下读取公私钥做加解密实例详解

    这篇文章主要介绍了python下读取公私钥做加解密实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 在Pytorch中使用样本权重(sample_weight)的正确方法

    在Pytorch中使用样本权重(sample_weight)的正确方法

    今天小编就为大家分享一篇在Pytorch中使用样本权重(sample_weight)的正确方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • Python装饰器代码详解

    Python装饰器代码详解

    这篇文章主要介绍了python 一篇文章搞懂装饰器所有用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-10-10
  • Python 网络编程说明

    Python 网络编程说明

    socket 是网络连接端点。
    2009-08-08
  • Python字符串的字符转换、字符串劈分、字符串合并问题分析

    Python字符串的字符转换、字符串劈分、字符串合并问题分析

    这篇文章主要介绍了Python字符串的字符转换、字符串劈分、字符串合并,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • Python绘制心形曲线完整代码实现

    Python绘制心形曲线完整代码实现

    这篇文章主要介绍了Python绘制心形曲线的相关资料,通过numpy和matplotlib库计算坐标并绘图,代码包含导入库、定义函数、生成参数、计算坐标、绘图和显示图形等步骤,展示了数学与编程的结合美感,需要的朋友可以参考下
    2024-10-10
  • python3实现飞机大战

    python3实现飞机大战

    这篇文章主要为大家详细介绍了python3实现飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • 关于python的list相关知识(推荐)

    关于python的list相关知识(推荐)

    下面小编就为大家带来一篇关于python的list相关知识(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • python中count函数知识点浅析

    python中count函数知识点浅析

    在本篇文章里小编给大家整理了一篇关于python中count函数知识点浅析内容,有兴趣的朋友们可以学习下。
    2020-12-12

最新评论