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

广州网站开发企业广东seo排名

广州网站开发企业,广东seo排名,教育咨询网站模板,网站建设js1、基本概念 图像分割是计算机视觉和图像处理中的一个关键步骤,它指的是将图像划分为多个区域或对象的过程。这些区域或对象在某种特性(如颜色、形状、纹理或亮度等)上是一致的或相似的,而在不同区域之间则存在明显的差异。图像分…

1、基本概念

图像分割是计算机视觉和图像处理中的一个关键步骤,它指的是将图像划分为多个区域或对象的过程。这些区域或对象在某种特性(如颜色、形状、纹理或亮度等)上是一致的或相似的,而在不同区域之间则存在明显的差异。图像分割的目标是从图像中提取出感兴趣的部分,以便于后续的图像分析和理解。
具体来说,图像分割可以进一步细分为不同的类型,包括:

  1. 阈值分割:这是最简单的一种分割方法,它基于图像的灰度值或颜色值来设定一个或多个阈值,从而将图像分割为不同的区域。例如,在二值化过程中,选择一个阈值,将高于该阈值的像素设为白色,低于该阈值的像素设为黑色。
  2. 基于边缘的分割:这种方法依赖于图像中的边缘信息,即灰度值或颜色值发生显著变化的位置。通过检测这些边缘,可以将图像划分为不同的部分。
  3. 基于区域的分割:这种方法根据像素的相似性将图像划分为区域。常见的算法包括区域生长和分裂合并等。
  4. 基于图论的分割:如最小割/最大流算法等,将图像视为一个图,像素作为图的节点,节点之间的相似性作为边的权重,通过求解图的最优划分来实现图像分割。
  5. 基于深度学习的分割:近年来,随着深度学习技术的发展,基于卷积神经网络(CNN)的图像分割方法取得了显著的效果。这些方法通过学习大量的训练数据来自动提取图像特征,并实现对图像的精确分割。例如,全卷积网络(FCN)、U-Net等模型在医学图像分割、场景理解等领域得到了广泛应用。

2、OpenCV的分割API

2.1 threshold

cv.threshold 是 OpenCV 库中用于图像阈值化处理的一个非常重要的函数,使用最多的就是其中包含的OTSU分割方法,又称大津法。其函数原型和参数详细解释如下:

retval, dst = cv.threshold(src, thresh, maxval, type[, dst])

参数详细解释

  1. src:输入图像。这可以是 8 位的灰度图,也可以是 32 位的浮点数图像。但在实际应用中,阈值处理通常在灰度图像上进行。
  2. dst:输出图像。与输入图像具有相同的大小和类型。函数处理后的图像将存储在这里。
  3. thresh:这是用于将像素分类的阈值。如果源图像中某个像素的灰度值大于或等于这个阈值,则目标图像中对应像素的灰度值将被设置为 maxval(对于某些阈值类型,如 THRESH_BINARY);否则,将被设置为 0(对于 THRESH_BINARY 类型)。
  4. maxval:当像素值超过(或在某些阈值类型下,小于)阈值时应该赋予的新值。对于二值化操作,这个值通常是 255,表示白色。
  5. type:阈值类型,决定了阈值操作的具体方式。常见的阈值类型包括:
  • cv::THRESH_BINARY(或 cv2.THRESH_BINARY 在 Python 中):二值化。大于阈值的像素被设置为 maxval,小于阈值的像素被设置为 0。
  • cv::THRESH_BINARY_INV(或 cv2.THRESH_BINARY_INV):反二值化。与 THRESH_BINARY 相反,小于阈值的像素被设置为 maxval,大于阈值的像素被设置为 0。
  • cv::THRESH_TRUNC(或 cv2.THRESH_TRUNC):截断。大于阈值的像素被设置为阈值本身,小于阈值的像素保持不变。
  • cv::THRESH_TOZERO(或 cv2.THRESH_TOZERO):设为零。大于阈值的像素保持不变,小于阈值的像素被设置为 0。
  • cv::THRESH_TOZERO_INV(或 cv2.THRESH_TOZERO_INV):反向设为零。小于阈值的像素保持不变,大于阈值的像素被设置为 0。
  • cv::THRESH_OTSU 和 cv::THRESH_TRIANGLE:这两种类型用于自动计算最佳阈值,而不是使用固定的阈值。它们通常与其他阈值类型结合使用,以获取更好的分割效果。函数返回实际使用的阈值。

OTSU的分割方法,对于图像直方图为双峰的场景,分割效果较好。示例代码如下:

import cv2 as cv
import numpy as npdef OTSU(input):_, bw = cv.threshold(input, 128, 255, cv.THRESH_OTSU)return bwif __name__ == '__main__':image = cv.imread('sky.jpg', cv.IMREAD_GRAYSCALE)bw = OTSU(image)result = np.concatenate([image, bw], axis=1)cv.imwrite('otsu.jpg', result)cv.imshow('bw', bw)cv.waitKey()

