当前位置: 首页 > news >正文

上海网站设计要多少钱广州贝勤网络科技有限公司

上海网站设计要多少钱,广州贝勤网络科技有限公司,在哪个网站上做预收款报告,网站备案主体黑名单【1】引言 前序学习了5种阈值处理方法,包括(反)阈值处理、(反)零值处理和截断处理,还学习了一种自适应处理方法,相关文章链接为: python学opencv|读取图像(三十三)阈值处理-灰度图像-CSDN博客 python学o…

【1】引言

前序学习了5种阈值处理方法,包括(反)阈值处理、(反)零值处理和截断处理,还学习了一种自适应处理方法,相关文章链接为:

python学opencv|读取图像(三十三)阈值处理-灰度图像-CSDN博客

python学opencv|读取图像(三十四)阈值处理-彩色图像-CSDN博客

python学opencv|读取图像(三十五)反阈值处理-CSDN博客

python学opencv|读取图像(三十六)(反)零值处理-CSDN博客

python学opencv|读取图像(三十七 )截断处理-CSDN博客

python学opencv|读取图像(三十八 )阈值自适应处理-CSDN博客

在上述所有文章中,阈值开关都是自己随机设置的,因此,实际效果可能未必是最佳。

如果有一种方法,可以让函数自动选取最佳阈值开关,那就能时刻获得最佳的阈值处理效果,这个方法就是:“阈值处理参数+Otsu”。

【2】官网教程

Otsu方法的说明,点击下方链接可以直达:

OpenCV: Miscellaneous Image Transformations

官网页面关于Otsu方法的说明为:

图1

实际上,使用Otsu方法时,必须配合前述5种阈值处理方法一起进行阈值调整。因为Otsu方法本身是来辅助选择最优的阈值开关,所以阈值处理方法还需要保留。

在下述官网示例说明中,我们会看到这一解释:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片-直接转化灰度图
src = cv.imread('srcf.png',0) #读取图像
dst=src#输出图像# 读取图片-函数转化灰度图
src1 = cv.imread('srcf.png') #读取图像
dst1=cv.cvtColor(src1,cv.COLOR_BGR2GRAY) #转化为灰度图dstt=np.hstack((dst,dst1)) #两种灰度图拼接在一起

OpenCV: Image Thresholding

图2

【3】代码测试

首先引入必要的模块和原图像:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片-直接转化灰度图
src = cv.imread('srcf.png',0) #读取图像
dst=src#输出图像# 读取图片-函数转化灰度图
src1 = cv.imread('srcf.png') #读取图像
dst1=cv.cvtColor(src1,cv.COLOR_BGR2GRAY) #转化为灰度图dstt=np.hstack((dst,dst1)) #两种灰度图拼接在一起

然后进行Otsu处理,为进行对比,也做了零值处理:

#阈值处理
t2,dst2=cv.threshold(src,58,158,cv.THRESH_TOZERO) #零值-阈值开关58,阈值上限158
t3,dst3=cv.threshold(src,0,255,cv.THRESH_TOZERO+cv.THRESH_OTSU) #零值+OTSU
dsto=np.hstack((dst2,dst3)) #两种阈值处理图拼接在一起

之后显示图像和保存图像:

# 在屏幕展示效果
cv.imshow('srcdstt', dstt)  # 在屏幕展示效果
cv.imshow('srcdsto', dsto)  # 在屏幕展示效果#显示BGR值
print("dst1像素数为[100,100]位置处的BGR=", dst1[100, 100])  # 获取像素数为[100,100]位置处的BGR
print("dst2像素数为[100,100]位置处的BGR=", dst2[100, 100])  # 获取像素数为[100,100]位置处的BGR
print("dst3像素数为[100,100]位置处的BGR=", dst3[100, 100])  # 获取像素数为[100,100]位置处的BGR#保存图像
cv.imwrite('srcf-dstt.png', dstt)  # 保存图像
cv.imwrite('srcf-dst2.png', dst3)  # 保存图像
cv.imwrite('srcf-dsto.png', dsto)  # 保存图像cv.waitKey()  # 图像不会自动关闭
cv.destroyAllWindows()  # 释放所有窗口

此处使用的原始图像为:

图3

转化后的灰度图为:

图4 灰度图

进行单纯零值处理和零值处理+OTSU处理后的图像为:

图5 单纯零值处理和零值处理+OTSU处理

由图5可见,右侧为零值处理+OTSU处理后的图像,更趋向于突出轮廓边线。

由于OTSU处理图像会自动选择最佳阈值开关,所以我们输出了特定位置的BGR值:

图6 特定像素点BGR值

dst1为转后的原始灰度图,dst2为单纯零值处理图,dst3为零值处理+OTSU处理后的图像。

由图6可见,零值处理+OTSU处理后的图像,自动选择的阈值开关也没有超过156,所以这两个图在像素点[100][100]处的BGR值完全相等。

【4】细节说明

使用Otsu方法的时候,依然调用cv2.threshold()函数,虽然此时Otsu会自动选择阈值开关,但仍然需要在阈值开关的位置写"0"。

图7 提前设定阈值开关为0

【5】总结

掌握了python+opencv实现Otsu自动调整阈值开关的操作技巧。

 

 

http://www.yayakq.cn/news/984269/

相关文章:

  • 盘锦兴隆台住房和城乡建设网站网站建设人员叫什么
  • 防水网站的外链如何找近期新闻热点事件摘抄
  • 专业建设网站的企业青海找人做网站多少钱
  • 做网站必须要购买域名用wordpress做网站页面显示404
  • 苏州专门网站好姑娘免费高清视频
  • 网站建设ag公司视频广告拍摄
  • 怎样查询网站备案号wordpress+联动筛选
  • 手机网站和电脑网站开发网站开发的技术支撑 经验能力
  • 公司微网站建设价格随州网站制作
  • 人才招聘网站开发吸引流量的网站
  • 重庆简易注销在什么网站做郑州网上车管所官网
  • 如何查网站开发环境怎么发布个人网站
  • 大连建设主管部门官方网站网站设计方案怎么做
  • 网站显示乱码怎么办啊外贸网站建设解决方案
  • python做的网站有哪些页面跳转的方式有哪些
  • 网站建设的课件微信网页版网址
  • 建设网站的市场环境wordpress链接数据库出错
  • Django可以做门户网站吗网页编辑器怎么用
  • 网站上的超链接怎么做网络推广宣传
  • 上海网站建设怎么绵阳安州区做网站的有哪些
  • 国内大型网站建设公司网站后台修改图片集顺序
  • 网站优化主旨dnf制裁做任务网站
  • 网站安全评估怎么做从58做网站怎么做
  • 张店区网站建设特点有哪些 谢谢商标注册网查询官网入口
  • 万维网官方网站营销型网站建设价格是多少
  • 湘潭做网站 联系磐石网络个人申请域名能干什么
  • 个人做网站需要什么条件网站底部版权html代码
  • wordpress多语言配置文件优化产业结构
  • 做旅游宣传不错的网站查网站流量的网址
  • 做网站公司汉狮团队北京王府井附近的酒店