numpy

简介: numpy
import cv2 as cv
import numpy as np

src = cv.imread("morph02.png")
cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)

# 高斯模糊去噪声
gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)

# 顶帽操作
se = cv.getStructuringElement(cv.MORPH_RECT, (3, 3), (-1, -1))
binary = cv.morphologyEx(binary, cv.MORPH_TOPHAT, se)


cv.imshow("binary", binary)
cv.imwrite("binary3.png", binary)

cv.waitKey(0)
cv.destroyAllWindows()

读取图像:

src = cv.imread("morph02.png")
这行代码使用cv.imread()函数读取名为"morph02.png"的图像文件,并将其存储在变量src中。这个图像将作为后续处理的源图像。

创建显示窗口:

cv.namedWindow("input", cv.WINDOW_AUTOSIZE)
cv.imshow("input", src)
这两行代码首先创建一个名为"input"的窗口,并通过cv.WINDOW_AUTOSIZE参数设置窗口大小自适应图像大小。然后使用cv.imshow()函数在"input"窗口中显示原始图像src。

高斯模糊去噪声:

gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
首先,使用cv.cvtColor()函数将原始图像从BGR颜色空间转换为灰度图像,存储在变量gray中。接着,使用cv.threshold()函数对灰度图像进行阈值处理,创建一个二值图像binary。这里使用Otsu的方法自动计算阈值,将图像转换为黑白两色,以便更好地进行后续形态学操作。

顶帽操作:

se = cv.getStructuringElement(cv.MORPH_RECT, (3, 3), (-1, -1))
binary = cv.morphologyEx(binary, cv.MORPH_TOPHAT, se)
顶帽操作是一种形态学操作,用于提取比结构元素小的亮区域。首先,使用cv.getStructuringElement()函数创建一个3x3大小的矩形结构元素se。然后,使用cv.morphologyEx()函数对二值图像binary应用顶帽操作,结果存储回binary变量中。

显示处理后的图像:

cv.imshow("binary", binary)
使用cv.imshow()函数在新窗口"binary"中显示经过顶帽操作处理后的二值图像。

保存处理后的图像:

cv.imwrite("binary3.png", binary)
使用cv.imwrite()函数将处理后的二值图像保存为"binary3.png"文件。

等待按键事件并关闭窗口:

cv.waitKey(0)
cv.destroyAllWindows()
cv.waitKey(0)函数等待用户按下任意键,cv.destroyAllWindows()函数关闭所有OpenCV创建的窗口。这样,程序会保持打开状态,直到用户按下键盘上的任意键,然后所有窗口将关闭,程序结束。

目录
相关文章
|
9天前
|
Python
numpy快速使用
numpy快速使用
31 6
numpy快速使用
|
9天前
|
Python
numpy
numpy
17 4
|
4天前
|
数据采集 数据挖掘 关系型数据库
|
9天前
|
存储 机器学习/深度学习 Serverless
一篇文章学会numpy
一篇文章学会numpy
47 0
|
9天前
|
机器学习/深度学习 数据处理 C++
NumPy
NumPy
30 1
|
8月前
|
存储 机器学习/深度学习 算法
|
9月前
|
存储 Python
Numpy数值计算
Numpy数值计算
75 0
|
机器学习/深度学习 数据可视化 数据挖掘
|
存储 索引 Python
Numpy 基础教程之Numpy的介绍
Numpy(Numerical Python 的简称),是 Python 数值计算最重要的基础包之一,大多数提供科学计算的包都以 Numpy 的 ndarray(多维数组)为构建基础。下面我们就通过一些实例来初步了解下 ndarray,要想使用 ndarray,需要导入 numpy 库。ndarray 的创建非常简单,只需要将列表传入到 array() 函数即可。
104 0
|
存储 数据挖掘 Python
【Python数据分析 - 4】:了解Numpy、Numpy的属性
【Python数据分析 - 4】:了解Numpy、Numpy的属性
【Python数据分析 - 4】:了解Numpy、Numpy的属性