OpenCV之图像的遮挡与切分合并(笔记06)

Posted 月疯

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV之图像的遮挡与切分合并(笔记06)相关的知识,希望对你有一定的参考价值。

图像遮挡:

例子1:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像遮挡
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

def imread(image):
    image=cv2.imread(image)
    #把图像的BGR转换成RGB
    image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
    return image

image=imread('1.png')
#创建遮挡
mask=np.zeros(image.shape,dtype='uint8')
white=(255,255,255)
cv2.rectangle(mask,(50,50),(250,250),white,-1)
show(mask)

#对图像进行遮挡
masked=cv2.bitwise_and(image,mask)
show(masked)

例子2:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像遮挡
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

def imread(image):
    image=cv2.imread(image)
    #把图像的BGR转换成RGB
    image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
    return image

image=imread('1.png')


#创建遮挡
mask=np.zeros(image.shape,dtype='uint8')
white=(255,255,255)
cv2.circle(mask,(150,100),80,white,-1)
show(mask)

#对图像进行遮挡
masked=cv2.bitwise_and(image,mask)
show(masked)

图像通道的切分与合并:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像通道切分
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

def imread(image):
    image=cv2.imread(image)
    #把图像的BGR转换成RGB
    image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
    return image

image=imread('1.png')
#图像的切分
(R,G,B)=cv2.split(image)

#图像的合并
merged=cv2.merge([R,G,B])
show(merged)

opencv的显示图像窗口:

import numpy as np
import matplotlib.pyplot as plt
import cv2
#图像通道切分
def show(image):
    plt.imshow(image)
    plt.axis('off')
    plt.show()

def imread(image):
    image=cv2.imread(image)
    #把图像的BGR转换成RGB
    image=cv2.cvtColor(image,cv2.COLOR_BGR2RGB)
    return image

image=imread('1.png')
#图像的切分
(R,G,B)=cv2.split(image)

#图像的合并
merged=cv2.merge([R,G,B])
show(merged)

#opencv自带的图像显示器
cv2.imshow('R',R)
cv2.imshow('G',G)
cv2.imshow('B',B)
cv2.waitKey(0)
cv2.destroyAllWindows()

因为都是单通道,显示器默认都是黑白照片哦! 

 

以上是关于OpenCV之图像的遮挡与切分合并(笔记06)的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV之图像通道分离合并

OpenCV之图像梯度(笔记11)

OpenCV基本功 之 图像的掩模运算 & 合并专题 -小啾带学Python-Open_CV系列

《架构漫谈》之阅读笔记

使用模板图像来匹配使用opencv的具有比例、旋转变化和部分遮挡的目标[重复]

OpenCV视频质量诊断----视频遮挡诊断