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值,第二个就是处理后的图像

posted @ 2021-06-10 12:40  司砚章  阅读(1408)  评论(0编辑  收藏  举报