![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图像分割
文章平均质量分 74
亦我飞也
资料问题联系qq1837393417
展开
-
Opencv系列9_opencv区域增长算法分割JPG图像并显示保存
实例9:opencv区域增长算法分割JPG图像并显示保存#include "opencv2/highgui/highgui.hpp"#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include <iostream>#include "math.h"using namespace cv;using namespace std;Point recent_Point, recent_Point1;.原创 2021-08-05 11:17:46 · 778 阅读 · 0 评论 -
Opencv系列8_opencv批量阈值分割JPG图像并显示保存
实例8:opencv批量阈值分割JPG图像并显示保存#include <iostream>#include <io.h> // 当中含有_finddata_t#include <string>#include <vector> #include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/img.原创 2021-08-05 11:16:31 · 654 阅读 · 1 评论 -
Opencv系列7_opencv通过进度条阈值选定分割JPG图像并显示保存
实例7:opencv通过进度条阈值选定分割JPG图像并显示保存#include <opencv2/opencv.hpp>#include <iostream>#include <math.h>using namespace cv;Mat src, gray_src, dst;//定义Mat对象int threshold_value = 178;//设置阈值 127int threshold_max = 255;//RGB(0~255)最大值int.原创 2021-08-05 11:08:36 · 428 阅读 · 0 评论 -
Opencv系列1_opencv对单张DCM文件的读取并显示
实例1:opencv对单张DCM文件的读取并显示#include <iostream>#include <io.h> // 当中含有_finddata_t#include <string>#include <vector>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgpro.原创 2021-08-05 10:49:50 · 1458 阅读 · 0 评论 -
ITK系列33_ 阈值水平集算法对脑部MHA文件进行三维分割
实例33阈值水平集算法对脑部MHA文件进行三维分割#include "itkImage.h"#include "itkThresholdSegmentationLevelSetImageFilter.h"#include "itkFastMarchingImageFilter.h"#include "itkBinaryThresholdImageFilter.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h".原创 2021-05-19 09:55:46 · 853 阅读 · 0 评论 -
ITK系列32_ 阈值水平集算法对脑部PNG图像进行二维分割
阈值水平集分割itk::ThresholdSegmentationLevelSetImageFilter 是对阈值连接成员分割在水平集框架上的一个拓展。目标是定义一个亮度值的范围来对相关的组织类型继续分类,然后求出对那个亮度范围基于水平集等式上的传播系数。使用水平集方法,进化的表面的平滑可以被用来阻止在连接成员方案中常见的“漏泄”。依照下面的公式可以从 FeatureImage 输入 g(x) 同 UpperThreshold 值 U 和 LowerThreshold 值 L 计算出下等式的传播系数 P原创 2021-05-19 09:54:47 · 722 阅读 · 2 评论 -
ITK系列31_ 水平集(测量主动轮廓)算法对脑部PNG图像进行二维分割
测量主动轮廓分割如图 9-21 所示展示了一个分割任务中与 GeodesicActiveContourLevelSetImageFilter 的应用有关的主要成员。这个传递途径和 9.3.2 小节中 ShapeDetectionLevelSetImageFilter 使用的途径非常相似。这个传递途径的第一阶段是使用 itk::CurvatureAnisotropicDiffusionImageFilter 来进行平滑。将平滑后的图像作为输入传递给itk::GradientMagnitudeRecursi原创 2021-05-19 09:53:54 · 805 阅读 · 0 评论 -
ITK系列30_ 水平集(快速步进)算法对脑部PNG图像进行二维分割
水平集分割水平集是跟踪轮廓和表面运动的一种数字化方法。不直接对轮廓进行操作,而是将轮廓设置成一个高维函数的零水平集,这个高维函数叫做水平集函数: Ψ(X,t) 。然后水平集函数运动成为一个微分方程。在任何时候,通过从输出中提取零水平集来得到运动的轮廓。使用水平集的主要优点是可以对任何复杂的结构进行模式化和拓扑变换,比如暗中操作融合和分离。通过使用基于图像的诸如亮度均值、梯度和边缘之类的特征的微分方程的解答,水平集就可以用来对图像进行分割。在一个典型的方法中,用户对一个轮廓进行初始化并运动这个轮廓直到它符原创 2021-05-19 09:53:00 · 1222 阅读 · 0 评论 -
ITK系列29_ ITK分水岭算法对PNG图像进行二维分割
基于分水岭算法的分割分水岭分割对图像特征使用梯度下降法和沿区域边界分析弱点 (weak points) 来将像素分类为区域。想像在一个有水流动的拓扑地形结构中,水在重力的引导下聚集到一个地势较低的盆地。随着水量的增加,水将流满整个盆地直到水流溢出到另一个盆地,这样就会将一些小盆地吞没形成大的盆地。使用局部的几何结构来形成区域 ( 集水的盆地 ) ,在图像领域中正如使用一些诸如曲率或梯度强度等特征中的局部极值来将像素连接成区域。这种技术不像其他区域分割,它几乎不需要用户定义门限,尤其适合对以不同的特征类型原创 2021-05-19 09:51:32 · 926 阅读 · 0 评论 -
ITK系列28_ 区域增长(置信连接)对PNG向量图像进行二维分割
向量图像中的置信连接这个例子阐述了应用在含有向量像素类型的图像中的置信连接的用法。对向量图像执行的置信连接在类itk::VectorConfidenceConnected 中。标量版本和向量版本之间的基本区别是向量版本使用向量矩阵来代替变量,而一个向量值代替一个标量值。区域中一个向量像素值的成员关系是使用作为类 itk::Statistics::MahalanobisDistanceThresholdImageFunction 马氏距离(mahalanobis distance) 来衡量的。实例原创 2021-05-19 09:50:42 · 436 阅读 · 0 评论 -
ITK系列27_ 边缘保留平滑滤波对脑部MHA文件进行三维滤波
实例27边缘保留平滑滤波对脑部MHA文件进行三维滤波#include "itkImage.h"#include "itkCastImageFilter.h"#include "itkCurvatureFlowImageFilter.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h"int main(int argc, char* argv[]){ //定义浮点像素类型 InternalPixelTyp.原创 2021-05-19 09:49:33 · 438 阅读 · 0 评论 -
ITK系列26_ 边缘保留平滑滤波对PNG图像进行二维滤波
实例26边缘保留平滑滤波对PNG图像进行二维滤波#include "itkImage.h"#include "itkCastImageFilter.h"#include "itkCurvatureFlowImageFilter.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h"int main(int argc, char* argv[]){ //定义浮点像素类型 InternalPixelType.原创 2021-05-18 17:16:22 · 440 阅读 · 0 评论 -
ITK系列25_ 区域增长(孤立连接)算法对脑部MHA文件进行三维分割
实例25孤立连接算法对脑部MHA文件进行三维分割#include "itkIsolatedConnectedImageFilter.h"#include "itkImage.h"#include "itkCastImageFilter.h"#include "itkCurvatureFlowImageFilter.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h"int main( int argc, cha.原创 2021-05-18 17:15:35 · 411 阅读 · 0 评论 -
ITK系列24_ 区域增长(孤立连接)算法对脑部PNG图像进行二维分割
孤立连接接 下 来 的 例 子 阐 述 了 itk::IsolatedConnectedImageFilter 的 用 法 。 这 个 滤 波 器 是itk::ConnectedThresholdImageFilter 的一个相关变量。在这个滤波器中用户提供两个种子和一个最小门限值。这个滤波器将在一个与第一个种子相连而与第二个种子不相连的区域中生长。为了做到这一点,这个滤波器找到了一个能用来作为第一个种子的上门限值的亮度值。使用一个二进位的搜索方法来找到分开两个种子的值。我们可以通过选取两个适当的位原创 2021-05-18 17:14:21 · 527 阅读 · 1 评论 -
ITK系列23_ 区域增长(置信连接)算法对脑部MHA文件进行三维分割
实例23置信连接算法对脑部MHA文件进行三维分割在这个例子中使用前面例子中的代码,并设置图像的维数为 3 。应用梯度各向异性扩散来平滑图像。这个滤波器使用两个迭代器、一个值为 0.05 的 time step 和一个值为 3 的conductance 值,然后使用置信连接方式对平滑后的图像进行分割。使用的五个种子点的坐标分别为( 118 , 85 , 92 )、( 63 , 87 , 94 )、( 63 , 157 , 90 )、( 111 , 188 , 90 )、( 111 , 50 , 88 ).原创 2021-05-18 17:12:55 · 1287 阅读 · 14 评论 -
ITK系列22_ 区域增长(置信连接)算法对脑部PNG图像进行二维分割
置信连接接下来的例子阐述了 itk::ConfidenceConnectedImageFilter 的用法。 ConfidenceConnected Image Filter 使用的标准是基于当前区域的简单统计上的。首先,算法计算包含在区域中的所有像素亮度的平均值和标准差。用户提供一个因子用来乘以标准差并定义一个平均值的范围。相邻像素中亮度值在这个范围内的将包含到这个区域中。当没有更多的像素符合这个标准时,算法将结束它的第一次迭代。使用包含在区域内的所有像素再次计算亮度值的平均值和标准差。这个平均值和标原创 2021-05-18 17:11:09 · 823 阅读 · 0 评论 -
ITK系列21_ 区域增长(领域连接)算法对脑部PNG图像进行二维分割
邻域连接接下来的例子阐述了 itk::NeighborhoodConnectedImageFilter 的用法。这个滤波器是itk::ConnectedThresholdImageFilter 的一个相关变量。一方面,如果一个像素的亮度在用户提供的两个门限值之间,那么 ConnectedThresholdImageFilter 就接受这个像素作为区域内的一个像素。另一方面, NeighborhoodConnectedImageFilter 仅仅接受那些所有相邻像素的亮度都在范围内的像素。每个像素的邻域大原创 2021-05-18 17:10:22 · 592 阅读 · 0 评论 -
ITK系列20_ 区域增长(OTSU算法)对PNG图像进行多阈值二维分割
实例20OTSU算法对PNG图像进行多阈值二维分割#include "itkOtsuMultipleThresholdsCalculator.h"//包含头文件#include "itkImage.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h"#include "itkScalarImageToHistogramGenerator.h"#include "itkBinaryThresholdImageFil.原创 2021-05-18 16:59:01 · 884 阅读 · 1 评论 -
ITK系列19_ 区域增长(OTSU算法)对PNG图像进行单阈值二维分割
OTSU 分割(最大类间方差阈值分割)实例19OTSU算法对PNG图像进行单阈值二维分割#include "itkOtsuThresholdImageFilter.h"//Otsu分割头文件#include "itkImage.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h"int main( int argc, char * argv[] ){ /*if( argc < 5 ) { .原创 2021-05-18 16:57:51 · 646 阅读 · 0 评论 -
ITK系列18_ 区域增长(连接门限)对脑部MHA文件进行三维分割
实例18 连接门限对脑部MHA文件进行三维分割#include "itkConnectedThresholdImageFilter.h"//连接门限头文件#include "itkImage.h"#include "itkCastImageFilter.h"#include "itkCurvatureFlowImageFilter.h"#include "itkImageFileReader.h"#include "itkImageFileWriter.h"//图像中存在的噪声将大大降低滤原创 2021-05-18 16:56:37 · 482 阅读 · 6 评论 -
ITK系列17_ 区域增长(连接门限)对脑部切片PNG图像进行二维分割
区域生长区域生长算法被证实是一个有效的图像分割方法。区域生长的基本方法是从被分割对象里作为种子区域 ( 通常是一个或多个像素 ) 的一个区域开始,在种子区域的相邻像素寻找与种子像素有相同或相似性质的像素,并将这些像素合并到种子像素所在的区域中。将这些新像素当作新的种子区域继续进行上述过程。区域生长算法主要取决于用来选择确定为种子区域像素的标准、用来确定相邻像素的连通性类型和用来访问相邻像素的策略。连接门限在生长区域中包含像素的一个简单标准是以一个特殊的间距来计算亮度值。接下来的例子阐述了 i原创 2021-05-18 16:53:31 · 518 阅读 · 0 评论 -
ITK系列14_ PNG图像进行带滤波的二维梯度强度提取
实例14PNG图像进行带滤波的二维梯度强度提取微分是对一个数字数据的不规则操作。实际中可以方便地定义一个执行微分的比例。在执行这样的滤波时使用一个高斯核被认为是最便捷的选择。通过选择一个特定的高斯标准差(σ) ,就可以选择一个相应的比例来去除通常被认为是噪声的高频部分。itk::GradientMagnitudeRecursiveGaussianImageFilter 计算在每个像素的图像梯度。这个计算过程等同于首先通过将图像和一个高斯核卷积来平滑图像,然后应用一个差分操作。 s 的值是由用户选择的。.原创 2021-05-17 10:02:42 · 413 阅读 · 2 评论 -
基于Matlab的形态学图像处理学习笔记
第12章 形态学图像处理形态学是一种应用于图像处理和模式识别领域的新的方法,是一门建立在严格的数学理论基础上而又密切联系实际的科学。由于形态学具有完备的数学基础,这为形态学用于图像分析和处理等奠定了坚实的基础。本章详细的介绍利用MATLAB软件进行形态学图像处理,主要内容包括基本运算、组合形态学运算以及二值图像的其他形态学运算等内容。12.1 基本的形态学运算数学形态学可以看作是一种特殊的数字图像处理方法和理论,主要以图象的形态特征为研究对象。它通过设计一整套运算、概念和算法,用以描述图象的..原创 2021-01-18 16:17:15 · 6644 阅读 · 0 评论 -
Matlab结果性能评价---boxplot函数(用箱线图可视化汇总统计量)
实例1:创建一个表示车辆每加仑英里数(MPG)数据的箱线图实例2:为多个分组数据创建箱线图实例3:随机生成数据并创建带缺口的箱线图实例4:随机生成数据并创建指定虚线长度的带缺口的箱线图实例5:随机生成数据并创建默认和紧凑型箱线图实例6:随机生成数据并创建可变长度向量的箱线图本例程配套完整源码下载语法描述:boxplot(x)创建x中数据的箱线图。如果x是向量,boxplot绘制一个箱子。如果x是矩阵,boxplot为x的每列绘制一个箱子。在每个箱...原创 2020-12-06 15:35:43 · 3609 阅读 · 1 评论 -
基于C++的ITK图像分割与配准学习笔记2(图像滤波)
第六章 图像滤波6.4 梯度梯度在一些背景下表示梯度向量而在其他情况下可以表示梯度向量的大小。 ITK 滤波器在涉及这个概念时通过强度这个概念来区别该不明确概念。 ITK 提供可以计算图像梯度向量和图像强度大小的滤波器。6.4.1 不带滤波的梯度强度图像梯度的强度广泛地应用在图像分析中,主要用来帮助检测对象轮廓和分离均匀区域。 itk::GradientMagnitudeImageFilter 使用一个简单的有限差分方式来计算图像中每个像素位置的梯度强度。例如:在二维情况下计算等同于将图像.原创 2020-12-03 15:43:56 · 1778 阅读 · 2 评论 -
Matlab函数学习---imref2d函数(将二维图像转到世界坐标)
实例1:计算二值分割图像的dice相似系数实例2:计算多区域分割图像的dice相似系数原创 2020-11-17 16:42:51 · 4172 阅读 · 0 评论 -
Matlab图像分割---使用imfuse方法进行图像合成(复合、融合、叠加)—图像分割精度测试
实例1:实现两张TIF图像的混合叠加实例2:使用颜色来区分图像相似强度的区域并创建叠加图像实例3:实现两张DCM图像的混合叠加实例4:实现两个空间参考图像DCM以不同参考信息的叠加本例程的配套完整源码和图片素材下载描述:C=imfuse(A,B)从图像 A 和 B 创建一个复合图像 C。如果A和B的大小不同,imfuse 将用零填充较小的尺寸,以至于在创建复合图像之前,两个图像的大小是相同的。输出C是一个数字矩阵,是图像 A 和 B 的融合版本[CRC]=im...原创 2020-11-15 11:05:55 · 6014 阅读 · 0 评论 -
Matlab图像分割---使用dice相似系数方法进行图像分割精度验证
实例1:计算二值分割图像的dice相似系数实例2:计算多区域分割图像的dice相似系数本例程的配套完整源码和图片素材下载描述:similarity= dice(BW1,BW2)计算二进制图像BW1和BW2之间的Sørensen-Dice相似系数(BW为二值图像)similarity= dice(L1,L2)计算标签图像L1和L2中的每个标签的Dice索引(L为标签图像)similarity= dice(C1,C2)计算分类图像C1和C2中的每个类别的D...原创 2020-11-13 16:25:07 · 6754 阅读 · 1 评论 -
Matlab图像分割---使用主动轮廓 (snake) 方法进行图像分割
实例1:使用主动轮廓(snake)将图像分割成前景和背景实例2:基于边缘‘edge’方法的主动轮廓图像分割实例3:基于区域‘Chan-Vese’方法的主动轮廓图像分割(可交互式创建多边形遮罩)本例程的配套完整源码和图片素材下载主动轮廓方法,也称为snake,是一种迭代式区域增长图像分割算法。使用主动轮廓算法,您可以在图像上指定初始曲线,然后使用activecontour函数使曲线向对象边界演化。activecontour函数BW= activecontour(A,mask,n...原创 2020-10-24 09:57:05 · 17210 阅读 · 10 评论 -
图像分割系列10_绿幕视频的背景替换
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)案例实战——绿幕视频背景替换关键知识点 分割算法选择 背景融合 – 高斯模糊 遮罩层生成算法选择 GMM或者Kmeans - ?? Bad idea, very slow!!! 基于色彩的处理方法 RGB与HSV色彩空间 算法设计步骤 ...原创 2020-08-25 10:21:23 · 1138 阅读 · 0 评论 -
图像分割系列9_K-Means算法对证件照背景进行替换
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)实例9:K-Means-证件照背景替换#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;Mat mat_to_samples(Mat &image);int main(int argc, c原创 2020-08-25 10:17:55 · 1014 阅读 · 0 评论 -
图像分割系列8_Grabcut原理与图像抠图演示应用
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)Grabcut算法的基本流程API介绍:- grabCut- setMouseCallback- onMouse(int event, int x, int y, int flags, void* param) 图像中对象抠图实例8:Grabcut原理与演示应用#include <opencv2/opencv.hpp>原创 2020-08-25 10:15:22 · 655 阅读 · 0 评论 -
图像分割系列7_基于分水岭算法的图像分割
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)实例7:基于分水岭图像分割#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace std;Mat watershedCluster(Mat &image, int &numSegments);//原创 2020-08-25 10:12:10 · 682 阅读 · 0 评论 -
图像分割系列6_基于距离变换的分水岭粘连对象分离与计数
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)分水岭分割方法概述图像形态学操作: 腐蚀与膨胀 开闭操作分水岭分割方法原理:- 基于浸泡理论的分水岭分割方法- 基于连通图的方法- 基于距离变换的方法分水岭算法的运用: 分割粘连对象,实现形态学操作与对象计数 图像分割基于距离的分水岭分割流程:API说明: OpenCV3.x中 dista...原创 2020-08-25 10:09:27 · 1090 阅读 · 0 评论 -
图像分割系列5_GMM(高斯混合模型)对图像进行分割
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)实例5:GMM(高斯混合模型)图像分割#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;using namespace cv::ml;using namespace std;int main(int argc, char** argv)原创 2020-08-25 10:07:01 · 1679 阅读 · 2 评论 -
图像分割系列4_GMM(高斯混合模型)对样本数据进行训练与预言
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)实例4:GMM(高斯混合模型)样本数据训练与预言#include <opencv2/opencv.hpp>#include <iostream> using namespace cv;using namespace cv::ml;using namespace std; int main(int argc, char**原创 2020-08-25 10:05:14 · 560 阅读 · 0 评论 -
图像分割系列3_KMeans对图像进行分割
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)实例3:KMeans图像分割#include <opencv2/opencv.hpp>#include <iostream> using namespace cv;using namespace std; int main(int argc, char** argv) { Mat src = imread("toux.j原创 2020-08-25 10:01:49 · 648 阅读 · 0 评论 -
图像分割系列2_KMeans对随机生成数据进行分类
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)KMeans方法概述1. 无监督学习方法(整个过程不需要人为干预)2. 分类问题,输入分类数目,初始化中心位置3. 硬分类方法,以距离度量(离那个中心点近就被划分为哪一类)4. 迭代分类为聚类(不断迭代寻找最优中心点)基本流程:相关API:实例2:KMeans对随机生成数据进行分类#include <opencv2/o原创 2020-08-25 09:58:15 · 637 阅读 · 0 评论 -
图像分割系列1_OpenCV环境测试(读取单张JPG图像)
OpenCV图像分割资料分享:贾志刚的OpenCV图像分割实战视频教程全套资料(包含配套视频、配套PPT的PDF文件、源码和用到的图片素材等)实例1:读取单张JPG图像(测试环境)#include <opencv2/opencv.hpp>#include <iostream> using namespace cv; int main(int argc, char** argv){ Mat src = imread("toux.jpg");//读取图像 if原创 2020-08-25 09:54:42 · 296 阅读 · 0 评论 -
贾志刚OpenCV3.2图像分割实战学习笔记
实例1:读取单张JPG图像(测试环境)#include <opencv2/opencv.hpp>#include <iostream>using namespace cv;int main(int argc, char** argv){ Mat src = imread("toux.jpg");//读取图像 if (src.empty()) { printf("could not load image..\n"); return -1; } n原创 2020-08-12 11:13:47 · 1939 阅读 · 1 评论