文件的读取、显示、存取
cv2.imread(imagepath,IMREAD.xxx)
读取图像cv2.imshow(窗口名称,mat图片)
显示图像cv2.imwrite(保存的位置,img)
保存图像
# 1. 读取图像 原始图片路径,图片读取模式
cv2.imread(imagepath,IMREAD.xxx)
cv2.IMREAD_COLOR 彩色模式读取
cv2.IMREAD_GRAYSCALE 以灰度模式读取图像
cv2.IMREAD_IMREAD_UNCHANGED 以彩色模式+透明度通道读取图像
# 2. 显示图像
cv2.imshow(窗口名称,mat图片)
# 3. 保存图像
cv2.imwrite(保存的位置,img)
例子:以不同模式读取图像并显示,最后存储其灰度模式图像。
import cv2 as cv
import numpy as np
# 以彩色模式读取图像(默认模式)1
src_color_img = cv.imread("./ikun.jpg", cv.IMREAD_COLOR)
cv.imshow("color_img",src_color_img)
# 以灰度模式读取 0
src_gray_img = cv.imread("./ikun.jpg", cv.IMREAD_GRAYSCALE)
cv.imshow("gray_img",src_gray_img)
# 以彩色+透明通道模式读取
src_colorAlpha_img = cv.imread("./ikun.jpg", cv.IMREAD_UNCHANGED)
cv.imshow("colorAlpha_img",src_colorAlpha_img)
# 试着存储一张图片
cv.imwrite("new.jpg",src_gray_img)
# 等待输入内容再关闭
cv.waitKey(0)
cv.destroyAllWindows()
绘制几何图形
cv.line(img ,start ,end ,color ,thickness)
绘制线条cv.circle(img ,centerPoint ,color ,thickness)
绘制圆形cv.rectangle(img ,leftUpper rightDown ,color ,thinkNess)
绘制矩形cv.putText(img ,text ,station ,font ,fontsize)
绘制文本
import cv2 as cv
src_img = cv.imread("./ikun.jpg",cv.IMREAD_COLOR)
# 绘制图形
# 1. 绘制直线
# img start end color thickness
# 要绘制的图像 绘制起止点 线条颜色 线条宽度
cv.line(src_img,(0,0),(480,480),(255,0,0),3)
# 2. 绘制圆形
# img centerPoint color thickness
# 要绘制的图像 圆心和半径 线条颜色 线条宽度
cv.circle(src_img,(420,63),63,(0,0,255),-1)
# 3. 绘制矩形
# img leftUpper rightDown color thinkNess
# 要绘制的图像 矩形的左上角右下角坐标 线条颜色 线条宽度
cv.rectangle(src_img,(384,0),(410,128),(0,255,0),3)
# 4. 向图像中添加文字
# img text station font fontsize
# 要绘制的图像 文字 文字位置 字体 字体大小
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(src_img,"ikun",(10,400),font,4,(255,255,255),2,cv.LINE_AA)
# 5.显示图像
cv.imshow("last",src_img)
cv.waitKey(0)
cv.destroyAllWindows()