图像分割(二)

python 复制代码
# 在绘图中显示中文字体,而非乱码
from pylab import mpl
mpl.rcParams["font.sans-serif"] = ["SimHei"]
import cv2
import matplotlib.pyplot as plt
import numpy as np

使用图割算法对3到5张图像进行分割(要求图像背景包含简单背景和复杂背景),并简要叙述本章中所有图像分割算法的特点、优缺点和适用场景。

python 复制代码
# 图割算法代码,选择三张图片分别处理复制粘贴即可
img1 = cv2.imread(你的图片)
cv2.namedWindow("select", cv2.WINDOW_NORMAL)
cv2.imshow("select", img1)
roi_mask = cv2.selectROI('select', img1, True, False)
roi = img1[int(roi_mask[1]):int(roi_mask[1]+roi_mask[3]), int(roi_mask[0]):int(roi_mask[0]+roi_mask[2])]
mask = np.zeros(img1.shape[:2], dtype=np.uint8)
rect_roi = (int(roi_mask[0]), int(roi_mask[1]), int(roi_mask[2]), int(roi_mask[3]))
bgdmodel = np.zeros((1, 65), np.float64)   
fgdmodel = np.zeros((1, 65), np.float64)  
cv2.grabCut(img1, mask, rect_roi, bgdmodel, fgdmodel, 11, mode=cv2.GC_INIT_WITH_RECT)
mask_foreground = np.where((mask == 1) + (mask == 3), 255, 0).astype('uint8')
result = cv2.bitwise_and(img1, img1, mask=mask_foreground)
title_list = ["原图", "图割"]
img_list = [img1, result]
for i in range(len(img_list)):
    plt.subplot(2, 1, i+1)
    plt.imshow(cv2.cvtColor(img_list[i], cv2.COLOR_BGR2RGB))
    plt.title(title_list[i])
    plt.xticks([])
    plt.yticks([])
plt.show()

边缘检测:

特点:基于像素梯度的边缘检测。

优点:简单,计算量小。

缺点:对噪声敏感,边缘定位不精确。

适用场景:简单场景的边缘提取。

阈值分割:

特点:根据像素值的阈值进行分割。

优点:简单,快速。

缺点:对光照变化敏感,难以处理复杂背景。

适用场景:背景与前景对比明显的场景。

区域分割:

特点:基于像素区域特性的分割。

优点:能够处理同质区域。

缺点:对边界不精确,容易漏分割。

适用场景:同质区域明显的图像。

分水岭分割:

特点:基于拓扑学原理的分割。

优点:能够处理复杂形状。

缺点:计算量大,对噪声敏感。

适用场景:需要精确分割的复杂图像。

Mean Shift分割:

特点:基于密度的聚类分割。

优点:能够处理任意形状。

缺点:计算量大,对参数敏感。

适用场景:聚类分析,目标跟踪。

SLIC超像素分割:

特点:基于空间邻近性和颜色相似性的分割。

优点:简单,能够生成均匀的超像素。

缺点:对参数选择敏感。

适用场景:需要超像素表示的图像。

主动轮廓模型:

特点:基于能量最小化的轮廓演化。

优点:能够处理复杂形状。

缺点:计算量大,需要初始化。

适用场景:医学图像分割,目标检测。

图割算法:

特点:基于图论的全局优化分割。

优点:能够处理复杂场景。

缺点:计算量大,需要训练数据。

适用场景:场景理解,图像分割。

相关推荐
Python_Study2025几秒前
工程材料企业如何通过智慧获客软件破解市场困局:方法论、架构与实践
大数据·网络·数据结构·人工智能·架构
紧固件研究社4 分钟前
紧固件制造设备基础知识大全
人工智能·制造·紧固件
DN202010 分钟前
AI销售机器人优质生产厂家
人工智能·机器人
南山乐只11 分钟前
Qwen Code + OpenSpec 实战指南:AI 驱动开发的从安装到落地
java·人工智能·后端
jonssonyan17 分钟前
我又发布新作品了,PetPhoto:一键生成 AI 宠物写真
人工智能·个人开发·宠物
AI科技星19 分钟前
从质能关系到时空几何:光速飞行理论的框架对比与逻辑验证
服务器·人工智能·线性代数·算法·矩阵
newsxun20 分钟前
科技为刃,破界解锁全生命周期营养新时代
大数据·人工智能·科技
小北方城市网27 分钟前
Spring Cloud 服务治理实战:构建高可用微服务体系
spring boot·python·rabbitmq·java-rabbitmq·数据库架构
WJSKad123532 分钟前
基于改进YOLO11的超市商品与电子设备多类别目标检测方法C3k2-ConvAttn
人工智能·目标检测·计算机视觉
wangmengxxw1 小时前
SpringAi-mcp高德
人工智能·高德·springai·mcp