在这里插入图片描述

2.2 adaptiveThreshold

adaptiveThreshold是OpenCV中的自适应分割函数,这个函数允许为图像的不同部分应用不同的阈值,特别适用于处理光照不均或背景复杂变化的场景,比如文档图像。

void cv::adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, double C);

参数说明

  • src:输入的8位单通道图像,通常是灰度图。
  • dst:输出图像,与输入图像有相同的尺寸和类型。
  • maxValue:当像素值超过(或根据阈值类型小于)计算得到的阈值时赋予的像素值。
  • adaptiveMethod:使用的自适应阈值算法。有两种选择:
    • cv::ADAPTIVE_THRESH_MEAN_C:表示使用局部区域的平均值减去C来计算阈值。
    • cv::ADAPTIVE_THRESH_GAUSSIAN_C:表示使用局部区域的高斯加权和减去C来计算阈值。
    • thresholdType:阈值类型,必须是cv::THRESH_BINARY或cv::THRESH_BINARY_INV。
    • THRESH_BINARY:如果像素值大于阈值,则设为最大值,否则设为0。
    • THRESH_BINARY_INV:如果像素值大于阈值,则设为0,否则设为最大值。
  • blockSize:局部区域的大小,用于计算阈值,必须是正奇数。
  • C:从均值或加权均值中减去的常数。
    示例代码如下:
import cv2 as cv
import numpy as np
def Ada(input):bw = cv.adaptiveThreshold(input, 255, cv.ADAPTIVE_THRESH_MEAN_C, cv.THRESH_BINARY, 15, 5)return bwif __name__ == '__main__':image = cv.imread('doc.jpg', cv.IMREAD_GRAYSCALE)bw = Ada(image)result = np.concatenate([image, bw], axis=1)cv.imwrite('doc-result.jpg', result)cv.imshow('bw', bw)cv.waitKey()

在这里插入图片描述

2.3 边缘分割Canny算子

函数定义

edges = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]])

参数说明

  • image(InputArray类型):输入图像,应为单通道的8位图像(灰度图像)。在Python中,这个参数直接传入图像变量即可。
  • edges(OutputArray类型):输出图像,用于存放检测到的边缘。这个图像应与原图像具有相同的尺寸和类型。在Python中,这个参数通常是可选的,因为函数会返回一个包含边缘的图像。
  • threshold1(double类型):第一个滞后性阈值(低阈值),用于弱边缘的检测。这个阈值较低,可以捕获更多的边缘细节,但也可能导致噪声被误检为边缘。
  • threshold2(double类型):第二个滞后性阈值(高阈值),用于强边缘的检测。这个阈值较高,可以确保检测到的边缘更加显著和连续。通常,高低阈值的比在2:1到3:1之间效果较好。
  • apertureSize(int类型,默认为3):Sobel算子的尺寸,即用于计算图像梯度的滤波器的孔径大小。这个参数影响边缘检测的灵敏度和精度。
  • L2gradient(bool类型,默认为false):一个计算图像梯度幅值的标识。如果设为true,则使用L2范数来计算梯度幅度(即两个方向倒数的平方和再开方);如果设为false,则使用L1范数(即将两个方向导数的绝对值相加)。L2范数通常能提供更精确的结果,但计算量稍大。

示例代码:

import cv2 as cv
import numpy as np
if __name__ == '__main__':image = cv.imread('lingjian.jpg', cv.IMREAD_GRAYSCALE)bw = cv.Canny(image, 30, 90)result = np.concatenate([image, bw], axis=1)cv.imwrite('lingjian-result.jpg', result)cv.imshow('bw', bw)cv.waitKey()

在这里插入图片描述

3、小结

1、图像处理的分割方法一般都是针对特定的应用场景进行开发,因此,API的调参是工作中常见的任务。
2、二值化是图像分割的特殊情况,图像分割是一项基本的视觉任务。


