• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    OpenCV半小时掌握基本操作之图像处理

    【OpenCV】⚠️高手勿入! 半小时学会基本操作⚠️图像处理

    概述

    OpenCV 是一个跨平台的计算机视觉库, 支持多语言, 功能强大. 今天小白就带大家一起携手走进 OpenCV 的世界.

    图像处理

    图像处理是非常基础和关键的, 今天就带大家来一起了解一下图像处理.

    转换图像

    cv.cvtColor可以帮助我们转换图片通道.

    格式:

    cv2.cvtColor(src, code[, dst[, dstCn]])
    

    参数:

    转换成灰度图

    RGB 到灰度图转换公式:

    Y' = 0.299 R + 0.587 G + 0.114 B
    

    例子:

    # 读取数据
    img = cv2.imread("cat.jpg")
    
    # 转换成灰度图
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    # 输出维度
    print(img_gray.shape)  # (554, 640)
    
    # 展示图像
    cv2.imshow("img_gray", img_gray)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    HSV

    HSV (Hue, Saturation, Value) 是根据颜色的直观特性由 A.R. Smith 在 1978 年创建的一种颜色空间.

    例子:

    # 转换成hsv
    img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    
    # 输出维度
    print(img_hsv.shape)  # (554, 640, 3)
    
    # 展示图像
    cv2.imshow("img_hsv", img_hsv)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    YUV

    YUV 是一种颜色编码的方法, 主要用在视频, 图形处理流水线中.

    例子:

    # 读取数据
    img = cv2.imread("cat.jpg")
    
    # 转换成hsv
    img_yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YUV)
    
    # 输出维度
    print(img_yuv.shape)  # (554, 640, 3)
    
    # 展示图像
    cv2.imshow("img_yuv", img_yuv)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    二值化操作

    格式:

    ret, dst = cv2.threshold(src, thresh, maxval, type)
    

    参数:

    返回值:

    原图

    Binary

    大于阈值的设为 255, 低于或等于阈值的为 0.

    例子:

    # 读取数据
    img_gray = cv2.imread("cat_gray.jpg")
    
    # 二值化
    ret, thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
    
    # 图片展示
    cv2.imshow("thresh1", thresh1)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    Binary Inverse

    与 Binary 相反.

    例子:

    # 读取数据
    img_gray = cv2.imread("cat_gray.jpg")
    
    # 二值化
    ret, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)
    
    # 图片展示
    cv2.imshow("thresh2", thresh2)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    Trunc

    大于阈值的设为 255, 低于或等于阈值的不变.

    例子:

    # 读取数据
    img_gray = cv2.imread("cat_gray.jpg")
    
    # 截断
    ret, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)
    
    # 图片展示
    cv2.imshow("thresh3", thresh3)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    Tozero

    大于阈值部分不变, 否则设为 0.

    代码:

    # 读取数据
    img_gray = cv2.imread("cat_gray.jpg")
    
    # Tozero
    ret, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)
    
    # 图片展示
    cv2.imshow("thresh4", thresh4)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    Tozero Inverse

    与 Tozero 相反.

    代码:

    # 读取数据
    img_gray = cv2.imread("cat_gray.jpg")
    
    # Tozero
    ret, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)
    
    # 图片展示
    cv2.imshow("thresh5", thresh5)
    cv2.waitKey(0)
    cv2.destroyAllWindows()
    

    输出结果:

    到此这篇关于OpenCV半小时掌握基本操作之图像处理的文章就介绍到这了,更多相关OpenCV图像处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • OpenCV半小时掌握基本操作之图像裁剪融合
    • opencv-python基本图像处理详解
    • OpenCV图像处理基本操作详解
    • Opencv图像处理之详解掩膜mask
    • 基于python的opencv图像处理实现对斑马线的检测示例
    • Python+OpenCV图像处理——图像二值化的实现
    • OpenCV半小时掌握基本操作之分水岭算法
    • OpenCV半小时掌握基本操作之傅里叶变换
    上一篇:实现Windows下设置定时任务来运行python脚本
    下一篇:Python retrying 重试机制的使用方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    OpenCV半小时掌握基本操作之图像处理 OpenCV,半小时,掌握,基本操作,