OpenCv-python 基本画图操作

本文介绍了如何使用OpenCV进行基本的图像绘制操作,包括画线、矩形、圆形、椭圆、多边形及添加文字等,并提供了详细的代码示例。
之前整理过怎样使用OpenCv调用笔记本摄像头的笔记点击,今天整理一下怎样用OpenCv里的函数去画图像。
要想使用OpenCv作图就要熟悉OpenCv中有哪些画图的函数,接下来就要介绍几个画图常用的函数:
1.画一条直线,一个矩形,一个圆形:
import numpy as np
import numpy as np
import cv2
#创建一个黑色的图框,uint8是线条的类型,8连接
img=np.zeros((512,512,3),np.uint8)
img=cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

import cv2""":param 无:return 无功能:画直线,矩形,圆形"""""#创建一个黑色的图框,uint8是线条的类型,8连接img=np.zeros((512,512,3),np.uint8)#画一个蓝色的线条,(0,0)代表起点,(511,511)代表终点,(255,0,0)代表图形的颜色为蓝色,5代表线条的粗细img=cv2.line(img,(0,0),(511,511),(255,0,0),5)#画一个矩形img=cv2.rectangle(img,(384,0),(510,128),(0,255,0),3)#画一个圆形,-1圆形内填充颜色。img=cv2.circle(img,(447,63),63,(255,255,0),-2)#在窗口展示图形cv2.imshow("image",img)cv2.waitKey(0)cv2.destroyAllWindows()

2.画椭圆,画椭圆的参数比较多:一个参数是中心点的位置坐标,下一个参数是长轴和短轴的长度。起始角,终止角起止角和终止角(顺时针方向)决定了椭圆的扇形。
import numpy as np
import cv2
#创建一个黑色的图框,uint8是线条的类型,8连接
img=np.zeros((512,512,3),np.uint8)
img=cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1)
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
3.画多边形,使用到函数polylines()函数:
import numpy as np
import cv2
"""
函数polylines()
功能:画多边形
画多边形,需要指点每个顶点的坐标,,用这些点的坐标构建一个大小等于行数X1,X2
的数组,行数就是点的数目。这个数组的数据类型必须是int32
这里画一个黄色的具有四个顶点的多边形。
"""
#画多边形
pts=np.array([[10,5],[20,30],[70,20],[50,10]],np.int32)
#reshape的第一个参数为-1,表明这一维度是根据后边算出来的
pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,255,255))
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

图像展示如图:

4.通过putText()函数给图片添加文字:
import numpy as np
import cv2
img=np.zeros((512,512,3),np.uint8)
"""
函数:putText()
功能:在图片上添加文字
params:
    要绘制的文字
    要绘制的位置
    字体类型
    字体的大小
    文字的一般属性,如颜色,粗细,线条的类型
"""
#在图像上绘制白色的opencv
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,"OpenCv",(10,500),font,4,(255,255,255),2)
#在窗口展示图形
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()

你运行的命令: ```bash pip install flask tenerflow opencv-python numpy matplotlib ``` 出现了 **拼写错误** 和潜在的 **安装顺序问题**,下面我来详细分析并提供解决方案。 --- ### ❌ 问题一:`tenerflow` 是拼写错误 你本意应该是安装 `tensorflow`,但写成了 `tenerflow`(少了一个 `s`)。 当你执行: ```bash pip install tenerflow ``` pip 会在 PyPI 上搜索这个包名 → 找不到 → 报错: ``` ERROR: Could not find a version that satisfies the requirement tenerflow ``` ✅ 正确拼写是: ``` tensorflow ``` --- ### ✅ 正确命令应为: ```bash pip install flask tensorflow opencv-python numpy matplotlib ``` 但我们建议 **逐个安装或分步安装**,以便定位失败原因。 --- ### 🛠 推荐安装步骤(带国内镜像加速) 由于这些库都比较大(尤其是 `tensorflow`, `opencv-python`),强烈建议使用国内镜像源: ```bash pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple/ pip install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple/ ``` > ⚠️ 注意:虽然 `numpy` 和 `matplotlib` 可能被其他包自动安装,但显式安装可避免缺失。 --- ### 🔍 各库用途简要说明 | 包名 | 用途 | |------|------| | `flask` | 轻量级 Web 框架,用于构建 API 或小型网站 | | `tensorflow` | 谷歌开发的深度学习框架(AI/机器学习) | | `opencv-python` | 计算机视觉库,处理图像和视频 | | `numpy` | 数值计算核心库,支持高效数组运算 | | `matplotlib` | 数据可视化库,画图用(折线图、柱状图等) | > 这些组合常用于:**AI + 图像识别 + Web 展示系统** --- ### 💡 常见安装问题及解决方法 #### 1. `Could not find a version that satisfies the requirement ...` - 原因:网络超时 / 镜像不同步 / Python 版本不兼容 - 解决方案: - 使用 `-i` 换源 - 升级 pip:`python -m pip install --upgrade pip` - 确保使用 **Python 3.8~3.11**(TensorFlow 不支持 Python 3.12+) #### 2. `ERROR: No matching distribution found for tensorflow` - 原因: - 使用了不支持的 Python 版本(如 3.12) - 系统是 32 位(TensorFlow 只支持 64 位) - 检查 Python 架构: ```python import platform print(platform.architecture()) ``` 输出应为:`('64bit', 'WindowsPE')` #### 3. 安装慢?卡住?超时? → 继续使用国内镜像,例如阿里云: ```bash -i https://mirrors.aliyun.com/pypi/simple/ ``` 或者豆瓣: ```bash -i https://pypi.douban.com/simple/ ``` --- ### ✅ 验证是否安装成功 每个库安装后可以简单测试: ```python # 测试所有库能否导入 import flask import tensorflow as tf import cv2 import numpy as np import matplotlib.pyplot as plt print("All libraries imported successfully!") print(f"TensorFlow version: {tf.__version__}") print(f"OpenCV version: {cv2.__version__}") ``` 如果无报错 → 安装成功! --- ### ✅ 最佳实践建议 | 建议 | 说明 | |------|------| | 分步安装 | 更容易排查哪个包出错 | | 使用虚拟环境 | 避免依赖冲突(推荐 `venv`) | | 固定版本(生产环境) | 如 `pip install tensorflow==2.16.1` | | 写 `requirements.txt` | 方便迁移和部署 | 示例 `requirements.txt` 文件内容: ```txt flask==3.0.3 tensorflow==2.16.1 opencv-python==4.9.0.80 numpy==1.24.3 matplotlib==3.7.5 ``` 然后一键安装: ```bash pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值