Opencv+python(二)图像处理基础

图像处理基础入门

  1. 图像是由像素组成
  2. 像素越多图像越清晰越细腻;
  3. 像素个数=行×列
  4. 图像分为二值图像、灰度图像、RGB图像
  5. 比较常见的操作:RGB转灰度(信息不能掩盖);灰度转二值

像素处理

利用Opencv直接进行索引;分为灰度图和彩色图

# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
import cv2
i=cv2.imread("image\\lena256.bmp",cv2.IMREAD_UNCHANGED)
#请确保当前目录下有灰度图像lena256.bmp
p=i[100,100]
print(p)
i[100,100]=255
p=i[100,100]
print(p)
# -*- coding: utf-8 -*-
import cv2
i=cv2.imread("e:\\lesson\\image\\lenacolor.png",cv2.IMREAD_UNCHANGED)
#请确保在指定目录下有彩色图像文件
print(i[100,100])
i[100,100,0]=255
print(i[100,100])
'''
同时更改三个通道
print(i[100,100])
i[100,100]=[255,255,255]
print(i[100,100])
'''
'''
更改一个像素块
cv2.imshow("original",i)
i[100:150,100:150]=[0,0,255]
cv2.imshow("result",i)
cv2.waitKey(0)
cv2.destroyAllWindows()
'''

使用numpy访问像素

#彩色图
print(i.item(100,100,2))
i.itemset((100,100,2),255)
#灰度图
print(i.item(100,100))
i.itemset((100,100),255)

获取图像属性

  1. 形状:行、列、通道数:img.shape
  2. 像素数目:行×列×通道数 img.size img.dtype
  3. 图像每个像素的数据类型:img.dtype

感兴趣区域ROI

把区域进行引用:

face=img[200:400,200:350]

通道拆分和合并

主要介绍split函数和merge函数

通道拆分

#普通方法
b=img[:,:,0]
g=img[:,:,1]
r=img[:,:,2]
#split函数
b,g,r=cv2.split(img)
b=cv2.split(img)[0];
g=cv2.split(img)[1];
r=cv2.split(img)[2];

通道合并

b,g,r=cv2.split(a)
bgr=cv2.merge([b,g,r])

合并蓝色

import cv2
import numpy as np
a=cv2.imread("image\lenacolor.png")
rows,cols,chn=a.shape
b=cv2.split(a)[0]
g = np.zeros((rows,cols),dtype=a.dtype)  
r = np.zeros((rows,cols),dtype=a.dtype)  
m=cv2.merge([b,g,r])
cv2.imshow("merge",m)
cv2.waitKey()
cv2.destroyAllWindows()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值