当前位置: 首页 > news >正文

图像和视频处理的核心概念(在图像上画直线)

计算机视觉应用构建

  • 图像和视频处理的核心概念
    • 在图像上画直线
      • 代码
      • 结果
      • 小结

图像和视频处理的核心概念

在图像上画直线

代码

# 从 __future__ 模块导入 print_function,使 Python 2 也能使用 Python 3 的 print 函数语法# 这确保了代码在不同 Python 版本间的兼容性from__future__importprint_function# 导入 OpenCV 库,用于图像处理和计算机视觉操作importcv2# 指定要加载的图像文件路径# 图像文件位于 "images" 文件夹下,文件名为 "marsrover.png"image_path="images/marsrover.png"# 使用 cv2.imread() 函数从指定路径读取图像# 该函数返回一个 NumPy 数组,表示图像的像素数据# 如果图像加载失败(如文件不存在),image 将为 Noneimage=cv2.imread(image_path)# 定义绘制线条的起点坐标 (x, y)# (0, 0) 表示图像的左上角顶点start=(0,0)# 定义绘制线条的终点坐标 (x, y)# image.shape[1] 获取图像的宽度(列数),image.shape[0] 获取图像的高度(行数)# 因此 (image.shape[1], image.shape[0]) 表示图像的右下角顶点end=(image.shape[1],image.shape[0])# 设置线条的颜色,使用 BGR(蓝-绿-红)颜色空间# (255, 0, 0) 表示纯蓝色(红色和绿色分量为0,蓝色分量为最大值255)color=(255,0,0)# 设置线条的粗细,单位为像素# 数值越大,线条越粗thickness=4# 使用 cv2.line() 函数在图像上绘制一条直线# 参数依次为:图像对象、起点坐标、终点坐标、颜色、线条粗细# 该函数会在原图像上直接修改(原地操作),不会创建新图像cv2.line(image,start,end,color,thickness)# 使用 cv2.imshow() 函数在窗口中显示修改后的图像# 第一个参数是窗口标题 "Modified Image",第二个参数是要显示的图像数据cv2.imshow("Modified Image",image)# 使用 cv2.waitKey(0) 等待用户按键操作# 参数 0 表示无限期等待,直到用户按下任意键为止# 这是必要的,否则图像窗口会立即关闭而无法显示cv2.waitKey(0)

结果

这段代码演示了 OpenCV 的基本图像处理操作:
1.加载一张名为 “marsrover.png” 的图像
2.在该图像上绘制一条从左上角到右下角的蓝色对角线
3.显示处理后的图像,并等待用户按键后关闭窗口

小结

文章仅供参考,有错处欢迎评论区补充参考,文章作为本人学习回溯使用,不会再多参与,再此共勉。

http://www.jsqmd.com/news/1125709/

相关文章:

  • C++协程用法总结
  • 如何在5分钟内免费下载网络视频:VideoDownloadHelper终极指南
  • AI工具推荐 第一期:WorkBuddy对标codex,适合职场人的AI工具
  • 2026年6月最新安徽大健康行业GEO优化机构盘点:服务趋势观察
  • 【Qwt 7.0 系列】多坐标轴与多绘图布局 —— 寄生绘图与 QwtFigure 容器
  • 入门级降噪耳机怎么选:从通勤、会议和续航看 5 款值得关注的产品
  • 嵌入式八股文 第一期
  • Perplexity vs 秘塔AI vs Google SGE:三大AI搜索引擎横评
  • 四类芯片对比(一)
  • UNY Finance生态航母再扩容,UNY Bet(UNY预测)即将上线!
  • 通产美伦MB8010能量平台运维质控实操方案分享
  • 【极简监控·番外篇】被逼无奈的“降维打击”:Java Remote Debug 救火指南
  • MongoDB 大数据备份,新手教程
  • Git脏树(Dirty Tree)介绍(指工作目录中存在未提交修改的状态)已修改、未跟踪、git status、线上线下不一致问题
  • Gateway API:Ingress 的下一代替代方案
  • UE4 SceneCaptureComponent2D 实战:3步实现UI内3D模型360°预览(附蓝图)
  • 教育学论文降AI工具免费推荐:2026年教育学毕业论文AIGC超标4.8元亲测99.26%知网完整方案
  • CodaYun 一站式浏览器工作台:开发者 设计师专属效率解决方案
  • C++中的String的常用函数用法
  • 【算法从零到千】【32-41】位运算(详细讲解+题目运用)
  • Allegro 生产文件导出:Gerber 274X 与钻孔文件 5 步标准化检查清单
  • 羽球联盟 HarmonyOS NEXT 实战系列 (03/20):四Tab首页容器与资讯首屏搭建
  • Agentic AI:换个角度,从问题拆解到交付验证
  • 史上最简单!sirpdboy固件一键搞定软路由刷机、调试、扩容,彻底告别麻烦!
  • 多模态大模型架构的收敛与分化:从Transformer到模态定制
  • 全局光照/阴影的几个常见问题
  • Linux指令实战学习之内存泄漏
  • 堪萨斯大学新研究:揭示读唇出错原因,有望提升读唇训练与AI转录能力
  • 小模型回到电脑本地,数据安全就自动解决了吗?
  • 1D-CNN 轴承故障诊断实战:CWRU 数据集 6 类识别准确率达 99.2%