【OpenCV入门】图像的基本操作Ⅱ

【OpenCV入门】图像的基本操作Ⅱ

图像的通道数
  • 如果图像是灰度图像,则通道数为1;如果是彩色图像,是通道数为3;至于四通道就是BGR三个通道加上一个透明通道。
获取像素值

img[x,y]img[x,y,z] 的区别:

  • 如果cv2.imread()的第二个参数是1的话,img[]读出的是该处的B、G、R像素值。如果cv2.imread()的第二个参数是0的话,那么img[100,100]的值是灰度值。
  • img[x,y,z]中的z只能取0,1,2三个数,分别对应B、G、R值。代表的是取(x,y)处得灰度值。

img[100,100] = [255,255,255]

  • 代表的给(100,100)处的像素赋像素值(255,255,255)。

img.item()和img.itemset()

  • item()是获取像素值;itemset()函数是修改像素值。

  • 参考链接:

图像的三要素:shape、size、datatype

  • shape:宽度、高度、通道数。

    print(img.shape)
    
  • size:大小。

    print(img.size)
    
  • datatype:数据类型。

    print(img.datatype)
    

图像拷贝:

直接上代码吧。挺简单的。

import cv2
import numpy as np

img = cv2.imread("G:/python_program/OpenCV_ROI/3.jpg")

ROI = img[100:200,200:400]
img[50:150,250:450] = ROI

cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
拆分及合并图像通道
拆分
B,G,R = cv2.split(img)
  • 拆分的顺序是BGR。而不是RGB。
  • 拆分后显示的图片均为灰色。因为拆分后的图片均是单通道图像。可以通过上述的shape来输出查看。
合并
cv2.merge([B,G,R])
cv2.imshow("B",B)
print(B.shape)
cv2.imshow("G",G)
print(G.shape)
cv2.imshow("R",R)
print(R.shape)
card = img.copy()
card[:,:,0] = 0
cv2.imshow("card",card)
zeros = cv2.merge([B,G,R])
cv2.imshow("zeros",zeros)
cv2.waitKey(0)
cv2.destroyAllWindows()

有不懂得滴滴我!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值