图像处理基础

                                      图像处理基础

© Fu Xianjun. All Rights Reserved.

图像基本表示方法有:二值图像,灰度图像,彩色图像

二值图包含黑色白色两种颜色的图像

处理前图像:                                       处理后图像:                                                                      

     

灰度图像采用了更多的数值来体现不同颜色,能够表现出更多的细节

彩色图像是更常见的一类图像,能够表现出更丰富的细节信息。

其中最为常用的是RGB彩色空间。RGB彩色空间中,存在R(red,红色)通道G(green,绿色)通道B(blue,蓝色)通道,共为三个通道。每个彩色通道值的范围都在[0,255]之间。

 Numpy库中zeros()和ones()函数均可以生成一个数组

感兴趣区域(Region of Interest,ROI)
黑色ROIB表示为:Img[200:400, 200:400] 

通道操作

(1)通过索引拆分

B = img[: ,:, 0]
G = img[:, :, 1]
R = img[:, :, 2]

(2)通过函数拆分
B, G, R = cv2.split(img)
(3)通道合并
Img = cv2.merge([B , G ,R])

图像逻辑运算:与、或、异或、非:使用opencv中有四种逻辑运算函数实现操作
与 运算cv2.bitwise_and();
或 运算cv2.bitwise_or();
异或 运算cv2.bitwise_xor();
非 运算cv2.bitwise_not()

面部打码

import cv2
import numpy as np
shenmi = cv2.imread("shenmi.jpg",0)
height,width = shenmi.shape
mask = np.zeros(height,width),dtype = np.uint8)
mask[30:92,59:120] = 255
key = cv2.imread("shenmi.jpg",0)
jiami = cv2.bitwise_xor(shenmi,key)
jiamiface = cv2.bitwise_and(jiami,mask)
noface = cv2.bitwise_and(shenmi,(255-mask)
final = jiamiface+noface
cv2.imshow("shenmi",shenmi)
cv2.imshow("mask",mask)
cv2.imshow("jiami",jiami)
cv2.imshow("jiamiface",jiamiface)
cv2.imshow("noface",noface)
cv2.imshow("final",final)
cv2.waitKey()
cv2.destroyAllWindows()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值