02 -- OpenCv学习—图像的IO操作

1.图像的IO操作

1.1读取图像

cv.imread()

1:彩色图像 0 :灰度图像 -1:alpha通道图像

1.2显示图像

cv.imshow()/plt.imshow()

参数:

  • 显示图像的窗口名称(以字符串表示);
  • 要记载的图像;

注意:要调用**cv.waitKey()**给图像绘制留下时间,否则窗口会出现无响应情况,并且图像无法显示出来。

1.3保存图像

cv.imwrite()

参数:文件名 要保存在哪里 要保存的图像

1.4总结

#导入cv模块
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
# 1.OpenCv显示图像
#读取图像
img = cv.imread("a.jpg")
#显示图片
cv.imshow("read_img",img)
#等待
cv.waitKey(0)
#释放内存
cv.destroyAllWindows()

# 2.matplotlib显示图像
plt.imshow(img[:,:,::-1])
plt.show()
#保存
cv.write("images/a-baocun.png",img)

2.绘制几何图形

2.1绘制直线

cv.line(img,start,end,color,thickness)

参数:

  • img:要绘制直线的图像;
  • start,end: 直线的起点和终点;
  • color: 线条颜色;
  • thickness: 线条密度;

2.2绘制圆形

cv.circle(img, centerpoint, r, color, thickness)

参数:

  • img:要绘制圆形的图像;
  • centerpoint, r: 圆心和半径;
  • color: 线条颜色;
  • thickness: 线条密度,为-1时生成闭合图案并填充颜色;

2.3绘制矩形

cv.rectangle(img, leftupper, rightdown, color, thickness)

参数:

  • img:要绘制的图像;
  • leftupper, rightdown: 左上角和右下角的坐标;
  • color: 线条颜色;
  • thickness: 线条密度;

2.4向图像中添加文字

cv.putText(img, text, startion, font, fontsize, color, thickness, cv.LINE_AA)

参数:

  • img:图像;
  • text: 文本数据;
  • startion: 字体放置位置;
  • font:字体;
  • fontsize:字体大小;
  • color: 字体颜色;
  • thickness: 字体密度;

2.5展示效果

#导入cv模块
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

# 1 创建一个空白的图像
img = np.zeros((512, 512, 3), np.uint8)
# 2 绘制图像
cv.line(img, (0, 0), (511, 511), (255, 0, 0), 5)
cv.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3)
cv.circle(img, (447, 63), 63, (0, 0, 255), -1)
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img, "OpenCv", (10, 500), font, 4, (255, 255, 255), 2, cv.LINE_AA)
plt.imshow(img[:, :, ::-1])
plt.show()

效果如下:在这里插入图片描述

你可能感兴趣的:(OpenCV学习笔记,opencv,计算机视觉,学习)