×

snake算法 算法 matlab编程

如何实现snake算法的matlab编程,来提取图像中划痕缺陷的边缘,谁有程序不妨发上来?对称密钥密码算法有哪些

admin admin 发表于2022-07-11 18:47:43 浏览88 评论0

抢沙发发表评论

如何实现snake算法的matlab编程,来提取图像中划痕缺陷的边缘,谁有程序不妨发上来


N = length(x);

alpha = alpha* ones(1,N);
beta = beta*ones(1,N);

% produce the five diagnal vectors
alpham1 = [alpha(2:N) alpha(1)];
alphap1 = [alpha(N) alpha(1:N-1)];
betam1 = [beta(2:N) beta(1)];
betap1 = [beta(N) beta(1:N-1)];

a = betam1;
b = -alpha - 2*beta - 2*betam1;
c = alpha + alphap1 +betam1 + 4*beta + betap1;
d = -alphap1 - 2*beta - 2*betap1;
e = betap1;

% generate the parameters matrix
A = diag(a(1:N-2),-2) + diag(a(N-1:N),N-2);
A = A + diag(b(1:N-1),-1) + diag(b(N), N-1);
A = A + diag(c);
A = A + diag(d(1:N-1),1) + diag(d(N),-(N-1));
A = A + diag(e(1:N-2),2) + diag(e(N-1:N),-(N-2));

invAI = inv(A + gamma * diag(ones(1,N)));

for count = 1:ITER,
vfx = interp2(fx,x,y,’*linear’);
vfy = interp2(fy,x,y,’*linear’);

% deform snake
x = invAI * (gamma* x + kappa*vfx);
y = invAI * (gamma* y + kappa*vfy);
end

对称密钥密码算法有哪些


哈哈,我过几天就要考网络安全与管理
书上写着呢,我就打出来给你看看。
俩种。
1:序列算法或叫序列密码
它只对明文中的单个比特(或字节)进行加密和解密运算
2:分组算法或分组密码
它先对明文进行分组
每一分组包含多个布特或字节
然后逐组进行加解密。

KMP算法求next数组的问题


字符串如果是以0为下标的话next是0,只有最后一位与第一位相等。

在第i个字符前面的i-1个字符里面,

从开头开始的1个字符与最后1个字符是否相等,若不是,则next[i]=0;

从开头开始的2个字符与最后2个字符是否相等,若不是,则next[i]=1;

从开头开始的3个字符与最后3个字符是否相等,若不是,则next[i]=2;

前缀next数组的求解算法:

void SetPrefix(const char *Pattern, int prefix)

{

int len=CharLen(Pattern);//模式字符串长度。

prefix=0;

for(int i=1; i《len; i++)

{

int k=prefix[i-1];

//不断递归判断是否存在子对称,k=0说明不再有子对称,Pattern[i] != Pattern[k]说明虽然对称,但是对称后面的值和当前的字符值不相等,所以继续递推。

扩展资料:

kmp算法完成的任务是:给定两个字符串O和f,长度分别为n和m,判断f是否在O中出现,如果出现则返回出现的位置。常规方法是遍历a的每一个位置,然后从该位置开始和b进行匹配,但是这种方法的复杂度是O(nm)。kmp算法通过一个O(m)的预处理,使匹配的复杂度降为O(n+m)。-snake算法

参考资料来源:百度百科-简约KMP算法