3 图像处理总结
1 图像IO操作的API读取图像:cv2.imread(‘image/bus.jpg’)显示图像:cv2.imshow保存图像:cv2.imwriteimport cv2import matplotlib.pyplot# 1) 读取图像,后面加0 会显示灰度图片img=cv2.imread('image/bus.jpg',0)#2)显示图像# 2.1 OpenCV# cv2.imshow('bus
·
1 图像IO操作的API
读取图像:cv2.imread(‘image/bus.jpg’)
显示图像:cv2.imshow
保存图像:cv2.imwrite
import cv2
import matplotlib.pyplot
# 1) 读取图像,后面加0 会显示灰度图片
img=cv2.imread('image/bus.jpg',0)
# 2)显示图像
# 2.1 OpenCV
# cv2.imshow('bus',img)
# # waitKey不断刷新图像,waitKey(0)表示程序会无限制的等待用户的按键事件
# # imgshow 的时候 , 如果设置 waitKey(0) , 代表按任意键继续
# cv2.waitKey(0)
# # cv2.destroyAllWindows() 用来删除窗口的,()里不指定任何参数,则删除所有窗口,删除特定的窗口,往()输入特定的窗口值
# cv2.destroyAllWindows()
# 2.2 matplotlib
# 彩色图
# matplotlib.pyplot.imshow(img[:,:,::-1])
# 灰度图
matplotlib.pyplot.imshow(img,cmap=matplotlib.pyplot.cm.gray)
matplotlib.pyplot.show()
# 图像保存
t=cv2.imwrite('image/busread.png',img)
print(t)
2 在图像上绘制几何图像
绘制直线:cv2.line
绘制圆形:cv2.circle
绘制矩形:cv2.rectangle
图像上面添加文字:cv2.putText
import numpy
import cv2
import matplotlib.pyplot
# 1)创建图像
# 生成黑色大小512,512的图像,分为3个波段,数据类型
img=numpy.zeros((512,512,3),numpy.uint8)
# 2)绘制图像
# 绘制图像、起点、终点、线条颜色、线条宽度
cv2.line(img,(0,0),(511,511),(255,0,0),5)
# 绘制图像,中心点,半径,颜色,线条宽度
cv2.circle(img,(256,256),60,(0,0,255),4)
#绘制图像、矩形左上角、矩形右下角、线条颜色、线条宽度
cv2.rectangle(img,(100,100),(400,400),(0,255,0),5)
# 图像、文本、文本位置、字体、字体大小、线型写入
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'OpenCV',(100,500),font,4,(255,255,255),2,cv2.LINE_AA)
# 3)显示结果
matplotlib.pyplot.imshow(img[:,:,::-1])
matplotlib.pyplot.show()
3 直接使用行列索引获取图像中的像素并进行修改
4 图像的属性
形状:img.shape
图像大小:img.size,
数据类型:img.dtype
import cv2
import matplotlib.pyplot as plt
img=np.zeros((256,256,3),np.uint8)
#获取某个像素点的值
px=img[100,100]
#仅获取蓝色通道的强度值
blue=img[100,100,0]
# 修改某个位置的像素值,形状大小、图像大小、数据类型
print(img.shape,img.size,img.dtype)
5 通道
拆分通道:cv.split()
通道合并:cv.merge()
2.6 色彩空间的改变
cv.cvtColor[input_image,flag]
# 2)通道拆分后合并
# 1)通道拆分
b,g,r=cv2.split(img)
# 2)通道合并
img2=cv2.merge((b,g,r))
# 图像翻转
plt.imshow(img2[:,:,::-1])
plt.show()
#转换为灰度图
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
plt.imshow(gray,cmap=plt.cm.gray)
plt.show()
#转换为hsv
hsv=cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
plt.imshow(hsv)
plt.show()
更多推荐
已为社区贡献1条内容
所有评论(0)