第一章 入门基础
图像的读取、显示、保存
读取:
retval=cv2.imread(“文件名”[,显示控制参数])
常用控制参数有 :
- cv2.IMREAD_UNCHANGED
- cv2.IMREAD_GRAYSCALE
- cv2.IMREAD_COLOR
显示
None=cv2.imshow(“窗口名”,图像名)
retval=cv2.waitKey([,delay])
delay:
- delay>0 等待delay毫秒
- delay<0 等待键盘单击
- delay=0 无限等待
删除所有窗口
cv2.destroyAllWindows()
保存
retval=cv2.imwrite(“文件地址”,文件名)
图像处理基础
图像处理入门基础
图像是由像素构成的
图像分类
二值图像 0 黑 1 白
灰度图像 0 纯黑 255纯白
RGB图像 0- 255 红色为(255,0,0)
备注:
RGB图像处理为灰度图像不会丢失信息
opencv里是bgr的顺序
像素处理
读取像素
返回值=图像(位置参数)
- 灰度图像
p=imag[88,142]
print§ - 彩色图像
blue=imag[99,11,0]
print(blue)
返回三个通道的值
p=imag[99,11]
print ( p )
修改像素
- 灰度图像
imag[x,y]=255 - 彩色图像
一个通道 imag[x,y,0]=255
三个通道 imag[x,y]=[1,2,3]
整体区域
imag[100:150,100:150]=[255,0,0]
使用numpy访问像素
灰度图像:
import cv2
import numpy as np
i=cv2.imread(“D:/123.jpg”,cv2.IMREAD_GRAYSCALE)
print(i.item(1,2))
i.itemset((1,2),2)
print(i.item(1,2))
彩色图像:
import cv2
import numpy as np
i=cv2.imread(“D:/123.jpg”,cv2.IMREAD_UNCHANGED)
print(i.item(1,2,2))
i.itemset((1,2,2),2)
print(i.item(1,2,2))
只能单通道更改
获取图像属性
- 形状、行、列、通道数
shape 可以获取 (灰度图像不涉及通道数) - 像素数目
size可以获取像素数目
灰度:行数x列数
彩色:行数x列数x通道数 - 图像的数据类型
dtype返回图像的数据类型 uint8
import cv2
import numpy as np
a=cv2.imread(“D:/123.jpg”,cv2.IMREAD_GRAYSCALE)
b=cv2.imread(“D:/123.jpg”,cv2.IMREAD_UNCHANGED)
print(a.shape)
print(b.shape)
print(a.size)
print(b.size)
print(a.dtype)
print(b.dtype)
(587, 667)
(587, 667, 4)
391529
1566116
uint8
uint8
感兴趣区域ROI(Region of interest)
import cv2
import numpy as np
b=cv2.imread(“D:/2.jpg”,cv2.IMREAD_UNCHANGED)
a=cv2.imread(“D:/1.jpg”,cv2.IMREAD_UNCHANGED)
c=a[100:200,100:200]
b[0:100,0:100]=c
cv2.imshow(“1+2”,b)
cv2.waitKey(0)
cv2.destroyAllWindows()
通道的拆分与合并
拆分通道:
B=imag[:,:,0]
b,g,r=cv2.split(imag)
b=cv2.split(imag)[0]
返回的都是灰度图像
合并通道:
m=cv2.merge([r,g,b])
import cv2
import numpy as np
imag=cv2.imread(“D:/1.jpg”,cv2.IMREAD_UNCHANGED)
r,l,c=imag.shape
g=np.zeros((r,l),imag.dtype) #造空通道
b=np.zeros((r,l),imag.dtype)
r=cv2.split(imag)[2]
m=cv2.merge([b,g,r])
cv2.imshow(“merge”,m)
cv2.waitKey(0)
cv2.destroyAllWindows()
持续更新中----------------------------------------------------------------------------------------