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

网站的优化网络营销的未来6个发展趋势

网站的优化,网络营销的未来6个发展趋势,企业静态网站,做灯箱的网站1、图像阈值 t图像阈值函数,就是需要判断一下像素值大于一个数应该怎么处理,小于一个数应该怎么处理 ret, dst cv2.threshold(src, thresh, maxval, type) 参数解析: src: 原始输入图,只能输入单通道图像&#…

1、图像阈值

t图像阈值函数,就是需要判断一下像素值大于一个数应该怎么处理,小于一个数应该怎么处理 

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

参数解析: 

  • src: 原始输入图,只能输入通道图像,通常来说为灰度图
  • dst: 输出图
  • thresh: 指定的阈值
  • maxval: 当像素值超过了阈值(或者小于阈值,根据type来决定),所赋予的值
  • type:二值化操作的类型,包含以下5种类型: cv2.THRESH_BINARY; cv2.THRESH_BINARY_INV; cv2.THRESH_TRUNC; cv2.THRESH_TOZERO;cv2.THRESH_TOZERO_INV
  • cv2.THRESH_BINARY:超过阈值部分取maxval(最大值),否则取0
    • 如果阈值取150,超过150就会都变成255,否则变为0
  • cv2.THRESH_BINARY_INV:THRESH_BINARY的反转
  • cv2.THRESH_TRUNC:大于阈值部分设为阈值,否则不变
  • cv2.THRESH_TOZERO:大于阈值部分不改变,否则设为0
  • cv2.THRESH_TOZERO_INV:THRESH_TOZERO的反转
import cv2 #opencv读取的格式是BGR
import numpy as np
import matplotlib.pyplot as plt#Matplotlib是RGB# 读取图像为灰度图
img=cv2.imread('cat.jpg')
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)# 五种参数都设置一遍
ret, thresh1 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY)
_, thresh2 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_BINARY_INV)
_, thresh3 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TRUNC)
_, thresh4 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO)
_, thresh5 = cv2.threshold(img_gray, 127, 255, cv2.THRESH_TOZERO_INV)# 存到一个变量中
titles = ['Original Image', 'BINARY', 'BINARY_INV', 'TRUNC', 'TOZERO', 'TOZERO_INV']
images = [img, thresh1, thresh2, thresh3, thresh4, thresh5]# 放到一起画出来
for i in range(6):plt.subplot(2, 3, i + 1), plt.imshow(images[i], 'gray')plt.title(titles[i])plt.xticks([]), plt.yticks([])
plt.show()

这里(ret,thresh)我们基本上只需要第二个参数就行了,输出图:

  • 第一张是原始图像
  • 第二张,所有大于127的区域全部变成了白色
  • 第三张,将第二张进行了翻转
  • 第四张,所有大于127的全部等于127
  • 第五张,小于127全部为0 ,大于127的不变 
  • 第六张,第五张的反转

2、图像平滑 

 图像平滑处理就是对图像进行各种滤波操作,这个和卷积操作有一些相似

首先读取打印原始图像:

import cv2  # opencv读取的格式是BGR
import matplotlib.pyplot as plt  # Matplotlib是RGB
img = cv2.imread('lenaNoise.png')
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

打印的图像: 

可以看到原始图像有很多白色斑点的噪音,接下来用几种不同滤波操作过滤这个噪音点

2.1 均值滤波

实际上是一个简单的平均卷积操作,如下图是一个图像的像素点的矩阵:

比如圈住的这个部分,是一个3*3的区域,对这3*3的9个像素值求出一个均值,然后将中间的204替换成这个均值,那么就完成了204的滤波操作,其他的像素点也是进行这样的操作。当然也可以是一个5*5的区域,只能是奇数。

实现这个操作很简单:

# 均值滤波
# 简单的平均卷积操作
blur = cv2.blur(img, (3, 3))
cv2.imshow('blur', blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

打印结果:

 可以发现白点被淡化了一些,但是还是存在

2.2 方框滤波

基本上和均值滤波一样:

# 方框滤波
# 基本和均值一样,可以选择归一化
box = cv2.boxFilter(img,-1,(3,3), normalize=True)  cv2.imshow('box', box)
cv2.waitKey(0)
cv2.destroyAllWindows()

这里可以选择normalize的取值,当选择和True的时候,和均值滤波没有任何区别。

但是选择False 的时候,容易发生越界的行为

2.3 高斯滤波

高斯滤波也可以叫做高斯均值滤波,它主要对目标像素点的周围的像素点就是加上了一些加权,离它近的就影响大远的就小。比如3*3中,上下左右都是0.8,斜对角的都是0.6的。

# 高斯滤波
# 高斯模糊的卷积核里的数值是满足高斯分布,相当于更重视中间的
aussian = cv2.GaussianBlur(img, (5, 5), 1)  cv2.imshow('aussian', aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

打印结果:

 噪音点看起来比之前的平滑了一些。

 2.4 中值滤波

 这个做法需要,把方框内的值进行从大到小进行排序,把排在中间那个值替换目标像素的值

# 中值滤波
# 相当于用中值代替
median = cv2.medianBlur(img, 5)  # 中值滤波cv2.imshow('median', median)
cv2.waitKey(0)
cv2.destroyAllWindows()

打印结果:

 这个效果非常好

2.5 对比

将所有结果放在一起:

# 展示所有的
res = np.hstack((blur,aussian,median))
#print (res)
cv2.imshow('median vs average', res)
cv2.waitKey(0)
cv2.destroyAllWindows()

 

http://www.wangmingla.cn/news/142214.html

相关文章:

  • html网站开发实例视频wordpress建站公司
  • wordpress 获取数据廊坊seo排名收费
  • 企业网站appseo专业培训seo专业培训
  • 万宁市住房和城乡建设局网站河南百度推广公司
  • 黑龙江建设人员证件查询网站财经新闻每日财经报道
  • 学校网站开发方案模板网络营销发展方案策划书
  • 微信公众号和网站建设方案郑州seo价格
  • 单页滚动网站上海seo优化服务公司
  • 武汉自适应网站站长工具seo综合查询可以访问
  • 做网站h5网站内链优化
  • 网站301重定向$yande搜索引擎官网入口
  • wordpress 100%seo如何建立优化网站
  • 网站制作公司官网首页网络广告的形式有哪些
  • 无锡网站优化建站上海专业的seo推广咨询电话
  • 什么网站做ppt模板小程序拉新推广平台
  • 个人站长网站需要注册公司吗公司网站定制
  • 徐水区城市建设网站无限制搜索引擎排名
  • 阿里云做电影网站真人seo点击平台
  • python django 做 网站成都优化网站哪家公司好
  • 宁波网站建设托管网络推广视频
  • wordpress文章排序太原seo全网营销
  • 公司网站 设计方案长沙关键词优化推荐
  • 政府网站建设和管理建议网络营销成功案例ppt免费
  • 东莞网站制作十年乐云seo百度seo入驻
  • 网站显示速度的代码搜索引擎优化方式
  • 盐城专业做网站的公司哪家好一媒体app软件下载老版本
  • 收到网站代码后怎么做谷歌搜索引擎香港免费入口
  • jsp动态网站开发赵增敏360安全浏览器
  • 做的网站怎么测试工具什么是seo教程
  • 石家庄网站制作招聘如何在手机上建立自己的网站