OpenCV图像处理应用(面向Python)之图像运算

Posted OpenCV小课堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV图像处理应用(面向Python)之图像运算相关的知识,希望对你有一定的参考价值。

OpenCV图像处理应用(面向Python)

欢迎来到梁老湿课堂

版权声明:
作者:OpenCV小课堂
导师:Fu Xianjun
本文版权归作者导师共有,欢迎转载,但未经作者同意必须在文章页面注明来源及原作者或原文链接,否则保留追究法律责任的权利。

算术运算

1.加法
简单来讲就是分成两种情况:
①两张图片对应的像素点相加之和小于或等于255,直接运行得出结果。例如53+30=83
②恰恰和上面相反,两张图片对应的像素点相加之和大于255,那就要先取模。例如255+88=343,大于255,那就要使用(255+88)%256=87,得出结果为87并运行。
import cv2
img1=cv2.imread(“LinuxLogo.jpg”)
img2=cv2.imread(“WindowsLogo.jpg”)
img3=img1+img2

cv2.imshow(“add”,img3)
cv2.waitKey()
cv2.destroyAllWindows()


2.减法
import cv2
img1=cv2.imread(“LinuxLogo.jpg”)
img2=cv2.imread(“WindowsLogo.jpg”)
img3=img1-img2

cv2.imshow(“subtract”,img3)
cv2.waitKey()
cv2.destroyAllWindows()

3.乘法
import cv2
img1=cv2.imread(“LinuxLogo.jpg”)
img2=cv2.imread(“WindowsLogo.jpg”)
img3=img1*img2

cv2.imshow(“multiply”,img3)
cv2.waitKey()
cv2.destroyAllWindows()

4.除法
import cv2
img1=cv2.imread(“LinuxLogo.jpg”)
img2=cv2.imread(“WindowsLogo.jpg”)
img3=img1/img2

cv2.imshow(“divide”,img3)
cv2.waitKey()
cv2.destroyAllWindows()

由此次可得数值最大不得超过255,可以自己动手敲一下,加深印象,也可以照两张毫不相干的图,对其进行加减乘除,你可能会得到一张艺术图。
5.加权和
cv2.addWeighted(src1,alpha,src2,beta,gamma)
src1、2,即为原图

实现PS:图像调整

逻辑运算

1.按位与运算
dst=cv2.bitwise_and(src1,src2)
dst是得出结果的图
src1和src2即为两张图的原图
1.按位或运算
dst=cv2.bitwise_or(src1,src2)
dst是得出结果的图
src1和src2即为两张图的原图
1.按位异或运算
dst=cv2.bitwise_xor(src1,src2)
dst是得出结果的图
src1和src2即为两张图的原图
1.按位取反(非)运算
dst=cv2.bitwise_not(src1,src2)
dst是得出结果的图
src1和src2即为两张图的原图


隐藏的秘密:数字水印

尝试用另外一种方法遮住人物头部

多练多学多坚持,我们下期再见。

以上是关于OpenCV图像处理应用(面向Python)之图像运算的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV图像处理应用(面向Python)之图像金字塔

OpenCV图像处理应用(面向Python)之图像轮廓

OpenCV图像处理应用(面向Python)之图像轮廓

OpenCV图像处理应用(面向Python)之图像运算

OpenCV图像处理应用(面向Python)之入门操作

OpenCV图像处理应用(面向Python)之图像轮廓