求高手回答,cad怎么快速定位坐标

求高手回答,cad怎么快速定位坐标,第1张

首先,cad提供了许多定位坐标的方法。如你所说的这种情况,可以采用相对坐标的定位方法更为合适。具体步骤及分类可以参见下面的叙述:

1 CAD普通的坐标输入方式

平面绘图只需输入X,Y两个坐标值,三维绘图可以输入X,Y,Z三个坐标值。除此以外,CAD还提供了极坐标、柱坐标、球坐标,在输入这些坐标时,可以输入相对坐标原点的绝对值,也可以输入相对上一点的相对值。

(1)绝对坐标:

就是直接输入相对坐标原点的各轴向的距离或角度

(2)相对坐标:

相对上一点各轴向的距离或角度,需要在输入的坐标值前加一个@,例如@2,3,表示此点相对上一点X轴方向距离为2,Y轴距离为3。

(3)极坐标:

通过输入以角括号 (<) 分隔的距离和角度来定位点,也同样可以输入绝对坐标和相对坐标,输入相对坐标时前面也要加@符号,例如@10<45。

(4)柱坐标:

输入形式为:X<[与 X 轴所成的角度],Z ,也就是平面上的极坐标加上一个Z坐标。

(5)球坐标:

输入形式为:X<[与 X 轴所成的角度]<[与 XY 平面所成的角度] ,就是平面上的极坐标加上一个与XY平面的角度。

2动态输入功能的使用

CAD在2007(具体版本添加的不确定)以上版本都有动态输入(DYN)功能,这样在图形窗口绘图的时候,可以直接动态输入坐标值,这样输入坐标时不必去看命令行。但动态输入跟命令行输入是有区别的,输入坐标时默认是相对坐标,无需在前面加@,当然也可以设置成绝对坐标。

3其他实现方法

除了完整地输入坐标值,我们还可利用捕捉、正交的辅助工具,通过光标辅助定位或直接定位点的准确位置。

比如画直线时,可以利用对象捕捉(F3)直接用光标将点定位到已有图形的某个特征点上,然后可以利用光标定位方向,例如打开正交(F8)后将光标定位到水平或竖直方向,直接输入直线的长度即可,无需再输入相对坐标。

通常一幅图像有四个焦角点,已知图像的大小为widthheight,那么四个角点的坐标分别为:(0,0), (0,width-1), (height-1,0), (width-1,height-1)。

本人恰巧正在做角点的提取与匹配,特征点有很多种,看是基于区域还是边缘,先是要检测特征点,这个主要是利用微分,然后再提取,貌似没有现成的函数,这个给你参考一下,效果还可以

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Harris提取算法

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

clc,clear all;

filename='camera2bmp';

X= imread(filename); % 读取图像

Info=imfinfo(filename); %这个要习惯用

% f=rgb2gray(X);

f=X;

ori_im=double(f)/255; %unit8转化为64为双精度double64

fx = [-2 -1 0 1 2]; % x方向梯度算子(用于Harris角点提取算法)

Ix = filter2(fx,ori_im); % x方向滤波 善于使用filter

% fy = [5 8 5;0 0 0;-5 -8 -5]; % 高斯函数一阶微分,y方向(用于改进的Harris角点提取算法)

fy = [-2;-1;0;1;2]; % y方向梯度算子(用于Harris角点提取算法)

Iy = filter2(fy,ori_im); % y方向滤波

Ix2 = Ix^2;

Iy2 = Iy^2;

Ixy = IxIy;

clear Ix;

clear Iy; %消除变量哈

h= fspecial('gaussian',[10 10 ],2); % 产生77的高斯窗函数,sigma=2

Ix2 = filter2(h,Ix2);

Iy2 = filter2(h,Iy2);

Ixy = filter2(h,Ixy); %分别进行高斯滤波

height = size(ori_im,1);

width = size(ori_im,2);

result = zeros(height,width); % 纪录角点位置,角点处值为1 ,背景都是黑色的哈

R = zeros(height,width);

Rmax = 0; % 图像中最大的R值 以便设置门限

for i = 1:height

for j = 1:width

M = [Ix2(i,j) Ixy(i,j);Ixy(i,j) Iy2(i,j)]; %22的矩阵

R(i,j) = det(M)-006(trace(M))^2; % 计算R ,求得RMAX,看来是整体求得的,角点响应函数

if R(i,j) > Rmax

Rmax = R(i,j);

end;

end;

end;

cnt = 0; %记录点数的

for i = 2:height-1

for j = 2:width-1 % 进行非极大抑制,窗口33

if R(i,j) > 001Rmax && R(i,j) > R(i-1,j-1) && R(i,j) > R(i-1,j) && R(i,j) > R(i-1,j+1) && R(i,j) > R(i,j-1) && R(i,j) > R(i,j+1) && R(i,j) > R(i+1,j-1) && R(i,j) > R(i+1,j) && R(i,j) > R(i+1,j+1)

result(i,j) = 1;

cnt = cnt+1;

end;

end;

end;

%

% i=1;

% for j=1:height

% for k=1:width

% if result(j,k)==1;

% corners1(i,1)=j;

% corners1(i,2)=k;

% i=i+1;

% end;

% end;

% end;

[posc, posr] = find(result == 1);

cnt % 角点个数

imshow(ori_im255) %和 X的效果是一样的

hold on;

plot(posr,posc,'g+');

以上就是关于求高手回答,cad怎么快速定位坐标全部的内容,包括:求高手回答,cad怎么快速定位坐标、C++怎么提取某个像素点的坐标、matlab 中有提取图像特征点的函数吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9574495.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存