【计算机视觉】不来试试图片轮廓提取?

这篇具有很好参考价值的文章主要介绍了【计算机视觉】不来试试图片轮廓提取?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


🚩 前言

最近学到了深度学习的卷积操作,在卷积神经网络出现之前,就已经有使用卷积核 (也叫滤波器),但那时的卷积核依靠人工的经验和知识来进行设计,而不能像卷积神经网络中那样让机器自己学习出合适的卷积核参数。

下面就介绍通过卷积来获取图像轮廓图的操作。


🍈 边缘提取原理

卷积

首先,图片是由像素点构成的。卷积的一个基本操作就是对应元素相乘然后再求和的操作,然后卷积核窗口在图片上不断滑动,就会得到一张新的“特征图”。 (我这里解释得比较草率,可以自行仔细了解一下卷积的过程)

用特殊的卷积核进行轮廓提取

这里使用一维的卷积核 [-1, 0, 1],可以提取图片的垂直边界。实际就是图片中邻近的像素点进行相减操作,边缘处两个像素点的差别很大,于是相减之后得到的值的绝对值就大,这就是我们提取出来的边缘

【计算机视觉】不来试试图片轮廓提取?
效果展示
【计算机视觉】不来试试图片轮廓提取?

通过改变卷积核的大小,可以改变提取出来的边缘的宽度,例如将卷积核改为:[-1, 0, 0, 1],得到的黑色边缘就更宽了。

【计算机视觉】不来试试图片轮廓提取?


🍏 开始轮廓提取

这里使用下图中的卷积核,原理和之前的垂直边缘检测相似。前面的卷积核只能得到垂直边缘,而下图的卷积核则能得到完整的轮廓

【计算机视觉】不来试试图片轮廓提取?
效果展示
【计算机视觉】不来试试图片轮廓提取?

代码

我这里卷积是通过 paddle 的库实现的,因此需要先安装 paddle。安装教程参加:paddle安装教程。
如果觉得安装太麻烦也没关系,可以试试 AI Studio 的在线环境,已经内置了 paddle 库:AI Studio。点击项目->创建项目,就可以开始使用啦!

导入依赖:

import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import paddle
from paddle.nn import Conv2D
from paddle.nn.initializer import Assign

通过调整代码img = img.resize((200, 200), Image.ANTIALIAS)括号中的数值,你将得到不同的轮廓提取效果!(数值控制图片的尺寸)
卷积核不变时,图片尺寸越大,提取的轮廓也就相对显得越细,就越不明显。而图片尺寸小时又会显得模糊,像打了马赛克。

运行代码:

# 输入图片
img = Image.open('喵喵头像.jpg')  # 图片放在py文件相同目录下
img = img.resize((200, 200), Image.ANTIALIAS)  # 采样,以得到指定大小的图片

# 设置卷积核参数
w = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]], dtype='float32')/8
w = w.reshape([1, 1, 3, 3])
w = np.repeat(w, 3, axis=1)  # 在通道上复制,得到[1,3,3,3]

# 创建卷积算子
conv = Conv2D(in_channels=3, out_channels=1, kernel_size=[3, 3],
              weight_attr=paddle.ParamAttr(
                  initializer=Assign(value=w)
              ))

# 转换图片格式
x = np.array(img).astype('float32')  # 读入shape[H,W,C]
x = np.transpose(x, (2, 0, 1))  # 交换维度
x = x.reshape((1, x.shape[-3], x.shape[-2], x.shape[-1]))  # Conv2D的输入需为四维张量
x = paddle.to_tensor(x)

# 卷积运算
y = conv(x)
out = y.numpy()

# 画图
plt.figure(figsize=(20, 10))
f = plt.subplot(121)
f.set_title('input image', fontsize=15)
plt.imshow(img)
f = plt.subplot(122)
f.set_title('output image', fontsize=15)
plt.imshow(out.squeeze(), cmap='gray')

plt.show()


14天学习训练营导师课程:
杨鑫《Python 自学编程基础》
杨鑫《 Python 网络爬虫基础》
杨鑫《 Scrapy 爬虫框架实战和项目管理》文章来源地址https://www.toymoban.com/news/detail-404380.html

