我正在尝试使用给定的here函数在图像中查找血管的曲折度。
该函数的输入是信号/容器的x和y坐标。就我而言,如果我有这种类型的船只:
然后,如果我绘制容器的[x,y]坐标,则看起来像:
然后,该功能可以从一个点到另一个点跟踪船只并找到曲折指数,请参见示例:
但是如果我的船只属于这种类型:
[x,y]坐标的绘图如下:
然后函数以之字形跟踪它
我的问题是:
代码:
i1=[91 92 93 94 95 96 97 88 89 90 98 99 100 101 102 103 87 104 105 106 107 84 85 86 108 83 109 110
111 112 113 114 115 116 117 117 117 117 117 117 117];
i2=[134 134 134 134 134 134 134 135 135 135 135 135 135 135 135 135 136 136 136 136 136 137 137 137
137 138 138 138 139 140 141 141 142 143 144 145 146 147 148 149 150];
figure, plot(i2',i1','*r')
[VTI, sd, mean_dm, num_inflection_pts, num_cpts, l_arch, l_cord]=vessel_tortousity_index(i2',i1',1);
如果您要处理的曲线大多为凸形(且宽度为1像素),则可以调用convhull
计算点云的凸包,然后从中移除最长的绳索以获得弯曲部分。您可以计算出曲折度,请尝试此
tt=convhull(i2,i1);
plot(i2(tt),i1(tt))