目录
一、图像属性介绍
图像形状的获取
即图像的行列树目:shape
import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",0)
img2=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
print("img1的行列:",img1.shape)
print("img2的行列:",img2.shape)
IPython 6.2.1 -- An enhanced Interactive Python.
img1的行列: (750, 500)
img2的行列: (750, 500, 3)
对于灰度图像img1,他的shape只有行列
而对于彩色图像出了行列外,还有一个通道数,正常情况下是3
像素数
像素:size
import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",0)
img2=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
print("img1的像素:",img1.size)
print("img2的像素:",img2.size)
runfile('/Users/admin/.spyder-py3/temp.py', wdir='/Users/admin/.spyder-py3')
img1的像素: 375000
img2的像素: 1125000
我们可以看到,像素数就是shape之积
375000=750*500
1125000=750*500*3
图像数据类型
import cv2
img1=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",0)
img2=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
print("img1的数据类型:",img1.dtype)
print("img2的数据类型:",img2.dtype)
runfile('/Users/admin/.spyder-py3/temp.py', wdir='/Users/admin/.spyder-py3')
img1的数据类型: uint8
img2的数据类型: uint8
二、图像ROI
region of interest:感兴趣区域
import cv2
img=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
eyes=img[180:250,50:150]
cv2.imshow("eyes",eyes)
cv2.waitKey(0)
cv2.destroyAllWindows()
比如我们发现,测试照片的眼睛非常好看,想把它单独取出来,
就找到眼睛在区域,[180:250,50:150]
图像的复制
可以把取出来的一个图像,复制到你想要的位置
import cv2
img=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
eyes=img[180:250,50:150]
img[180:250,350:450]=eyes
cv2.imshow("eyes",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
需要注意的是复制的区域一定要与复制图像的区域大小要一致
三、拆分通道
split函数
我之前说过彩色图像是由BGR三个通道组成的,也就是三个0-255的数组
如果把彩色图片拆分后,那么得到的应该是三张灰色图像
import cv2
img=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
b,g,r=cv2.split(img)
cv2.imshow("original",img)
cv2.imshow("b",b)
cv2.imshow("g",g)
cv2.imshow("r",r)
cv2.waitKey(0)
cv2.destroyAllWindows()
四、图像合并
merge
其实就跟split刚好相反
import cv2
img=cv2.imread("/Users/admin/Desktop/模型数据/testz.png",1)
b,g,r=cv2.split(img)
BGR=cv2.merge([b,g,r])
RGB=cv2.merge([r,g,b])
cv2.imshow("BGR",BGR)
cv2.imshow("RGB",RGB)
cv2.waitKey(0)
cv2.destroyAllWindows()
这里我们特别把RGB和BGR的顺序分别看了下,可以自行对比下结果