多种网站模板,网站备案费用,app网站开发合同,asp.net mvc5网站开发【1】引言
前序我们已经掌握分解图像的通道#xff0c;设置各个通道的RGB值#xff0c;相关文章包括且不限于#xff1a;
python学opencv|读取图像#xff08;十四#xff09;BGR图像和HSV图像通道拆分-CSDN博客
python学opencv|读取图像#xff08;十五#xff09;B…【1】引言
前序我们已经掌握分解图像的通道设置各个通道的RGB值相关文章包括且不限于
python学opencv|读取图像十四BGR图像和HSV图像通道拆分-CSDN博客
python学opencv|读取图像十五BGR图像和HSV图像通道合并_bgr hsv-CSDN博客
也学会了对于较为简单的灰度图像进行像素操作
python学opencv|读取图像六读取图像像素RGB值_python 获取图片像素点颜色-CSDN博客
python学opencv|读取图像九用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客
python学opencv|读取图像十用numpy创建彩色图像_python numpy图像-CSDN博客
有时候如果我们想粗犷一些处理像素也就是把图像的像素约束在某一些范围内也就是做阈值限定这时候就要在先前的学习基础上应用一个新的函数cv2.threshold()。
【2】官网教程
点击下方连链接直达官网教程
OpenCV: Miscellaneous Image Transformations
在这里将会看到对 cv2.threshold()函数的说明 图1
这里的参数意义为 double cv::threshold ( InputArray src, #输入图像 OutputArray dst, #输出图像 double thresh, #阈值下限-阈值开关 double maxval, #阈值上限 int type ) #阈值处理类型暂不是重点无需关注 需要说明的是一旦达到阈值下限图像的RGB值会直接等于阈值上限而未达到阈值下限时图像的RGB值会直接等于0。
所以这个阈值下限本身孩子一个阈值开关大于它的都取上限小于它的都是0.
【3】代码测试
【3.1】代码
为了测试这个阈值的效果我们做一下代码测试。
首先引入图像
import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
src cv.imread(scasrcf.png,0)
dstsrc#输出图像
这里直接把输入图像转化为灰度图像了。
然后是调用cv2.threshold()函数尝试不同的阈值类型
t1,dst1cv.threshold(src,58,158,cv.THRESH_BINARY) #阈值开关58阈值上限158
t2,dst2cv.threshold(src,100,255,cv.THRESH_BINARY) #阈值开关100阈值上限255
t3,dst3cv.threshold(src,0,255,cv.THRESH_BINARY) #阈值开关0阈值上限255之后就是对这些阈值函数进行效果输出和保存
#展示图像
cv.imshow(srcf, dst) # 在屏幕展示效果
cv.imshow(srcft1, dst1) # 在屏幕展示效果
cv.imshow(srcft2, dst2) # 在屏幕展示效果
cv.imshow(srcft3, dst3) # 在屏幕展示效果#保存图像
cv.imwrite(srcf-m.png, dst) # 保存图像
cv.imwrite(srcf-m-t1.png, dst1) # 保存图像
cv.imwrite(srcf-m-t2.png, dst2) # 保存图像
cv.imwrite(srcf-m-t3.png, dst3) # 保存图像
cv.waitKey() # 图像不会自动关闭
cv.destroyAllWindows() # 释放所有窗口
【3.2】效果
为了分辨清楚图像效果首先我们看原图 图2 原图
读取图像后转化的灰度图为 图3 灰度图
然后是阈值开关58阈值上限158的转换效果 图4 阈值开关58阈值上限158
然后是阈值开关100阈值上限255的转换效果 图5 阈值开关100阈值上限255
然后是阈值开关0阈值上限255 图6 阈值开关0阈值上限255
实际上图6不是纯白色图片因为还有一些RGB0的位置所以图6中有一些零零散散的黑色线条。
【4】细节说明
调用cv2.threshold()函数时应该按照下述形式 t1,dst1cv.threshold(src,58,158,cv.THRESH_BINARY) 这里的t1不可少可以暂时理解为为了把各个未知的RGB值转换为0或者阈值上限t1是一个中间过渡值。
【5】总结
掌握了pythonopencv获得阈值处理图像也就是限定像素图像的技巧。