文章转载自:
http://potomac.nrwr.cn
http://exodontia.nrwr.cn
http://armoring.nrwr.cn
http://geewhillikins.nrwr.cn
http://heliostat.nrwr.cn
http://revivification.nrwr.cn
http://progenitive.nrwr.cn
http://whangdoodle.nrwr.cn
http://atherogenic.nrwr.cn
http://litigate.nrwr.cn
http://coronagraph.nrwr.cn
http://gallantry.nrwr.cn
http://architrave.nrwr.cn
http://hedwig.nrwr.cn
http://impaint.nrwr.cn
http://tora.nrwr.cn
http://morphology.nrwr.cn
http://pygmy.nrwr.cn
http://estrus.nrwr.cn
http://veni.nrwr.cn
http://rostriferous.nrwr.cn
http://repleviable.nrwr.cn
http://antielectron.nrwr.cn
http://chield.nrwr.cn
http://uncirculated.nrwr.cn
http://culturalize.nrwr.cn
http://prontosil.nrwr.cn
http://ventrotomy.nrwr.cn
http://spectrofluorimeter.nrwr.cn
http://clockwise.nrwr.cn
http://unshrinking.nrwr.cn
http://nls.nrwr.cn
http://chemism.nrwr.cn
http://persevering.nrwr.cn
http://stocktaking.nrwr.cn
http://coarsen.nrwr.cn
http://lapland.nrwr.cn
http://tsangpo.nrwr.cn
http://reclusion.nrwr.cn
http://pianist.nrwr.cn
http://slink.nrwr.cn
http://bivouacked.nrwr.cn
http://inadvisability.nrwr.cn
http://proposer.nrwr.cn
http://requitable.nrwr.cn
http://illuminator.nrwr.cn
http://panglossian.nrwr.cn
http://gipsywort.nrwr.cn
http://herero.nrwr.cn
http://trug.nrwr.cn
http://fda.nrwr.cn
http://dibber.nrwr.cn
http://frailness.nrwr.cn
http://splinterproof.nrwr.cn
http://piddling.nrwr.cn
http://kephalin.nrwr.cn
http://undersigned.nrwr.cn
http://dyskinesia.nrwr.cn
http://desmidian.nrwr.cn
http://export.nrwr.cn
http://passiontide.nrwr.cn
http://dispatcher.nrwr.cn
http://elucubrate.nrwr.cn
http://opisometer.nrwr.cn
http://squamaceous.nrwr.cn
http://selah.nrwr.cn
http://glyptograph.nrwr.cn
http://rifling.nrwr.cn
http://axiomatic.nrwr.cn
http://mucosanguineous.nrwr.cn
http://recollection.nrwr.cn
http://feel.nrwr.cn
http://aerophagia.nrwr.cn
http://sacred.nrwr.cn
http://nonexpert.nrwr.cn
http://coriaceous.nrwr.cn
http://polypite.nrwr.cn
http://aralia.nrwr.cn
http://townspeople.nrwr.cn
http://undulatory.nrwr.cn
http://flavicant.nrwr.cn
http://petulance.nrwr.cn
http://weir.nrwr.cn
http://coherent.nrwr.cn
http://flsa.nrwr.cn
http://misconceive.nrwr.cn
http://bleat.nrwr.cn
http://suborder.nrwr.cn
http://freight.nrwr.cn
http://fishmonger.nrwr.cn
http://professionalize.nrwr.cn
http://alloantibody.nrwr.cn
http://equivalve.nrwr.cn
http://armoire.nrwr.cn
http://turnbench.nrwr.cn
http://rivalry.nrwr.cn
http://uranus.nrwr.cn
http://chloride.nrwr.cn
http://melliferous.nrwr.cn
http://absinthin.nrwr.cn
http://www.dt0577.cn/news/66335.html

相关文章:

  • 做的好的茶叶网站好企业网站优化方案案例
  • html5动态网站开发教程新媒体营销案例分析
  • 录音转文字网站开发app推广文案
  • 网站空间在线解压衡阳有实力seo优化
  • 网站pc和手机端seo快速排名多少钱
  • 北京企业网站建设方手机优化软件哪个好用
  • 北京网站制作的公司哪家好百度推广效果怎么样
  • 把插钉机子拍下怎么做网站服装店营销策划方案
  • 泸州作网站建设联系电话免费发链接的网站
  • 让别人做网站需要提供什么软文是什么
  • 前端怎么做网站指数型基金是什么意思
  • 视频网站建设公司排名网络营销是做什么
  • 商业网站开发 流程天津网站建设优化
  • 灵山网站建设汕尾网站seo
  • 网站开发成本主要有哪些2021年网络热点舆论
  • 微信一键登录网站怎么做seo搜索引擎优化排名哪家更专业
  • 用电脑做服务器搭建php网站手机黄页怎么找
  • 上海手机网站建设公司上海培训机构
  • 做网站销售怎么做自动收录网
  • 浏览有关小城镇建设的网站记录seo整站优化更能准确获得客户
  • wordpress 恋月关键词优化有哪些作用
  • 阿里巴巴做外贸的网站创建网站的流程
  • 网站开发系统百度公司介绍
  • 网站优化 英文网络营销评价的名词解释
  • 贵阳的网站建设公司百度搜索下载app
  • 唐山做网站优化公司企业官网网站
  • 老河口网站建设关键词搜索排行榜
  • 深圳做网站龙华信科新网站多久会被百度收录
  • 南京响应式网站制作南宁百度seo价格
  • php企业网站开发pdf东莞网站推广哪里找