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

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

原理

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

代码

'''
使用连通域分析算法去除图像中的空白部分
并将图像变为统一大小的正方形
'''from skimage import measure
import skimage
import numpy as np
import os
import cv2current_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:#     breakraw_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 = 0i+=1print(len(properties))for prop in properties:print(prop.bbox, prop.area)if prop.area > max_area:max_area = prop.areamax_prop = prop# 4. 找出最大连通域的最小外接矩形minr, minc, maxr, maxc = max_prop.bboxprint(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仓库中

http://www.lryc.cn/news/219344.html

相关文章:

  • SurfaceFlinger的硬件Vsync深入分析-千里马android framework车机手机系统开发
  • 力扣160. 相交链表
  • 操作系统学习与思考
  • C++笔记之动态数组的申请和手动实现一个简单的vector
  • 答题测评考试小程序的效果如何
  • 树上贪心+生成树贪心:1104T3
  • MySQL进阶之性能优化与调优技巧
  • MySQL EXPLAIN查看执行计划
  • 目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】机器视觉(最终篇)
  • redis教程 二 redis客户端Jedis使用
  • 【数据开发】大数据平台架构,Hive / THive介绍
  • SOEM源码解析——ecx_init_context(初始化句柄)
  • 11.Z-Stack协议栈使用
  • 设计模式—结构型模式之适配器模式
  • 【LeetCode】187. 重复的DNA序列
  • C++17中std::any的使用
  • 携手ChainGPT 人工智能基础设施 波场TRON革新 Web3 版图
  • pdfH5实现pdf预览功能
  • Redis的持久化机制
  • mac装不了python3.7.6
  • 仿写知乎日报第三周
  • Godot Best practices
  • win10 + cmake3.17 编译 giflib5.2.1
  • 【rust/esp32】初识slint ui框架并在st7789 lcd上显示
  • 精通Nginx(05)-http工作机制、指令和内置变量
  • 用于 GaN-HEMT 功率器件仿真的 TCAD 方法论
  • Web3公链之Cosmos生态的项目Celestia
  • vue+prismjs 网页代码高亮插件
  • 【软件测试】其实远远不止需求文档这么简单
  • SAP-PP-常用TCODE