1.3.OpenCV技能树--第一单元--图像的基础操作(基础篇)

文章目录

1.文章内容来源

python 复制代码
1.题目来源:
2.资料来源:https://edu.csdn.net/skill/opencv/opencv-819f137c35c64f76945bcd7e60d37807?category=657&typeId=20810#___44

2.图像的基本操作

2.1.图像加载

python 复制代码
#%%
#图像显示
import cv2 
img = cv2.imread(r"cv.jpg")
print(type(img))#打印图像类型
print(img)#打印图像灰度值

2.2.图像显示

python 复制代码
#%%
#图像显示
import cv2
img = cv2.imread(r"cv.jpg")# 加载图像
#如果图像过大的话可以进行设置
cv2.namedWindow('Test_Figure', 0)#设定图像    
cv2.resizeWindow('Test_Figure', 900, 600)   # 自己设定窗口图片的大小
cv2.imshow("Test_Figure",img)# 图像的显示,也可以创建多个窗口
cv2.waitKey(0)#等待时间,按任意键终止
cv2.destroyAllWindows()#销毁窗口

2.3.数据读取

python 复制代码
imread功能是加载图像文件成为一个Mat对象,其中第一个参数表示图像文件名称,第二个参数表示加载的图像是什么类型,支持常见的三个参数值
IMREAD_UNCHANDED(<0) 表示加载原图,不做任何改变
IMREAD_GRAYSCALE(0) 表示把原图作为灰度图像加载进来
IMREAD_COLOR(>0) 表示把原图作为 RGB 图像加载进来
python 复制代码
#%%
#数据读取
import cv2
img = cv2.imread(r"cv.jpg",cv2.IMREAD_GRAYSCALE)#设置为灰色显示
print(img)#打印灰度矩阵

还可以对图片进行输出

python 复制代码
#%%
#数据读取
import cv2
img = cv2.imread(r"cv.jpg",cv2.IMREAD_GRAYSCALE)#设置为灰色显示
cv2.namedWindow('Test_Figure', 0)#设定图像    
cv2.resizeWindow('Test_Figure', 900, 600)   # 自己设定窗口图片的大小
cv2.imshow("Test_Figure",img)# 图像的显示,也可以创建多个窗口
cv2.waitKey(0)#等待时间,按任意键终止
cv2.destroyAllWindows()#销毁窗口
print(img)#打印灰度矩阵

2.4.截取图像

python 复制代码
#%%
#截取部分图像
import cv2
img = cv2.imread(r"cv.jpg")#加载图像
cat = img[0:200, 0:200]#截取部分图像
cv2.imshow("cat_Figure",cat)# 图像的显示,也可以创建多个窗口
cv2.waitKey(0)#等待时间,按任意键终止
cv2.destroyAllWindows()#销毁窗口

2.5.颜色通道提取

python 复制代码
#%%
#颜色通道提取split()函数
import cv2
img = cv2.imread(r"cv.jpg")
b,g,r = cv2.split(img)
print(r,g,b)

2.5.1.保留红色处理

python 复制代码
#%%
#保留红色处理
import cv2
img = cv2.imread(r"cv.jpg")
imgR = img.copy()
# 注意参数的变化
imgR[:,:,0] = 0
imgR[:,:,1] = 0
cv2.namedWindow('Red Color', 0)#设定图像    
cv2.resizeWindow('Red Color', 900, 600)   # 自己设定窗口图片的大小
cv2.imshow('Red Color',imgR)
cv2.waitKey(0)
cv2.destroyAllWindows()

2.5.2.保留绿色处理

python 复制代码
#%%
#保留绿色处理
import cv2
img = cv2.imread(r"cv.jpg")
imgG = img.copy()
# 注意参数的变化
imgG[:,:,0] = 0
imgG[:,:,2] = 0
cv2.namedWindow('Green Color', 0)#设定图像    
cv2.resizeWindow('Green Color', 900, 600)   # 自己设定窗口图片的大小
cv2.imshow('Green Color',imgG)
cv2.waitKey(0)
cv2.destroyAllWindows()

2.5.3.保留蓝色处理

python 复制代码
#%%
#保留蓝色处理
import cv2
img = cv2.imread(r"cv.jpg")
imgB= img.copy()
# 注意参数的变化
imgB[:,:,1] = 0
imgB[:,:,2] = 0
cv2.namedWindow('Blue Color', 0)#设定图像    
cv2.resizeWindow('Blue Color', 900, 600)   # 自己设定窗口图片的大小
cv2.imshow('Blue Color',imgB)
cv2.waitKey(0)
cv2.destroyAllWindows()

3.易错点总结与反思

python 复制代码
总结与反思:
1.首先需要牢记数据读取的几个参数值,IMREAD_UNCHANDED/IMREAD_GRAYSCALE/IMREAD_COLOR各是什么意思
2.图像是由高维的连续的灰度值建立而成的。
3.通过split()函数可以对图像的颜色通过进行一个截取。
4.图像由RGB三种颜色组成,我们可以只显示一种颜色/两种颜色/三种颜色等等
5.如何显示/不显示某种颜色呢,就是将色度矩阵的最后一列进行操作,对应的数如下Blue(0),Green(1),Red(2)。
相关推荐
不灭的程序员阿澄6 分钟前
把多个 AI 网站装进一个常驻托盘的桌面窗口里,像切换原生 App 一样切换 AI
人工智能·chatgpt
长谷深风1118 分钟前
AI Tool 设计:粒度、参数与错误恢复怎么做
java·大数据·人工智能·ai agent·agent工作流·智能体设计·ai产品设计
张彦峰ZYF18 分钟前
从“打分模型”到“审计智能体”:Agent-as-a-Judge如何重构复杂AI系统的评测范式
人工智能·agent-as-judge·llm-as-a-judge·agentevaluation·deepswe·verifier·agentic search
peijiping20 分钟前
AI多智能体解惑:父子子智能体 vs 团队智能体,为什么主流IDE默认只用前者?
人工智能·ai agent·claude code
aiqianji27 分钟前
教AI短篇小说写作的软件操作简单,该怎么挑选呢?
人工智能·python
Yoyo Chen18036 分钟前
DeepSeek发布多模态模型deepseek-v4-flash-vision-exp:视觉能力正式接入Agent工作流
人工智能·深度学习·microsoft
海兰38 分钟前
【插件】OpenClaw 上下文引擎指南
人工智能·agent·openclaw
Rocky Ding*40 分钟前
【三年面试五年模拟】2026-08-18_哔哩哔哩AI应用岗Agent开发一面面经全解析(含完整答案)
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·ai agent
geneculture1 小时前
基于融智学框架的领军人才实训实操示范基地建设: 课题、课程与项目的系统工程(人机三双协同即人机双脑双智双语协同)
人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·序位逻辑的实例化·人机三双协同
key_3_feng1 小时前
智能体 Loop 工程:循环架构与状态机
人工智能·loop·智能体