浅谈Python实现opencv之图片色素的数值运算和逻辑运算
作者:云散月明晴 发布时间:2022-06-11 15:58:50
标签:Python,opencv
数值运算
代码:
# -*- 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()
结果:
逻辑运算
代码:
# -*- 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()
结果(不太具有参考价值):
备注:
图像的逻辑或运算就是255-对应通道像素值,也就是“取反”操作(黑白图就是黑变白,白变黑)
黑白图和同尺寸任意图的逻辑或运算就是加法运算
黑白图和同尺寸任意图的逻辑与运算就是黑白图的黑白像素值互换然后与同尺寸任意图做加法运算
而彩色图之间的逻辑运算关系感觉太复杂了,没搞懂 : (
来源:https://blog.csdn.net/weixin_40338379/article/details/117886684


猜你喜欢
- 背景:目前keras框架使用简单,很容易上手,深得广大算法工程师的喜爱,但是当部署到客户端时,可能会出现各种各样的bug,甚至不支持使用ke
- 1.使用nuget下载:Microsoft.Extensions.Configuration.JsonPomelo.EntityFramew
- 本文研究的主要是Django权限机制的相关内容,具体如下。1. Django权限机制概述权限机制能够约束用户行为,控制页面的显示内容,也能使
- ORM模型介绍随着项目越来越大,采用写原生SQL的方式在代码中会出现大量的SQL语句,那么问题就出现了:SQL语句重复利用率不高,越复杂的S
- 前言:线程安全问题:当2个线程同时用到线程池时,会同时创建2个线程池。如果多个线程,错开用到线程池,就只会创建一个线程池,会共用一个线程池。
- 前言replace into平时在开发中很少用到,这次是因为在做一个生成分布式ID的开源项目,调研雅虎推出的一个基于数据库生成唯一id生成方
- 1. 功能说明,在页面使用smarty循环100次输出,类似for循环100次{section name=total loop=100}{$
- 本文介绍了Vue生命周期和手动挂载,分享给大家,具体如下:1、vue的生命周期: 2、$mount()手动挂载 当Vue实例没有el属性时,
- 来自Six Revisions的一篇文章,作者对一些主流的浏览器进行了测试比较,测试主要针对以下几个方面进行:1.JavaScript执行速
- 目录前言第一步:查看所有 SSH-Key第二步:生成一个 ssh-key,用于配置公司的 GitLab第三步:Github 生成一个 SSH
- Tuple概述在Python中使用元组(Tuple)存储一组信息,其特征如下:1、使用()定义元组2、元组中使用逗号 , 分割各元素;各元素
- 一、安装 → pyinstaller1.1 方式1:cmd1. 调出运行窗口:win + r, 并输入 cmd2. 切换到 pip.exe
- 本文研究的主要是pandas常用函数,具体介绍如下。1 import语句import pandas as pdimport numpy as
- 项目意义如果你想在支付宝蚂蚁森林收集很多能量种树,为环境绿化出一份力量,又或者是想每天称霸微信运动排行榜装逼,却不想出门走路,那么该pyth
- 效果图代码<template> <div class="outWrap"> &nbs
- 在命令行输入以下代码:pythonimport cv2cv2.__version__来源:https://blog.csdn.net/dlh
- 目录解析器和预处理器查询优化器MySQL查询优化需要经过解析、预处理和优化三个步骤。在这些过程中,都有可能发生错误。本篇文章不会深入讨论错误
- 加载1个或多个要素<template> <div id="map" style="
- inspect模块用于收集python对象的信息,可以获取类或函数的参数的信息,源码,解析堆栈,对对象进行类型检查等等,有几个好用的方法:D
- 1、简介本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,