小编vsl*_*lzl的帖子

Matlab参照角点校正图像

我想矫正视前畸形的图像。我有很多问题,也有一种算法可以执行我需要的操作,但是执行速度很慢。它具有“ imtransform”和“ maketform”功能,而matlab对于这些操作具有更快的功能。所以我试图更换它们,但我做错了。任何帮助将不胜感激。

这是使这个问题更清晰的图像:

具有已知坐标(x,y)的输入图像:

具有已知坐标的输入图像

和所需的输出:

带(透视矫正)的输出图像

该过程以2秒的间隔执行,我需要通过新的matlab函数替换该过程,但我做不到。

旧的算法是:

%X has the clockwise X coordinates %Y has the clockwise Y coordinates    
A=zeros(8,8);
A(1,:)=[X(1),Y(1),1,0,0,0,-1*X(1)*x(1),-1*Y(1)*x(1)];
A(2,:)=[0,0,0,X(1),Y(1),1,-1*X(1)*y(1),-1*Y(1)*y(1)];

A(3,:)=[X(2),Y(2),1,0,0,0,-1*X(2)*x(2),-1*Y(2)*x(2)];
A(4,:)=[0,0,0,X(2),Y(2),1,-1*X(2)*y(2),-1*Y(2)*y(2)];

A(5,:)=[X(3),Y(3),1,0,0,0,-1*X(3)*x(3),-1*Y(3)*x(3)];
A(6,:)=[0,0,0,X(3),Y(3),1,-1*X(3)*y(3),-1*Y(3)*y(3)];

A(7,:)=[X(4),Y(4),1,0,0,0,-1*X(4)*x(4),-1*Y(4)*x(4)];
A(8,:)=[0,0,0,X(4),Y(4),1,-1*X(4)*y(4),-1*Y(4)*y(4)];

v=[x(1);y(1);x(2);y(2);x(3);y(3);x(4);y(4)];

u=A\v;
%transfer fonksiyonumuz

U=reshape([u;1],3,3)';

w=U*[X';Y';ones(1,4)];
w=w./(ones(3,1)*w(3,:));

T=maketform('projective',U');

%transform uygulay?p resmi düzle?tiriyoruz
P2=imtransform(I,T,'XData',[1 n],'YData',[1 m]);
Run Code Online (Sandbox Code Playgroud)

如果有帮助,这是我生成“ A”矩阵和U矩阵的方式:

出站链接

matlab image-processing

4
推荐指数
1
解决办法
211
查看次数

在httpcontext asp.net核心上缓存对象

我正在尝试从.net framework MVC 5迁移到.net core 2.0 MVC

好的过去,我可以通过调用获取或设置缓存的对象

HttpContext.Current.Application.Lock();
HttpContext.Current.Application["foo"] = bar;
HttpContext.Current.Application.Lock();
Run Code Online (Sandbox Code Playgroud)

但是我无法将应用程序的这一部分迁移到.net核心。

如何在核心2.0上处理此问题?

c# asp.net asp.net-mvc httpcontext asp.net-core-mvc

1
推荐指数
1
解决办法
1187
查看次数