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

1688代加工官方网站广州知名网络推广公司

1688代加工官方网站,广州知名网络推广公司,网站建设菜单栏设计,上海企业所得税优惠政策最新2023数字图像处理:图像分割应用 图像分割是图像处理中的一个关键步骤,其目的是将图像分成具有不同特征的区域,以便进一步的分析和处理。 1.1 阈值分割法 阈值分割法(Thresholding)是一种基于图像灰度级或颜色的分割方法&…

数字图像处理:图像分割应用

图像分割是图像处理中的一个关键步骤,其目的是将图像分成具有不同特征的区域,以便进一步的分析和处理。

1.1 阈值分割法

阈值分割法(Thresholding)是一种基于图像灰度级或颜色的分割方法,它通过设置一个或多个阈值,将图像划分为前景和背景。它的基本思想是根据像素的灰度值来判断该像素是否属于某个目标区域。

基本原理:
将像素的灰度值与设定的阈值进行比较。
如果像素值高于阈值,则归为目标区域;如果低于阈值,则归为背景。
在多阈值分割中,多个阈值将图像分成多个区域。

1.2 区域生长法

区域生长法(Region Growing)是一种基于像素相似性的分割方法,它从某些初始的“种子点”开始,逐步将与种子点相似的邻域像素归入同一分割区域,直到没有更多满足条件的像素可以合并。

基本原理:
从选定的“种子点”开始,根据预定义的相似性准则(如灰度值相似度或纹理相似度),将相邻的像素添加到种子区域中。
相邻像素的相似性准则一般基于像素的灰度差异、颜色差异或纹理等特征。
当不再有符合相似性条件的像素时,生长过程停止,得到一个完整的区域。

1.3 边缘检测法

边缘检测法(Edge Detection)是一种基于图像梯度信息的分割方法,它通过检测图像中灰度值或颜色发生显著变化的位置来确定区域的边界,适用于具有明显边界的目标区域分割。

基本原理:
利用图像梯度(即像素灰度值或颜色的变化率)来识别边缘。
边缘通常是图像中像素灰度值或颜色发生急剧变化的地方,通常代表物体的边界。
常用的边缘检测算法包括Sobel算子、Canny算子、Prewitt算子等。

1.4 代码实现

(1)选取实验用的图像,完成图像读取和显示;
(2)使用阈值分割法、区域生长法、边缘检测法对图像进行分割,并显示结果;
(3)使用深度学习模型进行图像分割,并比较结果。

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
import random# 读取图像并转换为RGB格式
img_dir = r'D:\Document\Experiment\data\image.png'
rgb = cv.imread(img_dir)
rgb = cv.cvtColor(rgb, cv.COLOR_BGR2RGB)  # 转换为RGB格式# 转换为灰度图
gray = cv.cvtColor(rgb, cv.COLOR_RGB2GRAY)# (1)阈值分割法
def threshold_segmentation(image, threshold_value=128):"""使用简单的阈值分割法"""_, thresholded_image = cv.threshold(image, threshold_value, 255, cv.THRESH_BINARY)return thresholded_image# (2)区域生长法
def region_growing(image, seed_point, threshold=5):"""使用简单的区域生长算法"""h, w = image.shapesegmented_image = np.zeros_like(image)visited = np.zeros_like(image, dtype=bool)seed_value = image[seed_point[1], seed_point[0]]# 初始化种子列表seeds = [seed_point]segmented_image[seed_point[1], seed_point[0]] = 255visited[seed_point[1], seed_point[0]] = True# 区域生长while seeds:x, y = seeds.pop(0)for dx, dy in [(-1, 0), (1, 0), (0, -1), (0, 1)]:  # 邻域4连通nx, ny = x + dx, y + dyif 0 <= nx < w and 0 <= ny < h and not visited[ny, nx]:if abs(int(image[ny, nx]) - int(seed_value)) < threshold:segmented_image[ny, nx] = 255seeds.append((nx, ny))visited[ny, nx] = Truereturn segmented_image# (3)边缘检测法
def edge_detection(image):"""使用Canny边缘检测法"""edges = cv.Canny(image, 100, 200)  # 调整阈值可以影响边缘检测效果return edges# 应用阈值分割法
threshold_image = threshold_segmentation(gray, threshold_value=128)# 应用区域生长法
seed_point = (1055, 788)  # 随机选择一个种子点
region_growing_image = region_growing(gray, seed_point, threshold=30)# 应用边缘检测法
edges_image = edge_detection(gray)# 展示分割结果
plt.figure(figsize=(15, 5))# 展示原始图像
plt.subplot(1, 4, 1)
plt.title("Original")
plt.axis('off')
plt.imshow(rgb)plt.subplot(1, 4, 2)
plt.title("Threshold Segmentation")
plt.axis('off')
plt.imshow(threshold_image, cmap='gray')plt.subplot(1, 4, 3)
plt.title("Region Growing Segmentation")
plt.axis('off')
plt.imshow(region_growing_image, cmap='gray')plt.subplot(1, 4, 4)
plt.title("Edge Detection")
plt.axis('off')
plt.imshow(edges_image, cmap='gray')plt.show()


也可以使用segment-anything进行分割,效果如下
请添加图片描述

http://www.tj-hxxt.cn/news/95492.html

相关文章:

  • wordpress如何放pdf浙江网站seo
  • 建站的步骤有哪些sem对seo的影响有哪些
  • 广西疫情最新消息今天电商seo名词解释
  • 婚纱摄影网站设计百度推广如何代理加盟
  • 网站建设收费标准seo挂机赚钱
  • 黄江网站设计足球最新世界排名表
  • 工商网站备案查询网络推广的概念
  • 常用来做网站首页的是免费做网站自助建站
  • 山东站群网站建设天津网络广告公司
  • 网站自然排名怎么优化互联网推广是什么意思
  • 素材视频 素材库seo优化运营专员
  • 网站制作需求seo在线工具
  • 新纪实网站建设网站优化推广招聘
  • 贵州做网站怎么推广产品推广营销
  • 网站建设有什么专业术语搜索技巧
  • 南浔哪有做网站的网上做广告推广
  • r2网站做生存分析网络服务有限公司
  • 永嘉网站制作国家认可的教育培训机构
  • 帝国生成网站地图大型门户网站建设
  • 杭州大的做网站的公司苏州网站建设优化
  • 做社区网站磁力库
  • asp.net 网站管理工具今日国内新闻头条大事
  • 网站支付怎么做安全吗哪家网络公司比较好
  • 灵犀科技-网站开发自动点击器下载
  • 如何将自己做的网站变成中文网站检测工具
  • 镇江微网站建设谷歌google搜索引擎入口
  • 全面的锦州网站建设网络媒体广告代理
  • 客户网站 备案网站分享
  • 哈尔滨企业网站东营网站建设制作
  • 青海企业网站制作精准引流的网络推广方法