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

一个网站做数据维护需要多久局域网网站开发

一个网站做数据维护需要多久,局域网网站开发,早晨设计公司官网,基于大数据的精准营销目录 简单阈值 自适应阈值 Otsu的二值化 所谓的图像阈值,就是图像二值化,什么是二值化,就是只有0和1,没有其他的。在OpenCV的图像里面,二值化表示图像的像素为0和255,并没有其他的值,它跟灰度…

    

目录

简单阈值

自适应阈值

Otsu的二值化


        所谓的图像阈值,就是图像二值化,什么是二值化,就是只有0和1,没有其他的。在OpenCV的图像里面,二值化表示图像的像素为0和255,并没有其他的值,它跟灰度化并不同。然而要想实现二值化,就最好先对图像进行灰度化处理,因为我们需要的图像不能具备GBR三元通道。

简单阈值

 retval, dst = cv2.threshold (src, thresh, maxval, type)

src:源图像,8位或32位图像的numpy数组
 thresh:阈值,0-255之间的数字,在进行处理时以阈值为边界来设不同的输出,阈值判断时,是以小于等于阈值和大于阈值作为分界条件
 maxval:最大阈值,当使用固定阈值方法时为指定阈值,当叠加标记时为允许最大的阈值,算法必须在小于该值范围内计算合适的阈值
 type:处理方式,具体取值及含义如下

import cv2 as cv
import numpy as np
from matplotlib import pyplot as plt
img = cv.imread('gradient.png',0)
ret,thresh1 = cv.threshold(img,127,255,cv.THRESH_BINARY)
ret,thresh2 = cv.threshold(img,127,255,cv.THRESH_BINARY_INV)
ret,thresh3 = cv.threshold(img,127,255,cv.THRESH_TRUNC)
ret,thresh4 = cv.threshold(img,127,255,cv.THRESH_TOZERO)
ret,thresh5 = cv.threshold(img,127,255,cv.THRESH_TOZERO_INV)
titles = ['Original Image','BINARY','BINARY_INV','TRUNC','TOZERO','TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]
for i in xrange(6):plt.subplot(2,3,i+1),plt.imshow(images[i],'gray')plt.title(titles[i])plt.xticks([]),plt.yticks([])
plt.show()

  

自适应阈值

dst = cv2.adaptiveThreshold( src, maxValue,adaptiveMethod ,thresholdType,blockSize,C)

adaptiveMethod包含cv2.ADAPTIVE_THRESH_MEAN_C和cv2.ADAPTIVE_THRESH_GAUSSIAN_C两种不同的方法。
这两种方法都是逐个像素地计算自适应阈值,阈值等于每个像素由参数blockSize所指定邻域的加权平均值减去常量C。
cv2.ADAPTIVE_THRESH_MEAN_C:邻域所有像素点的权重值是一致的。
cv2.ADAPTIVE_THRESH_GAUSSIAN_C:与邻域各个像素点到中心点的距离有关,通过高斯方程得到各个点的权重值。

在去除背景提取前景方面,自适应阈值函数要有效很多。

import cv2
img=cv2.imread ( "computer.png",0)		#将图像调整为单通道的灰度图像
t1,thd=cv2.threshold (img,127,255,cv2.THRESH_BINARY)
athdMEAN=cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_MEAN_C,cv2.THRESH_BINARY,5,3)  #采用方法ADAPTIVE_THRESH_MEAN_C
athdGAUS=cv2.adaptiveThreshold(img,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,5,3)
cv2.imshow ("img",img)
cv2.imshow ("thd",thd)
cv2.imshow ("athdMEAN",athdMEAN)
cv2.imshow ("athdGAUS",athdGAUS)
cv2.waitKey ()
cv2.destroyAllWindows ()

 

Otsu的二值化

在全局阈值处理中,我们使用任意值作为阈值,那么,我们如何知道我们选择的值是好还是不好?

答案是,试错法。但如果是双峰图像(简单来说,双峰图像是直方图有两个峰值的图像)我们可以将这些峰值中间的值近似作为阈值,这就是Otsu二值化的作用。简单来说,它会根据双峰图像的图像直方图自动计算阈值。(对于非双峰图像,二值化不准确。)

