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)。
相关推荐
用户51914958484521 分钟前
揭秘CVE-2025-47227:ScriptCase高危漏洞自动化利用与分析工具
人工智能·aigc
光锥智能26 分钟前
CES观察|AI硬件迎来黄金时代,中国机器人“进场打工”
人工智能
九河云26 分钟前
数据驱动未来,华为云DWS为智能决策提速
大数据·人工智能·安全·机器学习·华为云
黄河里的小鲤鱼28 分钟前
拯救草台班子-战略
人工智能·python·信息可视化
qq_4112624228 分钟前
DAB加ai加蓝牙音箱有市场吗
人工智能
华清远见成都中心28 分钟前
机器学习怎么学?
人工智能·机器学习
碎碎思29 分钟前
在 FPGA 上实现并行脉冲神经网络(Spiking Neural Net)
人工智能·深度学习·神经网络·机器学习·fpga开发
FONE_Platform36 分钟前
能源化工行业全面预算解决方案:重塑双碳目标下的财务新动能
大数据·人工智能
前沿在线37 分钟前
从“用系统”到“跑 Agent”:AI 钉钉 1.1 在重新定义企业操作系统 | 前沿在线
人工智能