一、图片的相关操作
1.图片的提取、识别、保存
(1)IMread 函数简介
cv.imread( filename[ , flags] )
总结:
返回值:Mat 类型, 即返回读取的图像,读取图像失败时返回⼀个空的矩阵对象(Mat::data == NULL)
参数1:filename, 读取的图⽚⽂件名,可以使⽤相对路径或者绝对路径,但必须带完整的⽂件扩展名(图⽚格式后缀)
参数2:flags, ⼀个读取标记,⽤于选择读取图⽚的⽅式,默认值为IMREAD_COLOR,flag值的设定与⽤什么颜⾊格式读取图⽚有关
补充:IMread支持读取的图像格式还有:JPG、webp、pfm......
代码:
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
#读取相关的图片
img = cv.imread("image/dili.jpeg")
#显示图像(采用OpenCV的方法)
cv.imshow("dili",img)
cv.waitKey(0)
cv.destroyAllWindows()
#图片的保存
cv.imwrite("image/dili.png",img)
结果:
二、绘图相关的操作
1.图形的相关的的绘制
函数:
cv2.line等函数的简介:
cv2.line(img 参数一, pt1 参数二,pt2 参数三, color 参数四, thickness 参数五,line_type 参数六, 参数七)
注:
1.
参数一:表示的是图片的类型
参数二:表示的是直线的起点
参数三:表示的是直线的终点
参数四:表示直线的颜色
参数五:表示直线的粗细
参数六:表示直线的类型
参数七:表示坐标点的小数点位数
同理:cv2.circle ..... 函数相同
代码:
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
#创建图片
#注在opencv中颜色所以 : BLUE 、 GREEN 、 RED 来实现排序号的(范围在0-255)
img = np.zeros((512,512,3),np.uint8)
# 绘制图形
cv.line(img,(0,0),(511,511),(255,0,0),5) #打印一条直线
cv.circle(img,(256,256),60,(0,0,255),-1) #打印一个圆
cv.rectangle(img,(100,100),(400,400),(0,255,0),5) #打印一个矩形
cv.putText(img,"hello",(100,150),cv.FONT_HERSHEY_COMPLEX,5,(255,255,255),3) #在图片上附加相应的文字
#显示结果
plt.imshow(img[:,:,::-1])
plt.show()
结果: