Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制

文件的读取、显示、存取

  • cv2.imread(imagepath,IMREAD.xxx) 读取图像
  • cv2.imshow(窗口名称,mat图片) 显示图像
  • cv2.imwrite(保存的位置,img) 保存图像
python 复制代码
# 1. 读取图像 原始图片路径,图片读取模式
cv2.imread(imagepath,IMREAD.xxx)

cv2.IMREAD_COLOR 彩色模式读取
cv2.IMREAD_GRAYSCALE 以灰度模式读取图像
cv2.IMREAD_IMREAD_UNCHANGED 以彩色模式+透明度通道读取图像

# 2. 显示图像
cv2.imshow(窗口名称,mat图片)

# 3. 保存图像
cv2.imwrite(保存的位置,img)

例子:以不同模式读取图像并显示,最后存储其灰度模式图像。

python 复制代码
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) 绘制文本
python 复制代码
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()

相关推荐
辛勤的程序猿6 分钟前
改进的mamba核心块—Hybrid SS2D Block(适用于视觉)
人工智能·深度学习·yolo
serve the people9 分钟前
如何区分什么场景下用机器学习,什么场景下用深度学习
人工智能·深度学习·机器学习
xjxijd15 分钟前
Serverless 3.0 混合架构:容器 + 事件驱动,AI 服务弹性伸缩响应快 3 倍
人工智能·架构·serverless
csdn_aspnet19 分钟前
如何用爬虫、机器学习识别方式屏蔽恶意广告
人工智能·爬虫·机器学习
weixin_4577600024 分钟前
RNN(循环神经网络)原理
人工智能·rnn·深度学习
代码AI弗森39 分钟前
意图识别深度原理解析:从向量空间到语义流形
人工智能
姚华军42 分钟前
RagFlow、Dify部署时,端口如何调整成指定端口
人工智能·dify·ragflow
老蒋新思维1 小时前
创客匠人峰会新视角:AI 时代知识变现的 “组织化转型”—— 从个人 IP 到 “AI+IP” 组织的增长革命
大数据·人工智能·网络协议·tcp/ip·创始人ip·创客匠人·知识变现
JoannaJuanCV1 小时前
自动驾驶—CARLA仿真(0)报错记录
人工智能·机器学习·自动驾驶
小白狮ww1 小时前
Matlab 教程:基于 RFUAV 系统使用 Matlab 处理无人机信号
开发语言·人工智能·深度学习·机器学习·matlab·无人机·rfuav