一.颜色空间转换

1.cv2.cvtColor(input_img,flag)

参数1是要转换的图像

参数2是转换类型  例如:cv2.COLOR_BGR2HSV (RGB->HSV) cv2.COLOR_BGR2GRAY(RGB->灰度图),常用

import cv2
import numpy as np img = cv2.imread('timg5.jpg')
img1 = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img2 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.namedWindow('img',cv2.WINDOW_NORMAL)
cv2.namedWindow('Gray',cv2.WINDOW_NORMAL)
cv2.namedWindow('hsv',cv2.WINDOW_NORMAL)
cv2.imshow("img",img)
cv2.imshow('Gray',img1)
cv2.imshow('hsv',img2)
cv2.waitKey(0)
效果图:

                  

原图             灰度图                                          HSV图

2.cv2.inRange(src, lowerb, upperb, dst=None)  二值化

src:输入原图,可以为单通道灰度图像,也可以为3通道彩色图像
lowerb:像素值区间下限
upperb:像素值区间上限
说明:单通道灰度图像,像素值低于lowerb和高于upperb的部分变成0,lower_red~upper_red之间的值变成255;三通道彩色图像,则每个通道分别与lowerb、upperb比较,然后按照相同办法修改像素值

import cv2
import numpy as np img = cv2.imread('timg5.jpg') img2 = cv2.cvtColor(img,cv2.COLOR_BGR2HSV)
cv2.namedWindow('hsv',cv2.WINDOW_NORMAL)
cv2.namedWindow('hsv1',cv2.WINDOW_NORMAL)
cv2.namedWindow('hsv2',cv2.WINDOW_NORMAL) lower_blue = np.array([90, 50, 50])
upper_blue = np.array([130, 255, 255])
mask = cv2.inRange(img2, lower_blue, upper_blue)#二值化
res = cv2.bitwise_and(img2, img2, mask=mask) #按位与 cv2.imshow('hsv',img2)
cv2.imshow('hsv1',mask)
cv2.imshow('hsv2',res)
cv2.waitKey(0)

3.cv2.bitwise_and(src1, src2, dst=None, mask=None)

调用时若无mask参数则返回src1 & src2,若存在mask参数,则返回src1 & src2 & mask

src1:输入原图1
src2:输入原图2,src1与src2可以相同也可以不相同,可以是灰度图像也可以是彩色图

dst:若存在参数时:src1 & src2 或者 src1 & src2 & mask
mask:可以是单通道8bit灰度图像,也可以是矩阵,一般为二值化后的图像


 

最新文章

  1. Fedora 21 64位系统安装WPS教程
  2. ThreadPoolExecutor-线程池开发的使用
  3. lustre文件系统部署流程
  4. angularJS学习1
  5. sql重新排序
  6. 手把手教你使用 Imagepro plus - 宏操作【转】
  7. <Linux下FTP服务的搭建>
  8. PHP连接数据库、创建数据库、创建表的三种方式
  9. CSS深入理解学习笔记之overflow
  10. python headers missing
  11. javaEE REST 基于第三方框架Restlet
  12. 003.Heartbeat MySQL双主复制
  13. C# Newtonsoft.Json JsonSerializerSettings 全局序列化设置
  14. [UE4]Slider
  15. WeakHashMap源码解读
  16. MikroTik RouterOS U盘安装工具netinstall的使用
  17. FinalizableReference, FinalizablePhantomReference, FinalizableReferenceQueue
  18. 批量分离SQL数据库语句
  19. layDay日期格式不合法报错解决
  20. ActiveRecord多数据库配置

热门文章

  1. 数据结构与算法---树结构(Tree structure)
  2. [golang]golang time.After内存泄露问题分析
  3. JS格式化JSON后的日期
  4. 实战Spring4+ActiveMQ整合实现消息队列(生产者+消费者)
  5. 手写 Spring
  6. Java中lambda表达式详解
  7. 架构师小跟班:SSL证书免费申请及部署,解决页面样式错乱问题完整攻略
  8. 《VR入门系列教程》之17---发布第一个应用
  9. Java_Map接口
  10. 【数据库】postgresql数据库创建自增序列id的注意事项