Python-OpenCV图像处理-03-色彩空间

简介: Python-OpenCV图像处理-03-色彩空间
import cv2 as cv
import numpy as np

图像取反


def inverse(image):
    dst =cv.bitwise_not(image)
    cv.imshow("inverse image",dst)

比较运行时间:


t1 =cv.getTickCount()
inverse(src)
t2 =cv.getTickCount()
time =(t2-t1)/cv.getTickFrequency()*1000
print("time : %s ms"%time)

色彩空间:


色彩空间

三维的BGR色彩空间

image.png

比较常用的是HSV与RGB YUV与RGB色彩空间转换

image.png

色彩空间的转换:


def color_space_demo(image):
    gray = cv.cvtColor(image,cv.COLOR_BGR2GRAY)
    cv.imshow("gray",gray)
    hsv =cv.cvtColor(image,cv.COLOR_BGR2HSV)
    cv.imshow("hsv",hsv)
    yuv =cv.cvtColor(image,cv.COLOR_BGR2YUV)
    cv.imshow("yuv",yuv)
    Ycrcb =cv.cvtColor(image,cv.COLOR_BGR2YCrCb)
    cv.imshow("Ycrcb",Ycrcb)

image.png

对特定颜色的捕捉:


这里是打开一个视频对视频中的某种颜色进行捕捉颜色

使用inRange()函数

def extrace_object():
    capture =cv.VideoCapture("C:\\Users\\william\\Pictures\\shang.mp4")
    while(True):
        ret,frame =capture.read()
        if ret == False:
            break
        hsv =cv.cvtColor(frame,cv.COLOR_BGR2HSV)
        lower_hsv =np.array([37,43,46])
        upper_hsv=np.array([77,255,255])
        mask=cv.inRange(hsv,lowerb=lower_hsv,upperb=upper_hsv)
        cv.imshow("video",frame)
        cv.imshow("mask",mask)
        c =cv.waitKey(40)
        if c ==27:
            break

也适用图像:

lower_hsv =np.array([37,43,46])
upper_hsv=np.array([77,255,255])
mask1=cv.inRange(src,lowerb=lower_hsv,upperb=upper_hsv)
cv.imshow("mask1",mask1)

演示:

image.png

通道的分离:


src =cv.imread("C:\\Users\\william\\Pictures\\go.jpg")
cv.imshow("input image",src)
#通道的分离
b,g,r =cv.split(src)
cv.imshow("blue",b)
cv.imshow("green",g)
cv.imshow("red",r)

对某一通道进行赋值:


src[:,:, 2] = 0
cv.imshow("change0",src)

通道的合并:


src=cv.merge([b,g,r])
cv.imshow("change",src)


目录
相关文章
|
12月前
|
算法 计算机视觉
基于qt的opencv实时图像处理框架FastCvLearn实战
本文介绍了一个基于Qt的OpenCV实时图像处理框架FastCvLearn,通过手撕代码的方式详细讲解了如何实现实时人脸马赛克等功能,并提供了结果展示和基础知识回顾。
492 7
基于qt的opencv实时图像处理框架FastCvLearn实战
|
8月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
309 20
|
4月前
|
人工智能 算法 计算机视觉
Python 图像处理技巧
本文介绍了Python图像处理中需要掌握的15个基本技能,涵盖图像读取与保存、颜色空间转换、裁剪与调整大小、滤波与平滑、边缘检测、阈值处理、形态学操作、直方图处理、特征检测与描述、图像配准与特征匹配、轮廓检测与分析、图像分割、模板匹配、透视变换与仿射变换以及傅里叶变换等内容。通过OpenCV、Pillow和Matplotlib等库实现相关功能,为图像处理提供了全面的基础指导。
|
6月前
|
Shell Python
[oeasy]python072_名字空间是怎么玩的_from_import_as_导入_namespace
本文介绍了Python中名字空间和模块导入的使用方法。主要内容包括: 1. **回忆上次内容**:回顾了之前导入系统模块(如`__hello__`、`time`)和自定义模块(如`my_file`),并介绍了如何导入和使用模块中的变量。 2. **从shell开始**:展示了如何在命令行中编辑和切换文件,以及如何通过`import`语句引入模块。 3. **修改oeasy.py**:演示了如何通过`import my_file`导入模块,并将模块中的`pi`赋值给本地变量`pi`。 4. **locals()函数**:解释了如何使用`locals()`查看当前作用域内的本地变量及其值。
93 9
|
7月前
|
监控 Java 计算机视觉
Python图像处理中的内存泄漏问题:原因、检测与解决方案
在Python图像处理中,内存泄漏是常见问题,尤其在处理大图像时。本文探讨了内存泄漏的原因(如大图像数据、循环引用、外部库使用等),并介绍了检测工具(如memory_profiler、objgraph、tracemalloc)和解决方法(如显式释放资源、避免循环引用、选择良好内存管理的库)。通过具体代码示例,帮助开发者有效应对内存泄漏挑战。
308 1
|
8月前
|
机器学习/深度学习 算法 数据可视化
Python的计算机视觉与图像处理
本文介绍了Python在计算机视觉和图像处理领域的应用,涵盖核心概念、算法原理、最佳实践及应用场景。重点讲解了OpenCV、NumPy、Pillow和Matplotlib等工具的使用,并通过代码实例展示了图像读写、处理和可视化的方法。实际应用包括自动驾驶、人脸识别、物体检测等。未来趋势涉及深度学习、边缘计算和量子计算,同时也讨论了数据不足、模型解释性和计算资源等挑战。
339 2
|
10月前
|
计算机视觉 开发者 Python
利用Python进行简单的图像处理
【10月更文挑战第36天】本文将引导读者理解如何使用Python编程语言和其强大的库,如PIL和OpenCV,进行图像处理。我们将从基本的图像操作开始,然后逐步深入到更复杂的技术,如滤波器和边缘检测。无论你是编程新手还是有经验的开发者,这篇文章都将为你提供新的视角和技能,让你能够更好地理解和操作图像数据。
|
10月前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 7
本教程介绍了SciPy的空间数据处理功能,涵盖如何使用`scipy.spatial`模块进行点的位置判断、最近点计算等操作。还详细解释了距离矩阵的概念及其在生物信息学中的应用,以及汉明距离的定义和计算方法。示例代码展示了如何计算两个点之间的汉明距离。
105 1
|
10月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
107 1
|
11月前
|
机器学习/深度学习 算法 计算机视觉
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
【Python篇】Python + OpenCV 全面实战:解锁图像处理与视觉智能的核心技能
319 7

热门文章

最新文章

推荐镜像

更多