文章目录
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)。