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

简介: 本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。

文件的读取、显示、存取

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

image.png
image.png


绘制几何图形

  • 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) 绘制文本

image.png

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

相关文章
|
2月前
|
计算机视觉
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
这篇文章详细介绍了OpenCV库中的图像二值化函数`cv2.threshold`,包括二值化的概念、常见的阈值类型、函数的参数说明以及通过代码实例展示了如何应用该函数进行图像二值化处理,并展示了运行结果。
504 0
Opencv学习笔记(三):图像二值化函数cv2.threshold函数详解
|
3月前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
53 4
|
4月前
|
算法 计算机视觉 Python
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
该文章详细介绍了使用Python和OpenCV进行相机标定以获取畸变参数,并提供了修正图像畸变的全部代码,包括生成棋盘图、拍摄标定图像、标定过程和畸变矫正等步骤。
python利用opencv进行相机标定获取参数,并根据畸变参数修正图像附有全部代码(流畅无痛版)
WK
|
4月前
|
编解码 计算机视觉 Python
如何在OpenCV中进行图像转换
在OpenCV中,图像转换涉及颜色空间变换、大小调整及类型转换等操作。常用函数如`cvtColor`可实现BGR到RGB、灰度图或HSV的转换;`resize`则用于调整图像分辨率。此外,通过`astype`或`convertScaleAbs`可改变图像数据类型。对于复杂的几何变换,如仿射或透视变换,则可利用`warpAffine`和`warpPerspective`函数实现。这些技术为图像处理提供了强大的工具。
WK
123 1
|
5月前
|
机器学习/深度学习 XML 计算机视觉
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习库,它提供了大量的函数和工具,用于处理图像和视频数据。
|
6月前
|
算法 计算机视觉
【Qt&OpenCV 图像的感兴趣区域ROI】
【Qt&OpenCV 图像的感兴趣区域ROI】
211 1
|
6月前
|
运维 算法 计算机视觉
【Qt&OpenCV 图像的模板匹配 matchTemplate/minMaxLoc】
【Qt&OpenCV 图像的模板匹配 matchTemplate/minMaxLoc】
84 1
|
6月前
|
存储 编解码 算法
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
【Qt&OpenCV 检测图像中的线/圆/轮廓 HoughLinesP/HoughCircles/findContours&drawContours】
103 0
|
6月前
|
计算机视觉
OpenCV中图像算术操作与逻辑操作
OpenCV中图像算术操作与逻辑操作
74 1
|
6月前
|
算法 计算机视觉
【Qt&OpenCV 图像边缘检测 Sobel/Laplace/Canny】
【Qt&OpenCV 图像边缘检测 Sobel/Laplace/Canny】
75 0