opencv简单的图像处理--新手入门(4)

目录

 

 

一、图像的加法

1、numpy加法

2、opencv加法

3、代码

二、图像融合


 

一、图像的加法

1、numpy加法

numpy的加法是一种取模运(取余数)

我们简单看一下在二进制里面是怎么样表现的,比如在8位的二进制里面

在加法运算时,小于255时,那就是和;如果大于255时,我们取模运算

2、opencv加法

在加法运算时,小于255时,那就是和;如果大于255时,我们取255

3、代码


import cv2
import numpy as np
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",0)
img2=img1
imgnp=img1+img2
imgcv=cv2.add(img1,img2)
cv2.imshow("original",img1)
cv2.imshow("numpy",imgnp)
cv2.imshow("opencv",imgcv)
cv2.waitKey(0)
cv2.destroyAllWindows()

我们分别看下两种运算的结果

我们发现opencv的鲜果要比numpy更加接近实际的图像。

二、图像融合

addWeighted函数

addWeighted( src1, alpha, src2, beta, 0.0, dst)

1、 第1个参数,输入图片1, 

2、第2个参数,图片1的融合比例

3、第3个参数,输入图片2

4、第4个参数,图片2的融合比例

5、第5个参数,偏差,不能省略

6、第6个参数,输出图片,可选

计算的方式如下:

代码:

import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/lena.bmp",0)
img2=cv2.imread("/Users/admin/Desktop/模型数据/boat.bmp",0)
result=addWeighted(img1,1,img2,1,0)
cv2.imshow("img1",img1)
cv2.imshow("img2",img2)
cv2.imshow("result",result)
cv2.waitKey(0)
cv2.destroyAllWindows()

上面我们时按照1:1的融合

下面我们该下融合比例分别看一下

import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/lena.bmp",0)
img2=cv2.imread("/Users/admin/Desktop/模型数据/boat.bmp",0)
result1=cv2.addWeighted(img1,1,img2,0.1,0)
result2=cv2.addWeighted(img1,1,img2,0.5,0)
result3=cv2.addWeighted(img1,1,img2,1,0)
cv2.imshow("result1",result1)
cv2.imshow("result2",result2)
cv2.imshow("result3",result3)
cv2.waitKey(0)
cv2.destroyAllWindows()

通过调节第二个图像的比例的不断增加,img1图像越来越暗,而img2越来越明显

猜你喜欢

转载自blog.csdn.net/Andy_shenzl/article/details/86421933
今日推荐