别人没那么重要,我也没那么重要,好好活着,把能做的小事做好,够不到的东西就放弃,承认就好。做一个心情好能睡着的人,你所有事情都会在正轨上。

PythonOpenCV-图像运算

简介

  在Python中,OpenCV使用NumPy数组表示图像,可以很方便地进行运算。主要包括加法运算、加权加法运算和位运算。

1. 加法运算

  加法运算符“+”和cv2.add()函数可用于执行图像的加法运算。

  • 用“+”运算符执行两个图像相加时,如果两个图像像素相加大于256,则会将其按256取模;
  • 用cv2.add()函数执行两个图像相加时,如果两个图像像素相加大于256,则取255。

代码示例

import cv2 as cv
img1 = cv.imread('lena.jpg',cv.IMREAD_REDUCED_COLOR_2)
img2 = cv.imread('opencvlog.jpg',cv.IMREAD_REDUCED_COLOR_2)
img3 = img1 + img2    # 两张图片尺寸大小必须一致
img4 = cv.add(img1, img2)
cv.imshow("img1 + img2", img3)
cv.imshow("add(img1, img2)", img4)
cv.waitKey(0)

运行结果

 


 

 

2. 加权加法运算

函数原型

dst = cv2.addWeighted(src1,alpha,src2,beta,gamma)
# 参数
# alpha 和 1beta 为权重
# gamma 为附加值

# 计算公式
# dst = src1 * alpha + src2 * beta + gamma

代码示例

import cv2 as cv
img1 = cv.imread('lena.jpg',cv.IMREAD_REDUCED_COLOR_2)
img2 = cv.imread('opencvlog.jpg',cv.IMREAD_REDUCED_COLOR_2)
img3 = cv.addWeighted(img1, 0.7, img2, 0.3, 0)
cv.imshow("addWeighted", img3)
cv.waitKey(0)

运行结果

 


 

 

3. 位运算

OpenCV位运算函数

  • cv2.bitwise_add(src1, src2[, mask]) : mask对应的位不为0时,图像src1和src2执行按位与操作。
  • cv2.bitwise_or(src1, src2[, mask]) : mask对应的位不为0时,图像src1和src2执行按位或操作。
  • cv2.bitwise_not(src1[, mask]) : mask对应的位不为0时,图像src1执行按位取反操作。
  • cv2.bitwise_xor(src1, src2[, mask]) : mask对应的位不为0时,图像src1和src2执行按位异或操作。

代码示例

import cv2 as cv
img1 = cv.imread('lena.jpg',cv.IMREAD_REDUCED_COLOR_2)
img2 = cv.imread('opencvlog.jpg',cv.IMREAD_REDUCED_COLOR_2)
img3 = cv.bitwise_and(img1, img2)
img4 = cv.bitwise_or(img1, img2)
img5 = cv.bitwise_not(img1)
img6 = cv.bitwise_xor(img1, img2)
cv.imshow("and", img3)
cv.imshow("or", img4)
cv.imshow("not", img5)
cv.imshow("xor", img6)
cv.waitKey(0)

运行结果

 

/*-------------------------------------------------------------------------------------------------------

笔者说明:

  该笔记来源于本人学习Python + OpenCv时的资料,

  分享出来只是为了供大家学习,并且为了自己以后想要用的时候方便寻找。

时间:2023年4月15日

------------------------------------------------------------------------------------------------------------*/

posted @ 2023-04-15 09:26  一路狂奔的乌龟  阅读(101)  评论(0)    收藏  举报
返回顶部