OpenCV基本操作(三)

前提:配置好OpenCV的PyCharm工程
1.灰度化与二值化

img = cv2.imread("C:\\Users\\DELL\\Desktop\\img.jpg")
#图片的路径
#cv2.imread把读到的任何图片都默认为rgb,即使是灰度图或黑白图
img_gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#灰度化,转为灰度图
ret,img_bin=cv2.threshold(img_gray,150,255,cv2.THRESH_BINARY)#二值化,转为黑白图
#150,255是灰度图的阈值,二值化只能拿灰度图
cv2.imshow('img_gray',img_gray)
cv2.imshow('img_bin',img_bin)

2.非运算

img = cv2.imread("C:\\Users\\DELL\\Desktop\\img.jpg")#图片的路径
img_inv = cv2.bitwise_not(img)
cv2.imshow('img_inv',img_inv)

3.与运算

img_1 = cv2.imread("C:\\Users\\DELL\\Desktop\\img_1.jpg")#图片1的路径
img_2 = cv2.imread("C:\\Users\\DELL\\Desktop\\img_2.jpg")#图片2的路径
img_and = cv2.bitwise_and(img_1,img_2,mask=mask)#1和2一定要相同大小
cv2.imshow('img_and',img_and)

4.或运算

img_1 = cv2.imread("C:\\Users\\DELL\\Desktop\\img_1.jpg")#图片1的路径
img_2 = cv2.imread("C:\\Users\\DELL\\Desktop\\img_2.jpg")#图片2的路径
img_or = cv2.bitwise_and(img_1,img_2)#1和2一定要相同大小
cv2.imshow('img_or',img_or)

5.拆分通道

img_ori=cv2.imread("C:\\Users\\DELL\\Desktop\\img.jpg")#源图片的路径
channel_b,channel_g,channel_r=cv2.split(img_ori)
cv2.imshow('channel_b',channel_b)
cv2.imshow('channel_g',channel_g)
cv2.imshow('channel_r',channel_r)

6.转入HSV空间

img_ori=cv2.imread("C:\\Users\\DELL\\Desktop\\img.jpg")#源图片的路径
img_hsv=cv2.cvtColor(img_ori,cv2.COLOR_BGR2HSV)#0-180度
img_hsv_full=cv2.cvtColor(img_ori,cv2.COLOR_BGR2HSV_FULL)#0-360度,接近人眼
cv2.imshow('img_hsv',img_hsv)
cv2.imshow('img_hsv_full',img_hsv_full)
#imshow仍然按照rgb展示,所以展示出来的hsv看起来会比较奇怪

7.颜色提取

img_ori=cv2.imread("C:\\Users\\DELL\\Desktop\\img.jpg")#源图片的路径
lower_threshold=np.array([70,50,50])#设定下限
upper_threshold=np.array([130,100,100])#设定上限
mask=cv2.inRange(img_ori,lower_threshold,upper_threshold)#生成掩膜mask
res=cv2.bitwise_and(img_ori,img_ori,mask=mask)#通过按位与运算,保留特定颜色区域
cv2.imshow('res',res)
  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值