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

来源:脚本之家  责任编辑:小易  
目录
概述图像处理转换图像转换成灰度图HSVYUV二值化操作原图BinaryBinary InverseTruncTozeroTozero Inverse

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

概述

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

在这里插入图片描述

图像处理

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

在这里插入图片描述

转换图像

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

格式:

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

参数:

src: 需要转换的图片 code: 颜色空间转换码 dst: 输出图像大小深度相同, 可选参数 desCn: 输出图像的颜色通道, 可选参数

转换成灰度图

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)

参数:

src: 需要转换的图 thresh: 阈值 maxval: 超过阈值所赋的值 type: 二值化操作类型

返回值:

ret: 输入的阈值 dst: 处理好的图片

原图

在这里插入图片描述

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半小时掌握基本操作之傅里叶变换

  • 本文相关:
  • 一个简单的python爬虫程序 爬取豆瓣热度top100以内的电影信息
  • django框架模板语言实例小结【变量,标签,过滤器,继承,html转
  • python实现转圈打印矩阵
  • 如何在python 游戏中模拟引力
  • python3新特性函数注释function annotations用法分析
  • github上值得推荐的8个python 项目
  • python db类用法说明
  • 基于selenium及python实现下拉选项定位select
  • python装饰器的特性原理详解
  • python 使用装饰器并记录log的示例代码
  • 为什么OpenCV(python)基本功能报错
  • opencv中的矩阵操作,如何访问矩阵中某个元素
  • opencv分为针对不同操作系统和语言的不同版本吗
  • OPENCV Mat类怎么对像素进行操作啊?
  • 请问各位大牛,opencv2.1如何操作图像矩阵,我是说用Mat这个类...
  • opencv的基本程序
  • opencv怎样对前景的每一帧进行操作?
  • Android 加载OpenCV库之后进行形态学膨胀腐蚀操作,怎么样将...
  • opencv怎样实现ps里色相饱和度的操作
  • opencv中矩阵进行cvInvert (SVD 方法)操作后矩阵的行和列的值...
  • Opencv里的cvDFT是只是实现了基本的傅里叶变换吧,没有实现...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页pythonopencv半小时掌握基本操作之图像裁剪融合opencv-python基本图像处理详解opencv图像处理基本操作详解opencv图像处理之详解掩膜mask基于python的opencv图像处理实现对斑马线的检测示例python+opencv图像处理——图像二值化的实现opencv半小时掌握基本操作之分水岭算法opencv半小时掌握基本操作之傅里叶变换一个简单的python爬虫程序 爬取豆瓣热度top100以内的电影信息django框架模板语言实例小结【变量,标签,过滤器,继承,html转python实现转圈打印矩阵如何在python 游戏中模拟引力python3新特性函数注释function annotations用法分析github上值得推荐的8个python 项目python db类用法说明基于selenium及python实现下拉选项定位selectpython装饰器的特性原理详解python 使用装饰器并记录log的示例代码python入门教程 超详细1小时学会pycharm 2020最新永久激活码(附python 列表(list)操作方法详解python 元组(tuple)操作详解python 字典(dictionary)操作详解pycharm 2020年最新激活码(亲测python strip()函数 介绍pycharm 使用心得(一)安装和首python中使用xlrd、xlwt操作excepython 中文乱码问题深入分析python数字图像处理之霍夫线变换实现详解python连接impala实现步骤解析python设计模式之组合模式原理与用法实例python django框架介绍之模板标签及模板的keras 如何修改图片通道的顺序解决python nohup linux 后台运行输出的问讲解python中的递归函数pycharm远程调试原理及具体配置详解浅析python3字符串格式化format()函数的简python检测文件夹变化,并拷贝有更新的文件
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved