计算机视觉基础|第2章 OpenCV图像基础操作(读写、窗口、像素操作)

发布时间:2026/8/6 5:11:04

计算机视觉基础|第2章 OpenCV图像基础操作(读写、窗口、像素操作)
目录2.1 本章学习目标2.2 图像读取 imread2.2.1 基本语法2.2.2 标准读取代码带判错2.2.3 opencv坑点2.3 图像显示 imshow 与窗口控制2.3.1 完整显示代码2.3.2 waitKey() 函数参数详解与实战用法2.3.3 可自由缩放窗口2.4 图像保存 imwrite2.5 图像 shape 与像素原理2.6 像素读取与像素修改2.6.1 读取单个像素2.6.2 修改像素颜色2.7 本章总结2.1 本章学习目标上一章我们了解了计算机视觉的基本概念、图像的数字化原理并成功搭建 OpenCV 开发环境。本章开始正式进入实战掌握 OpenCV 最核心、最基础的图像操作。学完本章你将掌握图片读取、显示、保存的标准代码写法解决新手高频报错路径问题、图片读空问题理解图像 shape 结构高度、宽度、通道数手动读取、修改图像像素真正理解图像是数字矩阵2.2 图像读取 imread在 OpenCV 中我们通过cv2.imread()函数完成图像读取操作这是所有计算机视觉实战任务的起始步骤。图像在计算机中并非可视画面而是以多维数字数组的形式存储彩色图像本质为三维数组后续所有图像处理操作都是对该数组数据的运算与修改。2.2.1 基本语法cv2.imread(filename, flags)filename文件路径尽量避免带有中文的路径opencv对于中文路径可能无法读取flags读取模式flags常用读取模式cv2.IMREAD_COLOR默认读取彩色图忽略透明度cv2.IMREAD_GRAYSCALE以灰度模式读取cv2.IMREAD_UNCHANGED完整读取包含透明通道flags 0 也是以灰度模式读取2.2.2 标准读取代码带判错新手最常见问题图片路径错误导致读取为空程序不报错但无法显示。所以加判空判断。不是非必须容易检查代码错误。import cv2 # 读取图片r 防止转义字符报错 #以彩色模式读取 img cv2.imread(rD:\pythoncode2\bigdata_ai40\Image\qie.png, cv2.IMREAD_COLOR) #判空防止路径错误、图片不存在 if img is None: print(图片读取失败请检查路径是否正确) else: print(图片读取成功) print(图像形状, img.shape)2.2.3 opencv坑点路径不要中文、不要空格极易读空Windows 路径加 r避免 \ 被当成转义字符OpenCV 读取彩色图是三维数组默认是BGR 通道不是 RGB2.3 图像显示 imshow 与窗口控制读取图片后使用cv2.imshow()展示图像配合 waitKey 和 destroyAllWindows 完成窗口控制可以显示多个窗口。函数语法cv2.imshow(winname, mat)winname窗口名称字符串类型用于自定义显示窗口的唯一标识建议使用英文、数字命名禁止使用中文、特殊符号和空格。mat图像矩阵数组类型传入通过cv2.imread()读取成功的图像数组对象是需要可视化展示的目标图像。重点避坑窗口名称严禁使用中文。OpenCV底层对中文窗口名兼容性极差使用中文会出现窗口乱码、显示异常甚至程序闪退、运行报错等问题统一使用英文、数字命名窗口即可。2.3.1 完整显示代码import cv2 img cv2.imread(rD:\pythoncode2\bigdata_ai40\Image\qie.png) if img is not None: #创建窗口并显示图片 cv2.imshow(picture, img) waitKey(0)无限等待按任意键关闭窗口 cv2.waitKey(0) #关闭所有窗口释放内存 cv2.destroyAllWindows()2.3.2 waitKey() 函数参数详解与实战用法cv2.waitKey()是 OpenCV 专属键盘监听函数用于控制图像窗口的停留时间是图像显示必不可少的配套函数无该函数窗口会瞬间闪退。函数返回值为按键对应的ASCII码数值可实现自定义按键交互逻辑。waitKey(0)无限等待模式调试首选程序持续阻塞、窗口一直停留按下任意键盘按键即可关闭窗口适配日常代码调试、效果查看场景。waitKey(delay)定时关闭模式传入正整数代表毫秒数如waitKey(2000)表示窗口停留2秒无按键操作则自动关闭窗口。自定义按键关闭窗口进阶实战利用函数返回的ASCII码可指定专属按键关闭窗口精准控制程序逻辑避免任意按键误触发关闭。waitKey(60) ASCII码窗口生效规则该函数仅对当前激活的最新窗口生效默认监听并关闭最后展示的图像窗口多窗口场景下需注意监听顺序。2.3.3 可自由缩放窗口默认窗口大小固定如需拖拽缩放可创建可调节窗口cv2.namedWindow(picture, cv2.WINDOW_NORMAL) cv2.imshow(picture, img)2.4 图像保存 imwrite使用cv2.imwrite()可以将处理后的图片保存到本地支持 jpg、png 格式互转。import cv2 img cv2.imread(rD:\pythoncode2\bigdata_ai40\Image\qie.png) if img is not None: #保存图片 res cv2.imwrite(rD:\pythoncode2\save.png, img) if res: print(图片保存成功)2.5 图像 shape 与像素原理第一章我们知道图片就是数字矩阵,矩阵的话可以理解为嵌套列表现在通过代码直观理解。打印 img.shape 会得到三元组(高度, 宽度, 通道数)高度 height图片有多少行像素宽度 width图片有多少列像素通道 channel彩色图3通道灰度图1通道超级重点先高后宽和我们平时宽×高相反90%新手会搞错2.6 像素读取与像素修改图像本质是数组我们可以直接通过坐标修改像素颜色。2.6.1 读取单个像素import cv2 img cv2.imread(rD:\pythoncode2\bigdata_ai40\Image\企鹅.png) #获取坐标 (100,100) 的像素值 pixel img[100, 100] print(像素值(BGR), pixel)2.6.2 修改像素颜色我们将图片某一坐标像素改为白色 (255,255,255)用切片更改某一区域像素值import cv2 img cv2.imread(rD:\pythoncode2\bigdata_ai40\Image\企鹅.png) #修改单个像素为白色 img[100, 100] [255, 255, 255] #修改一片区域为黑色 #切片某一区域 img[200:300, 200:300] [0, 0, 0] cv2.imshow(change, img) cv2.waitKey(0) cv2.destroyAllWindows()通过像素修改我们可以直观验证改变矩阵数值 改变图像画面。2.7 本章总结本章彻底打通了计算机视觉最底层的图像操作逻辑是后续所有图像处理、特征检测、目标识别的基础。核心知识点回顾掌握 imread、imshow、imwrite 三大基础操作学会判空、路径避坑、窗口控制理解 shape 顺序(高度, 宽度, 通道)能够手动读取、修改像素真正理解图像数字化原理

