c# OpenCvSharp 自适应阈值 AdaptiveThreshold

c# OpenCvSharp 自适应阈值 AdaptiveThreshold

自适应阈值(AdaptiveThreshold):用于二值化处理图像,对于对比大的图像有较好效果,相对于opencv中固定阈值化操作(Threshold),自适应阈值中图像中每一个像素点的阈值是不同的,该阈值由其领域中图像像素带点加权平均决定。这样做的好处:

1、每个像素位置处的二值化阈值不是固定不变的,而是由其周围邻域像素的分布来决定的。

2、亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。

3、不同亮度、对比度、纹理的局部图像区域

c# OpenCvSharp 距离变换 DistanceTransform

距离变换的处理图像通常都是二值图像,而二值图像其实就是把图像分为两部分,即背景物体两部分,物体通常又称为前景目标。通常我们把前景目标的灰度值设为255(即白色),背景的灰度值设为0(即黑色)。所以定义中的非零像素点即为前景目标零像素点即为背景。所以图像中前景目标中的像素点距离背景越远,那么距离就越大,如果我们用这个距离值替换像素值,那么新生成的图像中这个点越亮。

1、欧式距离:表示距离小于等于某一个值的像素中心(x,y)且半径为R的圆平面。

2、棋盘距离:数字栅格上像素按照对角

opencv harris 图像角点检测

opencv harris 图像角点检测

import cv2

import numpy as np

# 读取图像

img = cv2.imread(‘pic/qipan.jpg’)

# 转化为灰度图

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 检测角点必须保证图像为浮点数据类型

gray = np.float32(gray)

# gray:输入的浮点灰度图

# 2: 检测中考虑的领域大小

# 3:sobel求导中使用的窗口大小

# 0.

opencv contour 图像轮廓检测

opencv contour 图像轮廓检测

import cv2

import matplotlib.pyplot as plt

# 画图文字使用黑体字显示(显示中文,默认不支持中文)

plt.rcParams[‘font.sans-serif’] = [‘SimHei’]

img = cv2.imread(‘pic/st.png’)

img_gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)

# 采用二值化方式处理图像,像素值在182-255之间为1,小于182像素值的

opencv 画线 矩形 圆形 椭圆形 多边形 添加文字

opencv 画线 矩形 圆形 椭圆形 多边形 添加文字

import cv2

import numpy as np

import matplotlib.pylab as plt

import matplotlib as mpl

# 绘制线

# 生成一个空的黑底图像

# np.zeros()有两个参数,一个是创建的图片矩阵大小,另一个是数据类型。

# 512,512是像素(第一个512 像素 高,第二个512 像素 宽),3指BGR三种颜色。

img = np.zeros((512, 512, 3), np.uin

opencv filter2D 过滤器 亮化 边缘检测 锐化 框模糊 高斯模糊 浮雕

opencv filter2D 过滤器 亮化  边缘检测 锐化 框模糊 高斯模糊 浮雕

filter2D (src, dst, ddepth, kernel)

src 应用过滤器的源图像。

dst 应用过滤器后输出图像的名称。

ddepth 输出图像的深度 [-1 将给出与输入图像相同的输出图像深度]。

kernel 我们希望图像与之卷积的二维矩阵。

import cv2

import numpy as np

import matplotlib.pylab as plt

import matplotlib as mpl

# 读取图像

i

opencv 高斯滤波 Gauss filtering

opencv 高斯滤波 Gauss filtering

高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。

通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。

高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

对应均值滤波和方框滤波来说,其邻域内每个像素的权重是相等的。而在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内各

opencv 中值滤波 Median filtering

opencv 中值滤波 Median filtering

中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。

中值滤波的方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成上升(或下降)的为二维数据序列。

中值滤波会选取数字图像或数字序列中像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序,然后将位于中间位置的像素值作为当前像素点的像素值,让周围的像素值接近真实值,从而消除孤立的噪声点。

在该序列中,处于中心位置(也叫中心点或中值点)的值是“

opencv 均值滤波 Mean filtering

opencv 均值滤波 Mean filtering

均值滤波是典型的线性滤波算法,是指用当前像素点周围nxn个像素值的均值来代替当前像素值。使用该方法遍历处理图像内的每一个像素点,可完成整幅图像的均值滤波。

对第5行第5列的像素点进行均值滤波时,首先需要考虑需要对周围多少个像素点去取平均值。通常情况下,我们会以该当前像素为中心,对行数和列数相等的一块区域内的所有像素点的像素取平均值。

针对第 5 行第 5 列像素点均值滤波的运算示意图。

针对每一个像素点,都是与一个内部值均为1/25的55矩阵相乘,得到均值滤波的计算结果。