opencv初学(图像01)

见代码注释

import cv2#opencv读取方式为BGR

#图像读取
img1=cv2.imread('D:/BaiduNetdiskDownload/opencv/Astexia.jpg',cv2.IMREAD_COLOR)#读取彩色图像
img2=cv2.imread('D:/BaiduNetdiskDownload/opencv/Astexia.jpg',cv2.IMREAD_GRAYSCALE)#读取灰色图像

print(img1)#输出图像的信息,矩阵
print(type(img1))

def cv_show(name,img):
    cv2.imshow(name,img)    #显示图像(窗口名称,图片变量)
    cv2.waitKey(500)          #等待时间(ms)。0:表示任意键终止
#    cv2.destroyWindow()    #关闭所有窗口


cv_show('color',img1)
print(img1.shape)#(h,w,c)(高,宽,颜色通道数)

cv_show('gray',img2)
print(img2.shape)

# 保存图片为
#cv2.imwrite("wife.jpg",img1)

# 截取部分图像[h1:h2,w1:w2]
img_head=img1[200:800,900:1400]
cv_show('head',img_head)

#提取颜色通道,opencv中颜色
b,g,r=cv2.split(img1)

#颜色组合
img_bgr_bestmatch=cv2.merge((b,g,r))
cv_show('best_match',img_bgr_bestmatch)

#只保留颜色通道B
"""
    颜色通道B,G,R对应数组索引0,1,2
"""
img_B_color=img1.copy()
img_B_color[:,:,1]=0#冒号表示取全部
img_B_color[:,:,2]=0
cv_show('b_color',img_B_color)

运行效果

color(原图)

gray(灰度图)

head(取图像部分)

bestmatch(BGR三色拆开再融合)

B_color(只保留B的颜色通道)

[[[249 248 255]
  [236 237 247]
  [222 226 237]
  ...
  [255 255 255]
  [255 255 255]
  [255 255 255]]

 [[250 249 255]
  [230 231 241]
  [ 49  56  65]
  ...
  [255 255 255]
  [255 255 255]
  [255 255 255]]

 [[252 248 255]
  [ 74  75  85]
  [ 38  48  55]
  ...
  [255 255 255]
  [255 255 255]
  [255 255 255]]

 ...

 [[255 255 255]
  [255 255 255]
  [255 255 255]
  ...
  [ 98 121 137]
  [113 136 152]
  [107 130 146]]

 [[255 255 255]
  [255 255 255]
  [255 255 255]
  ...
  [ 97 120 136]
  [108 131 147]
  [107 130 146]]

 [[255 255 255]
  [255 255 255]
  [255 255 255]
  ...
  [103 126 142]
  [112 135 151]
  [120 143 159]]]
<class 'numpy.ndarray'>
(1182, 2112, 3)
(1182, 2112)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值