OpenCV基本操作——图像的基础操作

目录

图像的IO操作

读取图像

python 复制代码
cv2.imread()
python 复制代码
import numpy as np
import cv2
img=cv2.imread('messi5.jpg',0)

显示图像

python 复制代码
cv2.imshow()
python 复制代码
cv2.imshow('image',img)
cv.waitKey(0)
plt.imshow(img[:,:,::-1])

保存图像

python 复制代码
cv2.imwrite()
python 复制代码
cv2.imwrite('messigray.png',img)

绘制几何图形

绘制直线

python 复制代码
cv2.line(img,start,end,color,thickness)

绘制圆形

python 复制代码
cv2.circle(img,centerpoint,r,color,thickness)

绘制矩形

python 复制代码
cv2.rectangle(img,leftupper,rightdown,color,thickness)


向图像中添加文字

python 复制代码
cv2.putText(img,text,station,font,fontsize,color,thickness,cv2.LINE_AA)

效果展示

python 复制代码
import numpy as np
import cv2 as cv
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.circle(img,(256,256),60,(0,0,255),-1)
cv.rectangle(img,(100,100),(400,400),(0,255,0),5)
cv.putText(img,'hello',(100,150),cv.FONT_HERSHEY_COMPLEX,5,(255,255,255),3)

#3 显示结果
plt.imshow(img[:,:,::-1])
plt.show()


注:opencv图像坐标系中,左上角是原点,y轴向下,x轴向右,单位像素点

获取并修改图像中的像素点

python 复制代码
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

img=np.zeros((256,256,3),np.uint8)
img[100:200,100:200]=(0,0,255)
plt.imshow(img[:,:,::-1])

获取图像的属性

python 复制代码
img.shape
img.dtype
img.size

图像通道的拆分与合并

有时需要在B,G,R通道图像上单独工作。在这种情况下,需要将BGR图像分割成单个通道。或者在其他情况下,可能需要将这些单独的通道合并到BGR图像

python 复制代码
b,g,r=cv.split(img)
img=cv.merge((b,g,r))

色彩空间的改变

opencv中有150多种颜色空间转换方法。最广泛使用的转换方法有两种,BGR<->Gray和BGR<->HSV

python 复制代码
cv.cvtColor(input_image,flag)


注:行对应y轴,列对应x轴

相关推荐
过期动态2 小时前
【动手学深度学习】卷积神经网络(CNN)入门
人工智能·python·深度学习·pycharm·cnn·numpy
蔗理苦5 小时前
2025-04-05 吴恩达机器学习5——逻辑回归(2):过拟合与正则化
人工智能·python·机器学习·逻辑回归
程序猿阿伟6 小时前
《SQL赋能人工智能:解锁特征工程的隐秘力量》
数据库·人工智能·sql
csssnxy6 小时前
叁仟数智指路机器人是否支持远程监控和管理?
大数据·人工智能
车斗7 小时前
win10 笔记本电脑安装 pytorch+cuda+gpu 大模型开发环境过程记录
人工智能·pytorch·电脑
KY_chenzhao7 小时前
数据驱动防灾:AI 大模型在地质灾害应急决策中的关键作用。基于DeepSeek/ChatGPT的AI智能体开发
人工智能·chatgpt·智能体·deepseek·本地化部署
大多_C7 小时前
量化方法分类
人工智能·分类·数据挖掘
www_pp_7 小时前
# 基于 OpenCV 的人脸识别实战:从基础到进阶
人工智能·opencv·计算机视觉
三月七(爱看动漫的程序员)8 小时前
LLM面试题六
数据库·人工智能·gpt·语言模型·自然语言处理·llama·milvus
蹦蹦跳跳真可爱5899 小时前
Python----计算机视觉处理(Opencv:道路检测之车道线拟合)
开发语言·人工智能·python·opencv·计算机视觉