上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.5 图像与数值的运算
在上述加法运算和按位运算中,参与运算的两个算子(参数)既可以是两幅图像,也可以是一幅图像与一个数值。
例如,如果想增加图像的整体亮度,可以将每一个像素值都加上一个特定值。在具体实现时,可以给图像加上一个统一像素值的图像,也可以给图像加上一个固定值。
例如,img1和img2的原始值分别为:
经过img3=cv2.add(img1, img2)运算后,得到img3为:
经过img4=cv2.add(img1,6)运算后,得到img4为:
经过img5=cv2.add(6, img2)运算后,得到img5为:
【例3.12】演示图像与数值的运算结果。
为了方便理解,本例中采用数组模拟图像演示运算结果。
根据题目要求,编写程序如下:
import cv2 import numpy as np img1=np.ones((4,4), dtype=np.uint8)*3 img2=np.ones((4,4), dtype=np.uint8)*5 print("img1=\n", img1) print("img2=\n", img2) img3=cv2.add(img1, img2) print("cv2.add(img1, img2)=\n", img3) img4=cv2.add(img1,6) print("cv2.add(img1,6)\n", img4) img5=cv2.add(6, img2) print("cv2.add(6, img2)=\n", img5)
运行上述程序,得到如下输出结果:
img1= [[3 3 3 3] [3 3 3 3] [3 3 3 3] [3 3 3 3]] img2= [[5 5 5 5] [5 5 5 5] [5 5 5 5] [5 5 5 5]] cv2.add(img1, img2)= [[8 8 8 8] [8 8 8 8] [8 8 8 8] [8 8 8 8]] cv2.add(img1,6) [[9 9 9 9] [9 9 9 9] [9 9 9 9] [9 9 9 9]] cv2.add(6, img2)= [[11 11 11 11] [11 11 11 11] [11 11 11 11] [11 11 11 11]]