相关新闻

微信小程序自定义导航栏全适配指南:从刘海屏到胶囊按钮

微信小程序自定义导航栏全适配指南:从刘海屏到胶囊按钮

2026/8/6 5:11:04

1. 项目概述:自定义导航栏的挑战与机遇在微信小程序的开发过程中,导航栏是用户与产品交互的第一道门面。默认的导航栏虽然省心,但千篇一律的样式常常与精心设计的UI格格不入,尤其是在追求品牌沉浸感或特殊交互场景时。因此&#x…

双聚类算法:从局部模式挖掘到基因表达与推荐系统的实战应用

双聚类算法:从局部模式挖掘到基因表达与推荐系统的实战应用

2026/8/6 5:11:04

1. 项目概述:从“找群”到“找模式”的思维跃迁在机器学习的无监督学习领域,聚类算法大家都不陌生,K-Means、DBSCAN这些名字如雷贯耳,它们的核心任务是把数据点“物以类聚”,划分成不同的簇。但不知道你有没有遇到过这…

Python爬取央视视频实战:从抓包到完整下载的完整流程

Python爬取央视视频实战:从抓包到完整下载的完整流程

2026/8/6 5:01:04

一、环境准备 import requests import json import re import subprocess # 调用FFmpeg合并分片 需要安装:requests(HTTP请求)、FFmpeg(处理视频流)。 二、抓包定位接口 用F12或Charles抓包,聚焦央视App播…

Kali Linux无线网络安全实战:从原理到合法防御应用

Kali Linux无线网络安全实战:从原理到合法防御应用

2026/8/6 6:11:07

