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()

相关推荐
小兵张健1 小时前
35岁程序员的春天来了
人工智能
大怪v2 小时前
AI抢饭?前端佬:我要验牌!
前端·人工智能·程序员
冬奇Lab2 小时前
OpenClaw 深度解析(六):节点、Canvas 与子 Agent
人工智能·开源
刀法如飞3 小时前
AI提示词框架深度对比分析
人工智能·ai编程
IT_陈寒5 小时前
Python开发者必知的5大性能陷阱:90%的人都踩过的坑!
前端·人工智能·后端
1G5 小时前
openclaw控制浏览器/自动化的playwright MCP + Mcporter方案实现
人工智能
踩着两条虫5 小时前
VTJ.PRO 双向代码转换原理揭秘
前端·vue.js·人工智能
扉川川5 小时前
OpenClaw 架构解析:一个生产级 AI Agent 是如何设计的
前端·人工智能
星浩AI6 小时前
让模型自己写 Skills——从素材到自动生成工作流
人工智能·后端·agent
千寻girling10 小时前
Python 是用来做 AI 人工智能 的 , 不适合开发 Web 网站 | 《Web框架》
人工智能·后端·算法