opencv学习笔记2

import cv2 as cv
import numpy as np
"""
#图像加法运算 即像素加法 (结果图=图1+图二) (两个图像必须是等大等类型的)
image = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_UNCHANGED)
rows,cols,chn = image.shape
image2 = np.zeros((rows,cols,chn),dtype=image.dtype)
image2 = image
add1 = image+image2 #nupmy包的加法 取模加法 即对应像素之和对255取模得到结果
add2 = cv.add(image,image2) #OPENCV加法 饱和加法 即对应像素相加,超过255的计为255
cv.imshow("orginal",image)
cv.imshow("add1",add1)
cv.imshow("add2",add2)
cv.waitKey(0)
cv.destroyAllWindows()
"""
"""
#图像融合 结果图=图一*系数1+图二*系数2+亮度调节值(图像相加相当于1:1的融合)
image1 = cv.imread("E:/pictures/111.png")
image2 = cv.imread("E:/pictures/300.png")
result = cv.addWeighted(image1,0.6,image2,0.5,5) #dst = cv.addWeighted(src1,alpha,src2,beta,gamma)(五个主要参数)
cv.imshow("image1",image1) #dst=src1*alpha+src2*beta+gamma (以不同比例融合图像)
cv.imshow("image2",image2)
cv.imshow("merge",result)
cv.waitKey()
cv.destroyAllWindows()
"""


#图像类型转换 将一个图像转换为其他类型
image = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_UNCHANGED) #dst = cv.cvtColor(image,code) 主要用这两个参数
b = cv.cvtColor(image,cv.COLOR_BGR2RGB) #原图转换为RGB
a = cv.cvtColor(image,cv.COLOR_BGR2GRAY) #原图转换为GRAY
cv.imshow("GRAY",a)
cv.imshow("RGB",b)
cv.imshow("orginal",image)
"""
需要注意的是将灰度图像转换为BGR图像时并不能得到想要的彩色图像,但新得到的图就是3通道图像,不过是
三个通道的每个位置像素值一样,,,,,可以用以下代码验证
a = cv.imread("E:/pictures/1.jpeg",cv.IMREAD_GRAYSLACE)
b = cv.cvtColor(a,cv.COLOR_GRAY2BGR)
print(a.shape)
print(b.shape) //可以发现a为单通道,b为3通道
bb,bg,br = cv.split(b)
cv.imshow("bb",bb)
cv.imshow("bg",bg)
cv.imshow("br",br) //三个图一样

cv.waitKey()
cv.destroyAllWindows()

"""
cv.waitKey()
cv.destroyAllWindows()
posted @ 2019-03-20 15:34  路飞小、弟  阅读(162)  评论(0编辑  收藏  举报