python opencv图像处理(一)

简介: python opencv图像处理(一)

图像处理入门


图像都是由像素(pixel)构成的,每个像素对应一个颜色值,如下图


20210623135735964.png


这些小方格每一个都有自己明确的位置和被分配的色彩值,而这些小方格的颜色和位置就决定了这个图像所呈现出来的样子。

像素是图像中最小的单位,每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。


图像通常包括有 二值图像 、 灰度图像 和 彩色图像


二值图像


二值图像就是在图像中,任何一个点非黑即白,像素要么为 255 (白色) 要么为 0 (黑色) 。转换的时候一般将像素 >=127 的设置为白色,其余的设置为黑色。

20210623140157883.png


灰度图像


灰度图像是除了黑白之外,还添加了第三种颜色:灰色,灰色把灰度划分为 256 个不同的亮度,例如纯白色,它的亮度级别是255。


图像转化为灰度图像有以下几种算法:


浮点算法:Gray = R 0.3 + G 0.59 + B * 0.11

整数方法:Gray = ( R 30 + G 59 + B * 11 ) / 100

移位方法:Gray = ( R 76 + G 151 + B * 28 ) >> 8

平均值法:Gray = ( R + G + B ) / 3

仅取绿色:Gray = G

加权平均值算法:R = G = B = R 0.299 + G 0.587 + B * 0.144

20210623140144988.png

彩色图像


彩色图像是RGB图像,RGB表示红、绿、蓝三原色,计算机里所有颜色都是三原色不同比例组成的,即三色通道。

20210623140122185.png


opencv入门


1.读入图像


读取图像是通过函数 cv.imread() 实现。

语法:

img = cv.imread(文件名,[,参数])


第二个参数是一个标志,它指定了读取图像的方式。


cv.IMREAD_COLOR: 加载彩色图像,任何图像的透明度都会被忽视,如果不传参数,这个值是默认值。

cv.IMREAD_GRAYSCALE:以灰度模式加载图像。

cv.IMREAD_UNCHANGED:加载图像,包括alpha通道

注意:这三个标志可以简化为 1 、 0 、 -1 。


2.显示图像


显示图像是通过函数 cv.imshow() 函数实现。

语法:

cv.imshow(窗口名, 图像名)


3.窗口等待


显示图像是通过函数 cv.waitKey(delay) 函数实现。

语法:

cv.waitKey(delay)

cv.waitKey() 是一个键盘绑定函数。其参数是以毫秒为单位的时间。该函数等待任何键盘事件指定的毫秒。如果您在这段时间内按下任何键,程序将继续运行。如果 0 被传递,它将无限期地等待一次敲击键。


4.删除窗口


调用函数如下:

cv.destroyAllWindows() 删除所有窗口

cv.destroyWindows() 删除指定的窗口


5.写入图像


调用函数如下:

cv.imwrite(文件地址, 文件名)


代码实例


我们读取一张图片,将这张图片显示出来后,再将这张图片保存起来。


import cv2 as cv
# 读取图片
img = cv.imread("maliao.jpg", 1)
# 显示图片
cv.imshow("demo", img)
# 等待输入
cv.waitKey(0)
cv.destroyAllWindows()
# 图片写入
cv.imwrite("demo.jpg", img)


相关文章
|
23天前
|
机器学习/深度学习 存储 监控
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
数据分享|Python卷积神经网络CNN身份识别图像处理在疫情防控下口罩识别、人脸识别
|
18天前
|
数据采集 Java 数据挖掘
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
|
18天前
|
数据采集 数据挖掘 计算机视觉
最全OpenCV-Python实战(3)——OpenCV中绘制图形与文本,面试官必问问题及答案
最全OpenCV-Python实战(3)——OpenCV中绘制图形与文本,面试官必问问题及答案
|
23天前
|
计算机视觉 Python
【Python实战】——Python+Opencv是实现车牌自动识别
【Python实战】——Python+Opencv是实现车牌自动识别
|
23天前
|
算法 计算机视觉
【OpenCV】计算机视觉图像处理基础知识(下)
【OpenCV】计算机视觉图像处理基础知识(下)
|
23天前
|
人工智能 计算机视觉 Python
【OpenCV】计算机视觉图像处理基础知识(上)
【OpenCV】计算机视觉图像处理基础知识(上)
|
23天前
|
算法 Serverless 计算机视觉
使用OpenCV和Python进行极线校正
使用OpenCV和Python进行极线校正
21 1
|
23天前
|
算法 安全 机器人
最新版opencv4.9安装介绍,基本图像处理详解
最新版opencv4.9安装介绍,基本图像处理详解
|
23天前
|
机器学习/深度学习 算法 自动驾驶
opencv python 图片叠加
【4月更文挑战第17天】
|
23天前
|
数据挖掘 计算机视觉 Python
SciPy图像处理技巧:图像增强与特征提取
【4月更文挑战第17天】本文介绍了如何使用SciPy进行图像增强和特征提取。通过调整亮度、对比度和伽马校正实现图像增强,示例代码展示了相关操作。同时,利用Sobel算子进行边缘检测和Laplacian of Gaussian (LoG) 进行角点检测,以提取图像特征。虽然SciPy不是专业的图像处理库,但其数值计算能力在图像分析中仍有一定价值,可与其他图像处理库结合使用。