到了这里,关于【计算机视觉】不来试试图片轮廓提取?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 矩阵分析与计算机视觉:从特征提取到对象识别

    计算机视觉是人工智能领域的一个重要分支,它涉及到计算机对图像和视频等多媒体数据进行处理和理解的技术。矩阵分析是线性代数的一个重要分支,它涉及到矩阵的运算、分解、求解等方面。在计算机视觉中,矩阵分析起到了关键的支持作用,因为图像和视频数据都可以

    2024年01月19日
    浏览(30)
  • 计算机视觉:通过边缘检测探究卷积的特征提取功能

    在前面的课程中,我们学习了卷积核的运算,同时我们也学习了卷积核的含义,我们可以将卷积核理解为特征提取器,也就是说一个卷积核就是一个特征提取器,很多人对这种说法不了解,下面我们就通过一个边缘检测的例子来看一下卷积核是如何进行边缘特征的提取的。

    2024年02月13日
    浏览(27)
  • 【计算机视觉】图像分割与特征提取——频域增强(低通滤波&高通滤波)

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年01月15日
    浏览(41)
  • 【计算机视觉】图像分割与特征提取——基于Log、Canny的边缘检测

    个人简介:  📦个人主页:赵四司机 🏆学习方向:JAVA后端开发  ⏰往期文章:SpringBoot项目整合微信支付 🔔博主推荐网站:牛客网 刷题|面试|找工作神器 📣种一棵树最好的时间是十年前,其次是现在! 💖喜欢的话麻烦点点关注喔,你们的支持是我的最大动力。 前言:

    2024年02月03日
    浏览(25)
  • 【计算机视觉】图片文件格式的讲解

    图片文件格式有可能会对图片的文件大小进行不同程度的压缩,图片的压缩分为有损压缩和无损压缩两种。 有损压缩。指在压缩文件大小的过程中,损失了一部分图片的信息,也即降低了图片的质量,并且这种损失是不可逆的,我们不可能从有一个有损压缩过的图片中恢复出

    2024年02月09日
    浏览(32)
  • 计算机视觉的应用12-卷积神经网络中图像特征提取的可视化研究,让大家理解特征提取的全过程

    大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用12-卷积神经网络中图像特征提取的可视化研究,让大家理解特征提取的全过程。 要理解卷积神经网络中图像特征提取的全过程,我们可以将其比喻为人脑对视觉信息的处理过程。就像我们看到一个物体时,大脑会通

    2024年02月10日
    浏览(32)
  • 计算机视觉与深度学习-卷积神经网络-卷积&图像去噪&边缘提取-图像去噪 [北邮鲁鹏]

    计算机视觉与深度学习-04-图像去噪卷积-北邮鲁鹏老师课程笔记 噪声点,其实在视觉上看上去让人感觉很难受,直观理解就是它跟周围的像素点差异比较大,显得比较突兀,视觉看起来很不舒服,这就是噪声点。 黑丝像素和白色像素随机出现 白色像素随机出现 使用高斯卷积

    2024年02月07日
    浏览(30)
  • python基于OpenCV预测图片中目标的实际尺寸(计算机视觉)

    本次实验需要根据已知的硬币的直径,预测图片中书本的长与宽以及书本右上方用铅笔画的圆圈的外圆直径。可以先对图片进行矫正,找到硬币的轮廓并计算硬币直径占据的像素大小,进而得到实际尺寸和像素的比例系数,然后找到书本和铅笔绘制的圆圈的轮廓,再根据它们

    2024年02月03日
    浏览(37)
  • 【计算机视觉 CV】常用的图像(图片)处理工具汇总【新加坡南洋理工】

    OpenCV的全称是 Intel Open Source Computer Vision Library for C++ ,官网: OpenCV官网 Matlab提供的机器视觉工具箱,全称是 Machine Vision Toolbox for Matlab ,官网: Matlab MV Toolbox官网 Matlab和加州理工提供的相机校正工具箱,全称是 Camera Calibration Toolbox for Matlab ,官网: CC Toolbox官网 Matlab提供的

    2024年04月15日
    浏览(32)
  • 【python-Unet】计算机视觉~舌象舌头图片分割~机器学习(三)

    返回至系列文章导航博客 完整项目下载:下载链接 【闲鱼】https://m.tb.cn/h.52C8psW?tk=fMpwdwfqjz3 CZ3457 「我在闲鱼发布了【舌象数据集,详情见csdn!http://t.csdn.cn】」 点击链接直接打开 舌体分割是舌诊检测的基础,唯有做到准确分割舌体才能保证后续训练以及预测的准确性。此部

    2023年04月20日
    浏览(84)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包