为此,使用了我们的cv.threshold()函数,但是需要多传递一个参数cv.THRESH_OTSU。这时要吧阈值设为零。然后算法找到最佳阈值并返回第二个输出retVal。如果未使用Otsu二值化,则retVal与你设定的阈值相同。

请查看以下示例。输入图像是嘈杂的图像。在第一种情况下,我将全局阈值应用为值127。在第二种情况下,我直接应用了Otsu的二值化。在第三种情况下,我使用5x5高斯卷积核过滤图像以消除噪声,然后应用Otsu阈值处理。来看看噪声过滤如何改善结果。
 

import cv2 as cv
import numpy as np
from matplotlib import pyplot as pltimg = cv.imread(r'pictures\noisy2.png')
gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)#global thresholding
ret1,binary1 = cv.threshold(gray,127,255,cv.THRESH_BINARY)
#Otsu's thresholding
ret2,binary2 = cv.threshold(gray,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)
#Otsu's thresholding after Gaussian filtering
blur = cv.GaussianBlur(gray,(5,5),0)
ret3,binary3 = cv.threshold(blur,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU)
# cv.imshow('binary1',binary1)
# cv.imshow('binary2',binary2)
# cv.imshow('blur',blur)
# cv.imshow('binary3',binary3)
#Plot all the images and their histograms
images = [img,0,binary1,img,0,binary2,blur,0,binary3]
titles = ['original noisy image','histogram','global threshold(val=127)','original noisy image','histogram',"Otsu's threshold",'Gaussian filter image','histogram',"Otsu's threshold(Gaussian)"]
"""
使用pyplot中画直方图的方法plt.hist(),注意它的参数是一维数组
故使用numpy的ravel()方法或者flatten()方法, 将多维数组转为一维数组
#for循环每次打印出一行3幅图
"""
for i in range(3):plt.subplot(3,3,i*3+1),plt.imshow(images[i*3],'gray')    #plt,imshow(img,'gray') 灰度图plt.title(titles[i*3]),plt.xticks(()),plt.yticks(())plt.subplot(3,3,i*3+2),plt.hist(images[i*3].flatten(),256)plt.title(titles[1]),plt.xticks(()),plt.yticks(())plt.subplot(3,3,i*3+3),plt.imshow(images[i*3+2],'gray')plt.title(titles[2]),plt.xticks(()),plt.yticks(())plt.show()

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

相关文章:

  • 广西做网站公司公司网站建设方案详细方案模板
  • 网站建设催款函网站分屏布局设计
  • 东莞微网站制作公司全网营销建设网站
  • 微信公众号对接网站做wordpress调取缩略图
  • 网站建设费用如何做账务处理有那些方法推广网站
  • 长沙做痔疮东大医院de网站北京seo优化诊断
  • 网站建设后续需要维护wordpress for android
  • 网上做平面设计的网站网站内页修改关键字
  • 阿里巴巴网站导航栏怎么做公司核名在哪个官方网站
  • 衡阳网站建设 千度网络复古传奇网页版游戏
  • 有没有专门做教程的网站如何建设自己的企业网站
  • 泰安网站建设哪家好网络维护协议
  • 做外贸自己公司的网站一定要吗网站怎么建设好看
  • 中国风网站表现软件开发app制作
  • 自己做的网站怎样对接支付宝贵城乡建设官方网站
  • C语言做网站需要创建窗口吗爱采购
  • 运动服饰网站建设预算公众号软文范例100
  • 淘宝的网站怎么做的好百度推广培训机构
  • 站内推广方式有哪些ai做网站 如何切图
  • 网站建设经费预算沈阳前端好找工作吗
  • 宁波模板建站多少钱旅游网络网站建设方案
  • 企业网站都有哪些石家庄建设厅官方网站
  • 做网站怎么做多少钱网站建设项目验收意见
  • 整站优化seo排名点击zencart 网站安装
  • 资源网站平台建设方案wordpress 客户端源码
  • 宝丰网站制作公司遂宁网站建设
  • 成都集团网站设计推荐网页与制作
  • 苏州市网站建设服务网站建设的常用词
  • apache网站开启gzip财经网站模板
  • 网站内网页标题对百度排名郑州好的建网站公司