opencv-python笔记3-ROI和通道操作图像属性

opencv-python笔记3-ROI和通道操作图像属性

1.感兴趣区域(ROI)
对某一特定区域感兴趣,该区域被称为感兴趣区域(Region of Interest,ROI)

import cv2
a = cv2.imread('C:\\8.png',-1)
piece = a[300:600,300:600]
cv2.imshow('all',a)
cv2.waitKey(0)
cv2.imshow('piece',piece)
cv2.waitKey(0)
cv2.destroyAllWindows()

以上代码就是获取一个ROI的示例
运行结果如下
在这里插入图片描述

import cv2
import numpy as np

#获取ROI
a = cv2.imread('C:\\me.jpg',-1)
pkqFace = a[1840:1940,2320:2470]
cv2.imshow('pkqFace',pkqFace)
cv2.waitKey(0)
cv2.destroyWindow('pkqFace')

#给图片换一部分
b = cv2.imread('C:\\pkq.jpg',-1)
b[500:600,370:520] = pkqFace
cv2.imshow('pkqme',b)
cv2.waitKey(0)
cv2.imwrite('C:\\newpica.jpg',b)
cv2.destroyWindow('pkqme')

#给图片部分打码
ma = np.random.randint(0,256,(100,150,3))
b[500:600,370:520] = ma
cv2.imshow('dama',b)
cv2.waitKey(0)

cv2.destroyAllWindows()

代码第二个运行结果如下
在这里插入图片描述
2.通道操作
1)通过索引拆分通道

b = img[:,:,0]
g = img[:,:,1]
r = img[:,:,2]

2) 通过函数拆分
函数cv2.split()能够拆分图像的通道。

b,g,c = cv2.split(img)

这段代码和上面的效果是一毛一样的。

3)通道合并
通道合并是通道拆分的逆过程,函数cv2.merge()可以实现图像通道的合并

conbine = cv2.merge([b,g,r])

3.获取图像属性

  • shape:返回行、列、通道数的数组,如果是二值图像或灰度图像,仅返回行数和列数。
  • size:返回图像的像素数目
  • dtype:返回图像的数据类型
img.shape 
img.size
img.dtype
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值