五、像素运算

一、相关概念

1、算术运算
Ⅰ加减乘除
Ⅱ调节亮度
Ⅲ调整对比度

2、逻辑运算
Ⅰ与或非
Ⅱ遮罩层控制

二、图像算术运算(加减乘除均值方差)

其中图像的加减乘除需要保证两张图像的大小相同

import cv2
import numpy as npdef add(src1,src2):dst = cv2.add(src1,src2)cv2.imshow("add",dst)def subtract(src1,src2):dst1 = cv2.subtract(src1,src2)dst2 = cv2.subtract(src2,src1)cv2.imshow("subtract1",dst1)cv2.imshow("subtract2",dst2)def divide(src1,src2):dst1 = cv2.divide(src1,src2)dst2 = cv2.divide(src2,src1)cv2.imshow("divide1",dst1)cv2.imshow("divide2",dst2)def multiply(src1,src2):dst = cv2.multiply(src1,src2)cv2.imshow("multiply",dst)def average_value(src1,src2):#图像均值m1 = cv2.mean(src1)m2 = cv2.mean(src2)print("均值1:",m1)print("均值2:",m2)def mean_variance(src1,src2):m1,dev1 = cv2.meanStdDev(src1)#m为均值,dev为方差m2,dev2 = cv2.meanStdDev(src2)print("均值1:",m1)print("均值2:",m2)print("方差1:",dev1)print("方差2:",dev2)def compare(src1):#当全为1的图像,其方差为0h,w = src1.shape[:2]print(h,w)img = np.ones([h,w],np.uint8)m,dev = cv2.meanStdDev(img)print("均值是:",m,"方差是:",dev)src1 = cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a1.jpg")
src2 = cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a2.jpg")
print(src1.shape)
print(src2.shape)#cv2.namedWindow("image1",cv2.WINDOW_AUTOSIZE)
cv2.imshow("image1",src1)
cv2.imshow("image2",src2)add(src1,src2)
subtract(src1,src2)
divide(src1,src2)
multiply(src1,src2)average_value(src1,src2)
mean_variance(src1,src2)compare(src1)cv2.waitKey(0)
cv2.destroyAllWindows()

运行效果如下:
在这里插入图片描述
在这里插入图片描述

三、图像的逻辑运算(与或非)

与或运算针对两张图片而言,非运算针对单一图片而言

import cv2
import numpy as npdef logic(src1,src2):And = cv2.bitwise_and(src1,src2)cv2.imshow("logic_and",And)Or = cv2.bitwise_or(src1,src2)cv2.imshow("logic_or",Or)Not1 = cv2.bitwise_not(src1)cv2.imshow("logic_not1",Not1)Not2 = cv2.bitwise_not(src2)cv2.imshow("logic_not2",Not2)src1 = cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a1.jpg")
src2 = cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a2.jpg")
cv2.imshow("image1",src1)
cv2.imshow("image2",src2)logic(src1,src2)cv2.waitKey(0)
cv2.destroyAllWindows()

运行效果图如下:
在这里插入图片描述

四、对图像的对比度、亮度进行调节

import cv2
import numpy as npdef contrast_brightness(src,c,b):#目标图像、对比度、亮度h,w,ch = src.shapeblack = np.zeros([h,w,ch],src.dtype)dst = cv2.addWeighted(src,c,black,1-c,b)cv2.imshow("contrast_brightness",dst)src = cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a1.jpg")
cv2.imshow("image",src)contrast_brightness(src,1,2)cv2.waitKey(0)
cv2.destroyAllWindows()

效果图如下:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建bootstrap项目_使用Bootstrap创建第一个网页

创建bootstrap项目使用Bootstrap创建第一个网页 (Create First Webpage with Bootstrap) In the previous article, we learned "how to setup bootstrap?" for a web project. If you haven’t gone through that, it is recommended to read it. Now, in this art…

Chaikin Curve(球面插值)

在两条折线间完成平滑的过渡是 用画布做UI 或者做类似地图编辑器一类的工作的 很常见的任务。 怎么样化方为圆是决定工作效率的很重要的因素。(当需要编辑的曲线多起来, 复杂起来的时候,这会是件相当繁重的工作) 最容易想到的莫非…

【2020 电设G题 图像题解】

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 2022.3.10新增订阅通知 近期把此专栏设置为了付费模式,可以直接花9.9买这个专栏,买了就可以直接这个专栏的所有文章了。后…

六、ROI和泛洪填充