1. 从一次真实的网络诊断说起:为什么我们需要了解Wi-Fi安全前几天,一个朋友火急火燎地找我,说他家里的智能电视突然连不上Wi-Fi了,但手机和电脑都正常。他怀疑是路由器坏了,甚至想直接换一个新的。我到他家后&#xff…

种子袋选型指南:3大指标降低12.7%损耗

种子袋选型指南:3大指标降低12.7%损耗

2026/8/6 6:11:07

在农业包装领域,种子袋作为特殊品类的包装载体,其质量直接影响种子存储与运输安全。根据全国农技推广中心2022年数据显示,因包装问题导致的种子损耗约占行业总损耗的12.7%,其中编织袋材质不达标、密封性差是主要诱因。一、行业标准…

iOS应用上架App Store完整教程与常见问题解决指南

iOS应用上架App Store完整教程与常见问题解决指南

2026/8/6 6:11:07

iOS 上架全攻略:带你成功叩响 App Store 的大门 在移动应用市场的激烈竞争中,将精心打造的 iOS 应用成功上架至 App Store,是开发者们迈向广阔市场、触达海量用户的关键一步。iOS 系统以其庞大的用户群体、优质的用户体验以及规范的应用生态&…

虚拟偶像技术栈全解析:从动捕到AI语音的本地化实践指南

虚拟偶像技术栈全解析:从动捕到AI语音的本地化实践指南

2026/8/6 6:11:07

这次我们来看一个名为“LiyuuA-SOUL梦幻联动《Catch Me If You Can》元气满格,追击开始!【BML-PLAY! 2026】”的项目。从标题来看,这并非一个传统的开源技术工具或模型,而更像是一个虚拟偶像联动企划或数字娱乐内容项目。这类项目…

Unity UI圆角Shader实现:基于SDF的高性能解决方案

Unity UI圆角Shader实现:基于SDF的高性能解决方案

2026/8/6 6:11:07

1. 项目概述:为什么我们需要一个专门的圆角UI Shader?在Unity UI开发里,给一个Image或者RawImage加上圆角,听起来是个再基础不过的需求。新手可能会直接想到:切个带圆角的Sprite贴图不就行了?或者用Mask组件…

Claude Code本地配置实战:从API密钥到System Prompt的完整避坑指南

Claude Code本地配置实战:从API密钥到System Prompt的完整避坑指南

2026/8/6 6:01:06

1. 项目缘起:从“能跑”到“能聊”的鸿沟上一篇文章,我们成功搭建了Claude Code的本地环境,让这个强大的代码助手在你的VSCode里跑了起来。如果你跟着操作,现在应该能看到一个崭新的侧边栏图标,点击它,一个…

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

2026/8/4 15:23:37

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am…

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

2026/8/5 6:02:27

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架…

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

2026/8/5 8:19:55

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,…

Unity相机抖动插件Camera-Shake集成与应用实战指南

Unity相机抖动插件Camera-Shake集成与应用实战指南

2026/8/6 0:00:51

1. 项目概述与核心价值最近在做一个动作游戏,需要给主角的重击和爆炸场景加点料,让打击感更足。我第一时间就想到了给相机加个抖动效果,毕竟这是提升玩家沉浸感最简单直接的手段之一。自己手写一个也不是不行,但时间成本高&#x…

Cocos Creator 3.7微信小游戏开发:从架构设计到提审上线的全流程实战指南

Cocos Creator 3.7微信小游戏开发:从架构设计到提审上线的全流程实战指南

2026/8/6 0:00:51

1. 项目概述:为什么需要一份3.7版本的专属适配指南?如果你是一位使用Cocos Creator开发微信小游戏的开发者,并且项目正运行在3.7版本上,那么你很可能已经感受到了那份“甜蜜的烦恼”。一方面,Cocos Creator 3.7是一个功…

AI编程实战:从Prompt工程到工具链集成,打造高效开发工作流

AI编程实战:从Prompt工程到工具链集成,打造高效开发工作流

2026/8/6 0:00:51

1. 项目概述:一次开源AI编程课程的深度重构 最近,我把自己的开源AI编程课程《Claude Code》做了一次从里到外的大更新。如果你对利用Claude、Codex这类大模型来辅助编程感兴趣,或者正在寻找一个能跟上最新AI编码工具迭代节奏的学习路径&#…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/6 5:43:30

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/4 14:25:14

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/4 15:11:03

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…