1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y5mXlpdr
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
Graph cuts是一种十分有用和流行的能量优化算法,在图像处理领域普遍应用于前后背景分割(Image segmentation)、立体视觉(stereo vision)、抠图(Image matting)等,目前在医学图像领域应用较多。此类方法把图像分割问题与图的最小割(min cut)问题相关联。首先用一个无向图.G=<V,E>表示要分割的图像,V和E分别是顶点(vertex)和边(edge)的集合。此处的Graph和普通的Graph稍有不同。
4.部分源码
clc;
clear;
close all;
warning off;
addpath(genpath(pwd));
%参数初始化
%初始图像名称
I = double(imread('Test_Image\hand.jpg'));
%迭代次数
iter = 400;
%初始模板,模板在初始的时候只要定义一个较大的矩阵即可
S1 = size(I,1);
E1 = size(I,2);
Es = 20;
MASK0 = zeros(S1,E1);
MASK0(Es:S1-Es,Es:E1-Es) = 1;
%转换为二维图
if size(I,3) > 1
Is = (I(:,:,1)+I(:,:,2)+I(:,:,3))/3;
else
Is = I;
end
[Result,Result2,Object] = func_Active_Contour_Flow(Is,I,MASK0,iter);
figure;
subplot(131);
imshow(uint8(I),[]);
hold on
contour(Result,[0,0],'r','linewidth',2);
subplot(132);
imshow(Result2,[]);
subplot(133);
imshow(uint8(Object));
A107