一、ROI ROI:region of interest,即感兴趣区域。 一般主要通过numpy来获取ROI 将某区域转变为灰色图片再覆盖原图像 import cv2 import numpy as npsrc cv2.imread(r"G:\Juptyer_workspace\study\opencv\opencv3\a1.jpg") cv2.imshow(&quo…

VS2005 there is no source code available for the current location 解决方案

1.首先试最常规的方法:Clean and then rebuild solution,但是没有解决 2.进入Tools>Options,选择Debugging>General 却掉 Enable address-level debugging 选项,在去掉 Require source files to exactly match the original version. O…

django 静态数据_如何在Django中使用静态数据?

django 静态数据Static Data means those data items that we cannot want to change, we want to use them as it is like audio, video, images, files etc. 静态数据是指我们不想更改的数据项,我们想像音频,视频,图像,文件等那…

Leetcode226. 翻转二叉树(递归、迭代、层序三种解法)

目录题目1、层序法:2、递归法:1、先序遍历(中左右)2、后序遍历(左右中)3、递归中序遍历为什么不行(左中右)3、迭代法:1、先序遍历2、中序遍历3、后序遍历为什么迭代法的中…

Asp.net 获取当前目录的三种方法

方法一: string sPath System.IO.Path.GetDirectoryName(Page.Request.PhysicalPath) 方法二: string sPath System.Web.HttpContext.Current.Request.MapPath("/") 方法三: string s…

一款jQuery立体感动态下拉导航菜单特效

一款jQuery立体感动态下拉导航菜单特效,鼠标经过,在菜单栏上方下拉出一个背景图片,效果十分不错的一款jquery特效。 对IE6都是兼容的,希望大家好好研究研究。 适用浏览器:IE6、IE7、IE8、360、FireFox、Chrome、Safari、Opera、傲…

七、模糊操作

一、模糊操作基本原理 1,基于离散卷积 2,定义好每一个卷积核 3,不同卷积核得到不同的卷积效果 4,模糊是卷积的一种表象 二、1*3卷积核举例 每次右移一格,进行对应相乘再求和。1*3的卷积核左右两边的元素并没有处理而…

LeetCode 100. 相同的树 思考分析

给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: 1 1 / \ / 2 3 2 3 [1,2,3], [1,2,3]输出: true 示例 2: 输入: 1 1 / 2 2 [1,2], [1,null,2]输…

在Python中以二进制格式输入数字

Syntax to convert binary value to an integer (decimal format), 将二进制值转换为整数(十进制格式)的语法, int(bin_value, 2)Here, 这里, bin_value should contain the valid binary value bin_value应该包含有效的二进制值 2 is the base value …

八、边缘保留滤波(EPF)

一、概念 边缘保留滤波(EPF,edge preserving filtering) 二、高斯双边 cv2.bilateralFilter(image,0,100,15)100为差异,15为周围的区域 import cv2 import numpy as npdef bilateralFilter(image):dst cv2.bilateralFilter(image,0,100,15)cv2.imshow(bilater…

LintCode 375. 克隆二叉树(深复制)

先序遍历构造二叉树 TreeNode * preorder(TreeNode * root){if(rootNULL) return NULL;TreeNode * ans;ansnew TreeNode(root->val);if(root->left!NULL){ans->leftpreorder(root->left);}if(root->right!NULL){ans->rightpreorder(root->right);}return…

关于ECMAScript基础入门的分享

目录 ECMAScript基础入门1. 介绍2. 变量与数据类型2.1 变量2.2 数据类型 3. 运算符3.1 算术运算符3.2 比较运算符 4. 控制流4.1 条件语句4.2 循环语句 5. 函数6. 对象与数组6.1 对象6.2 数组 7. 总结 ECMAScript基础入门 1. 介绍 ECMAScript是JavaScript的标准规范&#xff0…

kotlin 计算平方_Kotlin程序来计算复利

kotlin 计算平方Compound interest is the sum of principal amount and interest of interest. 复利是本金和利息之和。 Given, principal, rate, and time, we have to calculate the Compound interest. 给定本金,利率和时间,我们必须计算复利。 Fo…

近代科学为什么诞生在西方-1

宽泛的讲,近代科学是几种文明在长达几个世纪的持续交流碰撞中产生的。它正在日益成为全世界全人类都有效的普适科学。通向现代科学之路就是通向自由和开放交流之路。 马克思韦伯和莫顿都认为,科学事业要持续的进步就要特定的文化和制度的支持。 中国的数…

九、图像直方图

一、图像直方图的属性 说白了就是将图像上的各个颜色通道上的像素点的像素值进行统计,例如:像素值为14的像素点个数有几个,进行显示。 图像的像素值取值范围为[0,255],这个范围也成为直方图的range也就是直方图的横坐标轴 每一个…

BIFR的完整形式是什么?

BIFR:工业和金融重组委员会 (BIFR: Board of Industrial and Financial Reconstruction) BIFR is an abbreviation of the Board of Industrial and Financial Reconstruction. It was an organization of the Government of India and a branch of the Department …

LeetCode 101. 对称二叉树 思考分析

题目 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1/ 2 2 / \ / 3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1/ 2 2 \ 3 3 进阶: 你可以运用递归和迭代两种方法解决这个…