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

cdn 加速 网站郑州新闻最新消息今天

cdn 加速 网站,郑州新闻最新消息今天,怎么在印度做网站,小程序商城模板免费大津算法#xff08;OTSU算法#xff09;是一种常用的图像二值化方法#xff0c;用于将灰度图像转化为二值图像。该算法由日本学者大津展之于1979年提出#xff0c;因此得名。 大津算法的核心思想是通过寻找一个阈值#xff0c;将图像的像素分为两个类别#xff1a;前景…大津算法OTSU算法是一种常用的图像二值化方法用于将灰度图像转化为二值图像。该算法由日本学者大津展之于1979年提出因此得名。 大津算法的核心思想是通过寻找一个阈值将图像的像素分为两个类别前景和背景。具体步骤如下 统计图像的灰度直方图得到每个灰度级的像素数目。遍历所有可能的阈值0到255计算根据该阈值将图像分为前景和背景的类内方差。根据类内方差的最小值确定最佳阈值。 在大津算法中类内方差是衡量前景和背景之间差异的度量。通过选择使类内方差最小的阈值可以实现最佳的图像分割效果。 大津算法的优点是简单易懂计算效率高。它适用于灰度图像的二值化处理特别是对于具有双峰直方图的图像效果更好。然而该算法对于具有非双峰直方图的图像可能产生较差的分割结果。因此在应用大津算法之前需要对图像的直方图进行分析确保适用性。 大津算法在图像处理中被广泛应用例如在文档图像处理、目标检测、图像分割等领域。 下面推导类间方差函数 设阈值为灰度k。这个阈值把图像像素分割成两类C1类像素小于等于kC2类像素大于k。设这两类像素各自的均值为图像全局均值为。同时像素被分为C1和C2类的概率分别为。则有 根据方差的概念类间方差表达式为 展开 合并25及36项可得 我们再把代回得到 再注意到所以从而得到 对于给定的阈值k我们可以统计出灰度级的分布列 灰度值01...255... 显然根据分布列性质有请注意这里的是分布列中的不是上面的定义 那么有 将k从遍历找出使得最大的k值这个k值就是阈值。 对于分割这个分割就是二值化OpenCV给了以下几种方式同threshold cv2帮助文档 Miscellaneous Image Transformations — OpenCV 3.0.0-dev documentationhttps://docs.opencv.org/3.0-last-rst/modules/imgproc/doc/miscellaneous_transformations.html?highlightthreshold#threshold代码实现 首先是原理部分的实现这部分我们使用numpy import cv2 import numpy as npdef OTSU(img_gray, GrayScale):assert img_gray.ndim 2, must input a gary_img # shape有几个数字, ndim就是多少img_gray np.array(img_gray).ravel().astype(np.uint8)u1 0.0 # 背景像素的平均灰度值u2 0.0 # 前景像素的平均灰度值th 0.0# 总的像素数目PixSum img_gray.size# 各个灰度值的像素数目PixCount np.zeros(GrayScale)# 各灰度值所占总像素数的比例PixRate np.zeros(GrayScale)# 统计各个灰度值的像素个数for i in range(PixSum):# 默认灰度图像的像素值范围为GrayScalePixvalue img_gray[i]PixCount[Pixvalue] PixCount[Pixvalue] 1# 确定各个灰度值对应的像素点的个数在所有的像素点中的比例。for j in range(GrayScale):PixRate[j] PixCount[j] * 1.0 / PixSumMax_var 0# 确定最大类间方差对应的阈值for i in range(1, GrayScale): # 从1开始是为了避免w1为0.u1_tem 0.0u2_tem 0.0# 背景像素的比列w1 np.sum(PixRate[:i])# 前景像素的比例w2 1.0 - w1if w1 0 or w2 0:passelse: # 背景像素的平均灰度值for m in range(i):u1_tem u1_tem PixRate[m] * mu1 u1_tem * 1.0 / w1# 前景像素的平均灰度值for n in range(i, GrayScale):u2_tem u2_tem PixRate[n] * nu2 u2_tem / w2# print(u1)# 类间方差公式Gw1*w2*(u1-u2)**2tem_var w1 * w2 * np.power((u1 - u2), 2)# print(tem_var)# 判断当前类间方差是否为最大值。if Max_var tem_var:Max_var tem_var # 深拷贝Max_var与tem_var占用不同的内存空间。th ireturn thdef main():img cv2.imread(6.jpg, 0)# 将图片转为灰度图th OTSU(img, 256)print(使用numpy的方法 str(th)) # 结果为 136main() 然后是基于cv2的OTSU实现cv2可直接指定使用 import cv2 import matplotlib.pylab as pltdef main2():img cv2.imread(6.jpg, 0)ret, thresh1 cv2.threshold(img, 0, 255, cv2.THRESH_OTSU)print(ret) # 结果是135.0titles [Original Image, After Binarization]images [img, thresh1]for i in range(2):plt.subplot(1, 2, i1)plt.imshow(images[i], gray)plt.title(titles[i])plt.xticks([])plt.yticks([])plt.show()main2()
http://wiki.neutronadmin.com/news/425199/

相关文章:

  • 常见的网站名称有哪些做五金生意什么网站做比较好
  • 做网站要怎么找单江苏省和住房城乡建设厅网站
  • 酒店网站建设工作wordpress 侧边栏位置
  • 郑州cms建站模板二次开发机器人
  • 高清做网站插图wordpress页眉页脚
  • 网站备案跟网安备案区别昆山建设信息网站
  • wordpress导入数据ftp整站优化快速排名
  • 创意网站开发企业网站开发公司tahmwlkj
  • 网站建设洽谈问题六安服装网站建设地址
  • 深圳建设网站哪里好织梦网站是不是容易做seo
  • 重庆模板网站建站wordpress生成pdf
  • 网站域名解析教程怎么开发一个直播app
  • 一家做特卖的网站手机版wordpress主题与演示不一样
  • 济南网站建设的方案企业服务云平台
  • 为什么网站权重会掉wordpress首页发布图片
  • ae模板下载网站推荐申请网站服务器
  • 社交网站可以做亚马逊联盟吗小说网站怎么做原创
  • 网站标题seo做毕设的网站
  • 做网站公司 陕西渭南网站备案要幕布
  • 定制相册哪个网站好钢琴室内设计效果图
  • 彭州做网站的公司多张图片排版设计欣赏
  • 哪个网站可以做视频软件邳州做网站的公司
  • 好听顺口的装修公司名字衡阳企业网站排名优化
  • 郫县网站制作网页设计 网站
  • 展示型外贸网站建设网站建设方案标准模板
  • 邢台做网站可信赖加快政务公开网站建设
  • vs连接数据库做网站网页前端开发用什么软件
  • 重庆低价网站建设推广计划步骤
  • 天津网站排名优化建设银行 上海 招聘网站
  • 网页制作与设计中山网站建设优化