计算机视觉算法与OpenCV实践之基本图像操作

第1关:图片的基本读取和保存操作

1.相关知识

  1. 图片读取
img = cv2.imread(filepath)
img = cv2.imread('img.jpg')
img = cv2.imread(filepath + 'img.jpg')
img = cv2.imread(filepath +'out/img.jpg')
  1. 兴趣窗口截取(截图)
img1 = img[100:150,200:300]
  1. 图片显示
cv2.imwrite(savepath , img1)#cv2.imwrite(保存到的地方 , 被保存对象)
cv2.imwrite('img1.jpg' , img1)

2.编程要求

根据提示,在右侧编辑器补充 Begin-End 代码,实现图片的读取、保存以及兴趣窗口截取的操作。具体要求如下:

  1. 读取给定路径下的图片。
  2. 图片兴趣区域截取。将要求 1 读取的图片,截取[100:150,200:300]的兴趣区域,并保存成cap.png。

3.代码实现

import cv2
def Gen():
    filepath = '/data/workspace/myshixun/task1/cat.jpg'
    # 读取给定路径filepath的图片cat.jpg
    ########## Begin ##########
    img = cv2.imread(filepath)

    ########## End ##########

    # 读取感兴趣窗口[100:150,200:300]并保存为指定路径savepath
    savepath='/data/workspace/myshixun/task1/out/cap.png'
    ########## Begin ##########
    img2 = img[100:150,200:300]
    cv2.imwrite(savepath , img2)
    
    ########## End ##########

第2关:图像通道分离与合并操作

1.相关知识

图像:M×N×C

  1. M,N:像素亮度
  2. C:通道数
    • C=1:单通道
    • C=3:三通道(R,G,B)

1.将三原色三通道分开,得到的是 B,G,R 单独通道的灰度图

B,G,R = cv2.split(img)

2.使其它两个通道的“亮度”为 0,分离显示单独颜色
三个维度:
0→B
1→G
2→R
eg.显示绿色通道

import cv2
img = cv2.imread('flower.jpg')
#展示彩色图片
cv2.imshow('flower.jpg', img)
#将蓝红置0
img[:, :, 0] = 0
img[:, :, 2] = 0
cv2.imshow('flower_g.jpg', img)
cv2.waitKey(0)

可以得到如下图所示的绿色通道图像:
在这里插入图片描述
3.合并通道
注意:((B,G,R))此处是双括号

img2 = cv2.mer
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值