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

永湖网站建设网站制作首选 新鸿儒

永湖网站建设,网站制作首选 新鸿儒,台州seo全网营销,中国企业报官网1.为什么要进行图像预处理#xff1f; \qquad当对图像进行边缘、轮廓的检测时#xff0c;图像噪声会对检测产生不利影响#xff0c;并且为了帮助模型专注于一般细节并获得更高的准确度#xff0c;我们需要对图像进行预处理。 \qquad预处理的内容有去除噪声#xff0c;控制…1.为什么要进行图像预处理 \qquad当对图像进行边缘、轮廓的检测时图像噪声会对检测产生不利影响并且为了帮助模型专注于一般细节并获得更高的准确度我们需要对图像进行预处理。 \qquad预处理的内容有去除噪声控制像素值得强度一般的处理技巧有模糊(Blurring)、阈值(thresholding)、形态转换(morphological transformation)等。 2.模糊 \qquad模糊的主要目的是为了降噪比如当边缘检测算法应用于高分辨率的图像时会获得很多我们并不感兴趣的内容这时候我们需要模糊进行降噪。当对图像进行模糊处理时需要寻找合适的模糊量模糊量太少则有太多噪声模糊量太多会丢失我们需要的数据。 \qquadOpenCV中常用四种模糊的技术平均模糊、高斯模糊、中值模糊和双边滤波模糊。 \qquad这四种模糊技术的原理相同使用滤波器内核对图像进行卷积运算。但是各个模糊技术之间使用的滤波器不同比如平均模糊首先计算内核区域下的平均值然后把平均值替换内核区域的中心值。当内核区域变大时图像会更模糊。 \qquad为了验证kernel区域越大图像越模糊。我们设定当kernel的大小为5×\times× 511×\times× 11 , 15×\times× 15对图像进行卷积运算然后比较各个图像的模糊程度。 import cv2 import matplotlib.pyplot as plt#读取图像并将图像矩阵修改为RGB颜色模式 img cv2.imread(../animal.jpg) img cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#标题中文显示设置 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False#绘制四张图依次为原图内核大小为5*5,11*11,15*15 #原图 plt.subplot(221) plt.imshow(img) plt.title(原图)#内核大小为5*5 plt.subplot(222) img_blurred cv2.blur(img,ksize(5,5)) plt.imshow(img_blurred) plt.title(kernel 5*5)#内核大小为11*11 plt.subplot(223) img_blurred cv2.blur(img,ksize(11,11)) plt.imshow(img_blurred) plt.title(kernel 11*11)#内核大小为15*15 plt.subplot(224) img_blurred cv2.blur(img,ksize(15,15)) plt.imshow(img_blurred) plt.title(kernel 15*15)plt.show()\qquad运行结果: \qquad高斯模糊高斯模糊的kernel值是由高斯函数生成即内核值服从高斯分布。双边滤波模糊具有去除噪音同时保持边缘清晰。把四种模糊技术进行对比。 import cv2 import matplotlib.pyplot as plt#读取图像并将图像矩阵修改为RGB颜色模式 img cv2.imread(F:/animal.jpg) img cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#标题中文显示设置 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False#平均模糊 plt.subplot(221) img_0 cv2.blur(img, ksize (7, 7)) plt.imshow(img_0) plt.title(平均滤波)#高斯模糊 plt.subplot(222) img_1 cv2.GaussianBlur(img, ksize (7, 7), sigmaX 0) plt.imshow(img_1) plt.title(高斯模糊)#中值模糊 plt.subplot(223) img_2 cv2.medianBlur(img, 7) plt.imshow(img_0) plt.title(中值模糊)#双边滤波模糊 plt.subplot(224) img_3 cv2.bilateralFilter(img, 7, sigmaSpace 75, sigmaColor 75) plt.imshow(img_0) plt.title(双边滤波模糊)plt.show()\qquad运行结果 3.阈值 \qquad阈值处理就是将图像转换为二进制图像。有五种不同的阈值处理方式二进制二进制的逆阈值为零阈值到零的倒数和阈值截断。比较五种不同的阈值处理。 import cv2 import matplotlib.pyplot as plt#读取图像并将图像矩阵修改为RGB颜色模式 img cv2.imread(F:/animal.jpg) img cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#标题中文显示设置 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] Falseplt.subplot(231) plt.imshow(img) plt.title(原图)plt.subplot(232) _, thresh_0 cv2.threshold(img, 127, 255, cv2.THRESH_BINARY) plt.imshow(thresh_0) plt.title(二进制)plt.subplot(233) _, thresh_1 cv2.threshold(img, 127, 255, cv2.THRESH_BINARY_INV) plt.imshow(thresh_1) plt.title(二进制的逆)plt.subplot(234) _, thresh_2 cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO) plt.imshow(thresh_2) plt.title(阈值为零)plt.subplot(235) _, thresh_3 cv2.threshold(img, 127, 255, cv2.THRESH_TOZERO_INV) plt.imshow(thresh_3) plt.title(阈值到零的倒数)plt.subplot(236) _, thresh_4 cv2.threshold(img, 127, 255, cv2.THRESH_TRUNC) plt.imshow(thresh_4) plt.title(阈值截断)plt.show()\qquad运行结果 4.形态转换 \qquad形态转换通过过滤来处理对象。过滤器的形状可以为矩形(rectangle)椭圆形(ellipse)十字形(cross)。形态转换的技术有侵蚀膨胀等。下面以侵蚀形态转换为例比较三种形状过滤器的效果。 import cv2 import matplotlib.pyplot as plt import numpy as np#读取图像并将图像矩阵修改为RGB颜色模式 img cv2.imread(F:/animal.jpg) img cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#标题中文显示设置 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False#原图 plt.subplot(221) plt.imshow(img) plt.title(原图)#矩形 plt.subplot(222) kernel_0 np.ones((9, 9)) img1 cv2.erode(img, kernel_0, iterations 3) plt.imshow(img1) plt.title(矩形)#椭圆 plt.subplot(223) kernel_1 cv2.getStructuringElement(cv2.MORPH_ELLIPSE, (9, 9)) img2 cv2.erode(img,kernel_1,iterations3) plt.imshow(img2) plt.title(椭圆)#十字形 plt.subplot(224) kernel_2 cv2.getStructuringElement(cv2.MORPH_CROSS, (9, 9)) img3 cv2.erode(img,kernel_2,iterations3) plt.imshow(img3) plt.title(十字形)plt.show()\qquad运行结果 5.边缘检测 \qquad使用cv2.Canny()函数进行边缘检测。 import cv2 import matplotlib.pyplot as plt#读取图像 img cv2.imread(F:/dog.jpg) img_color cv2.cvtColor(img,cv2.COLOR_BGR2RGB) img_gray cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#标题中文显示设置 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] Falseplt.subplot(221) plt.imshow(img_color) plt.title(原图)plt.subplot(222) canny1 cv2.Canny(img_gray, 50, 150) plt.imshow(canny1,cmapgray)plt.subplot(223) canny2 cv2.Canny(img_gray, 100, 200) plt.imshow(canny2,cmapgray)plt.subplot(224) canny3 cv2.Canny(img_gray, 150, 250) plt.imshow(canny3,cmapgray)plt.show()\qquad运行结果 参考链接Basic Operations on Images \qquad \qquadMorphology \qquad \qquadDrawing Functions in OpenCV
http://www.pierceye.com/news/620051/

相关文章:

  • 怎么把网站推广wordpress 百万数据
  • 乐陵市人力资源中心网站网站的内容和功能
  • wordpress网站搬家图片路径做网站的算什么行业
  • 个人网站logo重庆网络优化平台
  • 河南 网站建设静态网站是什么意思
  • 上海正规做网站公司电话基于flash网站设计
  • 每个城市建设规划在哪个网站wordpress 无法安装主题
  • 自建网站做外贸谷歌推广网站内部资源推广方法
  • 网站数据库5g一个人看的免费视频高清直播
  • 怎么做网站注册推广泰州网站建设费用
  • 找南阳建立网站的公司网址大全最新版的
  • 网站建设与维护就业前景小程序开发外包注意事项
  • 胶州网站建设哪里有天润网站建设
  • 网站备案 怎么加搜索引擎网站建设
  • 做外贸自己开公司网站网站建设三个友好
  • 深圳高端品牌网站设计网站建设实训报告收获
  • 万虹点读机如何做系统下载网站网站seo的重要性
  • 同一家公司可以做几个网站吗铁岭网站开发公司
  • 网站推广费用大概需要多少钱个人二级网站怎么做
  • 查询企业的网站有哪些山东平台网站建设找哪家
  • 如何推广外贸型网站wordpress本地环境迁移
  • 网站建设国内外现状网站建设公司 网络服务
  • 百度网站首页福田时代汽车官方网站
  • 网站建设智推网深圳进出口贸易有限公司
  • 网站开发语言pwordpress v4.9.5
  • 东莞建站模板源码东莞注塑切水口东莞网站建设
  • 做文案策划需要看什么网站服装网站开发目的
  • 湖北定制型网站建设微信公众平台网页版
  • 需要做网站的公司有哪些免费网页模板之家
  • 淘客网站怎么备案合肥在线官网