OpenCV-中cv2.threshold详解

Posted 司砚章

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenCV-中cv2.threshold详解相关的知识,希望对你有一定的参考价值。

cv2.threshold (src, thresh, maxval, type)

cv2.threshold (源图片, 阈值, 填充色, 阈值类型)

这里看看具体例子和矩阵中的变换:

import numpy as np
import cv2
from matplotlib import pyplot as plt
import matplotlib.image as mpimg # mpimg 用于读取图片

#导入图片
img=cv2.imread(\'4.jpg\',0)
cv2.imshow(\'img\',img)
cv2.waitKey(0)

image

import numpy as np
import cv2
from matplotlib import pyplot as plt
import matplotlib.image as mpimg # mpimg 用于读取图片

#导入图片
img=cv2.imread(\'4.jpg\',0)
#对图像运用二值化处理
retVal,img2=cv2.threshold(img,100,100,cv2.THRESH_BINARY)
#对比一下处理前后图片矩阵的变换
print("变化之前的图像是",img)
print("变化之后的图像是",img2)
# 可以看出,图像中像素大于100的全变成了100(因为第三个参数填充色我选择了100),小于100的全变成了0
cv2.imshow(\'img2\',img2)
cv2.waitKey(0)

处理后的图像
image

变化之前的图像是 [[168 168 169 ... 168 168 168]
[168 168 169 ... 168 168 168]
[168 168 169 ... 168 168 168]
...
[135 135 135 ... 135 134 134]
[136 136 136 ... 135 134 134]
[136 136 136 ... 135 134 134]]
变化之后的图像是 [[100 100 100 ... 100 100 100]
[100 100 100 ... 100 100 100]
[100 100 100 ... 100 100 100]
...
[100 100 100 ... 100 100 100]
[100 100 100 ... 100 100 100]
[100 100 100 ... 100 100 100]]

该函数返回的第一个值就是输入的thresh值,第二个就是处理后的图像

以上是关于OpenCV-中cv2.threshold详解的主要内容,如果未能解决你的问题,请参考以下文章

opencv二值化的cv2.threshold函数

OpenCV版本4.1.0 drawContours

openCV全局阈值分割

使用 OpenCV 进行圆检测

python opencv图像阈值处理

OpenCV-Python基础教程5-阈值分割与Otsu阈值法