计算机视觉任务图像预处理之去除图像中的背景区域-------使用连通域分析算法(包含完整代码)

这篇具有很好参考价值的文章主要介绍了计算机视觉任务图像预处理之去除图像中的背景区域-------使用连通域分析算法(包含完整代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原理

通过连通域分析算法能够找到最大的连通域,即图片的主体部分,然后保存该连通域的最小外接矩阵,即可去除掉无关的背景区域

代码

'''
使用连通域分析算法去除图像中的空白部分
并将图像变为统一大小的正方形
'''

from skimage import measure
import skimage
import numpy as np
import os
import cv2

current_path = os.path.abspath(__file__)
# 待处理图片的路径
image_father_path = current_path.split('src')[0] + 'datapath'
files = os.listdir(image_father_path)
# 保存处理后的图片的路径
save_path = current_path.split('src')[0] + 'datapath'
if not os.path.exists(save_path):
    os.mkdir(save_path)
i=0
for image in files:
    # if i==2:
    #     break
    raw_image = cv2.imread(f'{image_father_path}\\{image}')
    # 1. 二值化
    gray_image = cv2.cvtColor(raw_image, cv2.COLOR_BGR2GRAY)
    ret, binary_image = cv2.threshold(gray_image, 1, 255, cv2.THRESH_BINARY)
    # 2. 连通域分析
    labels = measure.label(binary_image, connectivity=2)
    # 3. 找出最大的连通域
    properties = measure.regionprops(labels)
    max_area = 0
    i+=1
    print(len(properties))
    for prop in properties:
        print(prop.bbox, prop.area)
        if prop.area > max_area:
            max_area = prop.area
            max_prop = prop
    # 4. 找出最大连通域的最小外接矩形
    minr, minc, maxr, maxc = max_prop.bbox
    print(minr, minc, maxr, maxc)
    # 5. 将最小外接矩形的区域保存下来
    crop_image = raw_image[minr:maxr, minc:maxc]
    
    # 将图片变为统一大小的正方形
    crop_image = cv2.resize(crop_image, (224, 224))
    # 6. 保存图片
    cv2.imwrite(f'{save_path}\\{image.split(".")[0]}.png', crop_image)

更多

更多图像预处理操作工具集包含在这个github仓库中文章来源地址https://www.toymoban.com/news/detail-741932.html

到了这里,关于计算机视觉任务图像预处理之去除图像中的背景区域-------使用连通域分析算法(包含完整代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 计算机视觉与深度学习-图像分割-视觉识别任务01-语义分割-【北邮鲁鹏】

    给每个像素分配类别标签。 不区分实例,只考虑像素类别。 滑动窗口缺点 重叠区域的特征反复被计算,效率很低。 所以针对该问题提出了新的解决方案–全卷积。 让整个网络只包含卷积层,一次性输出所有像素的类别预测。 全卷积优点 不用将图片分为一个个小区域然后再

    2024年02月07日
    浏览(81)
  • OpenCV处理图像和计算机视觉任务时常见的算法和功能

    当涉及到OpenCV处理图像和计算机视觉任务时,有许多常见的具体算法和功能。以下是一些更具体的细分: 图像处理算法: 图像去噪 :包括均值去噪、高斯去噪、中值滤波等,用于减少图像中的噪声。 直方图均衡化 :用于增强图像的对比度,特别适用于低对比度图像。 边缘

    2024年02月11日
    浏览(42)
  • 【计算机二级考试C语言】C预处理器

    C 预处理器 不是编译器的组成部分,但是它是编译过程中一个单独的步骤。简言之,C 预处理器只不过是一个文本替换工具而已,它们会指示编译器在实际编译之前完成所需的预处理。我们将把 C 预处理器(C Preprocessor)简写为 CPP。 所有的预处理器命令都是以井号(#)开头。

    2024年01月23日
    浏览(45)
  • 【计算机视觉】如何利用 CLIP 做简单的图像分类任务?(含源代码)

    要使用 CLIP 模型进行预测,您可以按照以下步骤进行操作: 安装依赖:首先,您需要安装相应的依赖项。您可以使用 Python 包管理器(如 pip )安装 OpenAI 的 CLIP 库。 导入所需的库,包括 clip (用于加载和使用 CLIP 模型)、 torch ( PyTorch 框架)和 PIL (用于图像处理)。 设置

    2024年02月16日
    浏览(46)
  • 计算机视觉(P2)-计算机视觉任务和应用

    在本文中,我们将探讨主要的计算机视觉任务以及每个任务最流行的应用程序。         图像分类是计算机视觉领域的主要任务之一[1]。在该任务中,经过训练的模型根据预定义的类集为图像分配特定的类。下图是著名的CIFAR-10数据集[1],它由十个类别的8000万张图像组成

    2024年02月02日
    浏览(72)
  • 什么是计算机视觉,计算机视觉的主要任务及应用

    目录 1. 什么是计算机视觉 2. 计算机视觉的主要任务及应用 2.1 图像分类 2.1.1 图像分类的主要流程 2.2 目标检测 2.2.1 目标检测的主要流程 2.3 图像分割 2.3.1 图像分割的主要流程 2.4 人脸识别 2.4.1 人脸识别的主要流程 对于我们人类来说,要想认出身边的一个人,首先需要

    2024年02月11日
    浏览(45)
  • 计算机视觉主要任务

    计算机视觉 :使用计算机及相关设备对生物视觉的一种模拟。 主要包含6大任务, 图像分类,目标检测,目标跟踪,语义分割,实例分割,影像重构 。 图像分类 :根据图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。基于色彩特征的索引技术、基

    2024年02月11日
    浏览(40)
  • 计算机视觉的上游任务和下游任务

    这几天看CV论文和视频,经常提及什么上游任务、下游任务。简单来说下游任务是具体部署,上游任务是训练一个用于特征提取的预训练模型,比如这几年很火的CLIP[1],GPT[2]。 --------------------------------------------------------------------------------------------------------------------------------

    2024年02月07日
    浏览(41)
  • 【计算机视觉】上游任务和下游任务的理解

    计算机视觉中有常见的四大任务: 分类(解决\\\"what\\\") 定位(解决\\\"where\\\") 检测(解决\\\"what\\\"和\\\"where\\\") 分割(实例分割、语义分割和场景分割等像素级别的处理) 预训练模型。一般就是利用上游数据进行预训练,以生成一个包含视觉表征能力的模型。 比如,我们想要的是一个

    2024年02月10日
    浏览(76)
  • 能用OpenCV做的15大计算机视觉任务

    使用OpenCV,你几乎可以完成你能想到的每种计算机视觉任务。现实生活中的问题要求同时使用许多计算机视觉算法和模块来获得所需的结果。因此,你只需了解要用哪些OpenCV模块和函数来获得你想要的东西。 让我们来看看OpenCV中可以开箱即用的功能。 OpenCV的最大优点之一是

    2024年02月04日
    浏览(42)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包