1.拆分和合并图像通道 cv.split() cv.merge()

cv.split() 很耗时,非必要可以使用numpy代替

import cv2 as cv
img = cv.imread('./GUI/Images/1.JPG')
img = cv.resize(img,(300,300))
b,g,r = cv.split(img)
cv.imshow('img',img)
cv.imshow('img1',b)
cv.imshow('img2',g)
cv.imshow('img3',r)
img = cv.merge((b,g,r))
cv.imshow('img4',img)
cv.waitKey(0)

2.设置边框 cv.copyMakeBorder()

import cv2 as cv
img = cv.imread('./GUI/Images/1.JPG')
img = cv.resize(img,(300,300))
img = cv.copyMakeBorder(img,20,20,20,20,cv.BORDER_WRAP)
''' borderType属性: cv.BORDER_CONSTANT - 添加恒定的彩色边框。该值应作为下一个参数给出。 cv.BORDER_REFLECT - 边框将是边框元素的镜像,如下所示: fedcba | abcdefgh |hgfedcb cv .BORDER_REFLECT_101或 cv.BORDER_DEFAULT与上述相同,但略有变化,例如: gfedcb | abcdefgh | gfedcba cv .BORDER_REPLICATE 最后一个元素被复制,像这样: aaaaaa | abcdefgh | hhhhhhh cv .BORDER_WRAP 难以解释,它看起来像这样: cdefgh | abcdefgh | abcdefg '''
cv.imshow('img',img)
cv.imwrite('img1.jpg',img)
cv.waitKey(0)

3.选择ROI

import cv2 as cv
img = cv.imread('./GUI/Images/1.JPG')
img = cv.resize(img,(300,300))
cv.imshow('img',img)
ball = img[0:100, 0:100]   #
cv.imshow('img1',ball)
cv.waitKey(0)

4.图像融合 cv.addWeighted()

G ( x ) = ( 1 − α ) f 0 ( x ) + α f 1 ( x ) G(x)= (1 - \alpha)f_0(x)+ \alpha f_1(x) G(x)=(1α)f0(x)+αf1(x)

import cv2 as cv
img1 = cv.imread('./GUI/Images/1.JPG')
img2 = cv.imread('./GUI/Images/2.JPG')  #读取两张图片
img1 = cv.resize(img1,(300,300))
img2 = cv.resize(img2,(300,300))
dst = cv.addWeighted(img1,0.6,img2,0.4,0)   #图片融合
cv.imshow('img1',img1)
cv.imshow('img2',img2)
cv.imshow('dst',dst)
cv.waitKey(0)
cv.destroyAllWindows()