使用Hough变换,如何在2D空间中检测并获取椭圆的(x0,y0)和"a"和"b"的坐标?
这是ellipse01.bmp:

I = imread('ellipse01.bmp');
[m n] = size(I);
c=0;
for i=1:m
for j=1:n
if I(i,j)==1
c=c+1;
p(c,1)=i;
p(c,2)=j;
end
end
end
Edges=transpose(p);
Size_Ellipse = size(Edges);
B = 1:ceil(Size_Ellipse(1)/2);
Acc = zeros(length(B),1);
a1=0;a2=0;b1=0;b2=0;
Ellipse_Minor=[];Ellipse_Major=[];Ellipse_X0 = [];Ellipse_Y0 = [];
Global_Threshold = ceil(Size_Ellipse(2)/6);%Used for Major Axis Comparison
Local_Threshold = ceil(Size_Ellipse(1)/25);%Used for Minor Axis Comparison
[Y,X]=find(Edges);
Limit=numel(Y);
Thresh = 150;
Para=[];
for Count_01 =1:(Limit-1)
for Count_02 =(Count_01+1):Limit
if ((Count_02>Limit) || (Count_01>Limit))
continue
end
a1=Y(Count_01);b1=X(Count_01);
a2=Y(Count_02);b2=X(Count_02);
Dist_01 = (sqrt((a1-a2)^2+(b1-b2)^2));
if (Dist_01 >Global_Threshold)
Center_X0 = …Run Code Online (Sandbox Code Playgroud) 我想将四边形图像转换为我知道这些顶点的矩形图像。例如,在下图中,我知道坐标 (X1,Y1) ~ (X4,Y4) 和 (x1,y1) ~ (x2,y2) 并且我想将其转换为矩形。如何获得与四边形图像中的(X,Y)坐标相对应的矩形图像中的(x,y)坐标?
____> Y ____> y
| |
| |
V V
X x
(X1,Y1) (X2,Y2) (x1,y1) (x1,y2)
________ _________
/ .(X,Y) \ => | .(x,y) |
/__________\ |_________|
(X3,Y3) (X4,Y4) (x2,y1) (x2,y2)
Run Code Online (Sandbox Code Playgroud) 我们如何删除DELPHI中表中的所有记录?我们不允许使用这样的循环:
for k:=1 to table1.recordcount do
begin
table1.Last;
table1.Delete;
end;
Run Code Online (Sandbox Code Playgroud)
有什么解决方案吗?
delphi ×2
matlab ×2
algorithm ×1
database ×1
euler-angles ×1
glscene ×1
opengl ×1
quaternions ×1