一:获取图像属性
1 形状:行、列、通道数
shape 可以获取图像的形状,返回包含行数,列数,通道数的元组。
灰度 返回行数,列数
彩色 返回行数,列数,通道数
范例
import cv2
img1=cv2.imread(‘灰度图像')
print(img1.shape)
## (512,512)
import cv2
img2=cv2.imread(‘彩色图像')
print(img2.shape)
## (512,512, 3)
2 像素数目
size 可以获取图像的像素数目。
灰度 返回:行数*列数
彩色 返回:行数*列数*通道数
范例
import cv2
img=cv2.imread(‘图像名')
print(img.size)
## 786432
3.图像的数据类型
dtype 返回的是图像的数据类型。
范例
import cv2
img=cv2.imread(‘图像名称')
print(img.dtype)
## uint8


二:图像ROI
ROI(region of interest),感兴趣区域。
从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域。
可以通过各种算子(Operator)和函数来求得感兴趣区域ROI,并进行图像的下一步处理。

import cv2
img=cv2.imread('图像名称')
face=img[200:400,200:400]

import cv2
img=cv2.imread('图像名称')
face=img[200:400,200:400]
img[200:400,600:800]=face

import cv2
import numpy as np
a=cv2.imread("image\lenacolor.png",cv2.IMREAD_UNCHANGED)
face=np.ones((101,101,3))
cv2.imshow("original",a)
face=a[220:400,250:350]
cv2.imshow("face",face)
cv2.waitKey()
cv2.destroyAllWindows()


import cv2
import numpy as np
a=cv2.imread("image\lenacolor.png",cv2.IMREAD_UNCHANGED)
face=np.ones((101,101,3))
cv2.imshow("original",a)
face=a[220:400,250:350]
a[0:180,0:100]=face
cv2.imshow("result",a)
cv2.waitKey()
cv2.destroyAllWindows()


import cv2
import numpy as np
a=cv2.imread("image\lenacolor.png",cv2.IMREAD_UNCHANGED)
b=cv2.imread("image\girl.bmp",cv2.IMREAD_UNCHANGED)
face=np.ones((101,101,3))
cv2.imshow("originalA",a)
cv2.imshow("originalB",b)
face=a[220:400,250:350]
b[0:180,0:100]=face
cv2.imshow("result",b)
cv2.waitKey()
cv2.destroyAllWindows()





#2.13获取lena的脸部信息,并将其全部打印出来
import cv2
a=cv2.imread("lenacolor.png",-1)
face=a[220:400,250:350]
cv2.imshow("yuanshi",a)
cv2.imshow("face",face)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果:

2.14对lena图像的脸部进行打码
#根据题目要求,编写代码如下:
import cv2
import numpy as np
a=cv2.imread("lenacolor.png",-1)
cv2.imshow("original",a)
face=np.random.randint(0,256,(180,100,3))
a[220:400,250:350]=face
cv2.imshow("result",a)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果:

2.15将一副图像内的ROI复制到另一副图像内
import cv2
lena=cv2.imread("lena512.bmp",-1)
dollar=cv2.imread("dollar.bmp",-1)
cv2.imshow("lena",lena)
cv2.imshow("dollar",dollar)
face=lena[220:400,250:350]
dollar[160:340,200:300]=face
cv2.imshow("result",dollar)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果:


