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

如何提高网站点击率建设工程人力资源网查询平台

如何提高网站点击率,建设工程人力资源网查询平台,网站设置不安全,运营和营销有什么区别本文主要介绍如何使用Python和OpenCV库通过卷积操作来应用不同的图像滤波效果。主要分为几个步骤#xff1a;图像的读取与处理、自定义卷积函数的实现、不同卷积核的应用#xff0c;以及结果的展示。 卷积 在图像处理中#xff0c;卷积是一种重要的操作#xff0c;它通过…本文主要介绍如何使用Python和OpenCV库通过卷积操作来应用不同的图像滤波效果。主要分为几个步骤图像的读取与处理、自定义卷积函数的实现、不同卷积核的应用以及结果的展示。 卷积 在图像处理中卷积是一种重要的操作它通过将图像与一个小的矩阵称为卷积核或滤波器进行运算来影响图像的各种属性。这种操作可以用于实现模糊、锐化、边缘检测等效果。今天我们将探讨如何在Python中使用OpenCV库来自定义卷积核并将其应用于图像处理任务中。 图像的读取与处理 首先我们需要读取一张图像并将其转换成灰度图因为在这个例子中我们将使用灰度图像来简化处理过程 image cv2.imread(args[image]) gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)自定义卷积函数的实现 接下来我们实现一个名为convolve的函数该函数接收一个图像和一个卷积核作为输入并返回卷积后的结果。在这个过程中我们通过为图像添加边界然后对每个像素应用卷积核来完成卷积操作 def convolve(image, kernel):# 输入图像和核的尺寸(iH, iW) image.shape[:2](kH, kW) kernel.shape[:2]# 选择pad卷积后图像大小不变pad (kW - 1) // 2# 重复最后一个元素top, bottom, left, rightimage cv2.copyMakeBorder(image, pad, pad, pad, pad,cv2.BORDER_REPLICATE)output np.zeros((iH, iW), dtypefloat32)# 卷积操作for y in np.arange(pad, iH pad):for x in np.arange(pad, iW pad):# 提取每一个卷积区域roi image[y - pad:y pad 1, x - pad:x pad 1]# 内积运算k (roi * kernel).sum()# 保存相应的结果output[y - pad, x - pad] k# 将得到的结果放缩到[0, 255]output rescale_intensity(output, in_range(0, 255))output (output * 255).astype(uint8)return output不同卷积核的应用 为了展示不同的图像处理效果我们定义了几种不同的卷积核 **小模糊Small Blur和大模糊Large Blur**用于创建模糊效果。**锐化Sharpen**卷积核可以使图像看起来更清晰。**拉普拉斯Laplacian和索贝尔Sobel**卷积核用于边缘检测。 smallBlur np.ones((7, 7), dtypefloat) * (1.0 / (7 * 7)) largeBlur np.ones((21, 21), dtypefloat) * (1.0 / (21 * 21)) # 尝试不同的卷积核 sharpen np.array(([0, -1, 0],[-1, 5, -1],[0, -1, 0]), dtypeint)laplacian np.array(([0, 1, 0],[1, -4, 1],[0, 1, 0]), dtypeint)sobelX np.array(([-1, 0, 1],[-2, 0, 2],[-1, 0, 1]), dtypeint)sobelY np.array(([-1, -2, -1],[0, 0, 0],[1, 2, 1]), dtypeint)# 尝试不同结果 kernelBank ((small_blur, smallBlur),(large_blur, largeBlur),(sharpen, sharpen),(laplacian, laplacian),(sobel_x, sobelX),(sobel_y, sobelY) )# 更多卷积核...结果的展示 最后我们遍历每一个卷积核将其应用于原始图像并显示结果 for (kernelName, kernel) in kernelBank:convoleOutput convolve(gray, kernel)opencvOutput cv2.filter2D(gray, -1, kernel)# 展示结果# 分别展示结果cv2.imshow(original, gray)cv2.imshow({} - convole.format(kernelName), convoleOutput)cv2.imshow({} - opencv.format(kernelName), opencvOutput)cv2.waitKey(0)cv2.destroyAllWindows()可以看到卷积核在图像处理中的强大作用以及如何通过调整卷积核来实现不同的视觉效果。 完整代码 # 导入工具包 from skimage.exposure import rescale_intensity import numpy as np import argparse import cv2def convolve(image, kernel):# 输入图像和核的尺寸(iH, iW) image.shape[:2](kH, kW) kernel.shape[:2]# 选择pad卷积后图像大小不变pad (kW - 1) // 2# 重复最后一个元素top, bottom, left, rightimage cv2.copyMakeBorder(image, pad, pad, pad, pad,cv2.BORDER_REPLICATE)output np.zeros((iH, iW), dtypefloat32)# 卷积操作for y in np.arange(pad, iH pad):for x in np.arange(pad, iW pad):# 提取每一个卷积区域roi image[y - pad:y pad 1, x - pad:x pad 1]# 内积运算k (roi * kernel).sum()# 保存相应的结果output[y - pad, x - pad] k# 将得到的结果放缩到[0, 255]output rescale_intensity(output, in_range(0, 255))output (output * 255).astype(uint8)return output# 指定输入图像 ap argparse.ArgumentParser() ap.add_argument(-i, --image, defaultlanpangzi.jpg,helppath to the input image) args vars(ap.parse_args())# 分别构建两个卷积核 smallBlur np.ones((7, 7), dtypefloat) * (1.0 / (7 * 7)) largeBlur np.ones((21, 21), dtypefloat) * (1.0 / (21 * 21))# 尝试不同的卷积核 sharpen np.array(([0, -1, 0],[-1, 5, -1],[0, -1, 0]), dtypeint)laplacian np.array(([0, 1, 0],[1, -4, 1],[0, 1, 0]), dtypeint)sobelX np.array(([-1, 0, 1],[-2, 0, 2],[-1, 0, 1]), dtypeint)sobelY np.array(([-1, -2, -1],[0, 0, 0],[1, 2, 1]), dtypeint)# 尝试不同结果 kernelBank ((small_blur, smallBlur),(large_blur, largeBlur),(sharpen, sharpen),(laplacian, laplacian),(sobel_x, sobelX),(sobel_y, sobelY) )# 简单起见用灰度图来玩 image cv2.imread(args[image]) gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 遍历每一个核 for (kernelName, kernel) in kernelBank:print([INFO] applying {} kernel.format(kernelName))convoleOutput convolve(gray, kernel)# -1 表示深度一致opencvOutput cv2.filter2D(gray, -1, kernel)# 分别展示结果cv2.imshow(original, gray)cv2.imshow({} - convole.format(kernelName), convoleOutput)cv2.imshow({} - opencv.format(kernelName), opencvOutput)cv2.waitKey(0)cv2.destroyAllWindows()
http://www.sczhlp.com/news/178757/

相关文章:

  • 门户网站代码结构数据库查询网站模板
  • 网站后台上传图片做难吗?有没有做淘宝网站的
  • 个人微信机器人开发指南!API接口轻松上手
  • 外设知识学习笔记
  • “你好BOE”再度携非遗与当代设计亮相米兰 以科技之力向世界展现东方美学
  • 网站开发可能遇到的问题wordpress商城平台
  • 商务网站主页设计公司互联网营销师培训内容
  • 海珠做网站ps外包网站
  • 建好网站后最怎么维护wordpress资源管理
  • 常州建设局官方网站静态网站模版
  • 创建一个自己的网站无锡网络公司网站建设app微信公众号平
  • wordpress建m域名网站噼里啪啦完整版高清免费观看
  • 宝塔软件怎么做网站用ps设计网页页面步骤
  • 网站统计关键词浙江城乡建设部网站首页
  • 长沙自适应网站制作做网站前台后台是怎么连接的
  • 廉江网站建设wordpress所有文章404
  • nas可以做网站服务器自动外链网址
  • 湛江网站设计软件建设英文网站的公司
  • 长沙做网站公司在电脑上怎么建设网站
  • 如何做网站推广 求指点wordpress插件升级
  • 无形资产 网站开发网页制作入门基础教程
  • 怎么制做网站淮南市招标投标信息网
  • 盐城市建设局网站设计备案资料网站建设 电脑 手机
  • 台州企业网站seo免费做 爱视频网站
  • 正规建网站企业建设网站企业网银登录
  • 东莞家用台灯东莞网站建设高级网页设计师培训班
  • 网站免费模版代码建设工程信息网为官方网站
  • 做旅游地产的网站和公司杭州外贸网站建设公司价格
  • 鹤壁建设网站推广渠道家居网站建设公司
  • 怎么学习制作网站轻松筹网站可以做吗