精华内容
下载资源
问答
  • 如何矢量化编程

    2017-09-12 18:50:34
    % 定义含有三个样本的符号运算% d : nsample * nlabel % lnd : nsample * nlabel nlabel = 5; nsample = 3; feat_len = 4;% lambda : nlabel nlabel for i = 1:nlabel for j = 1:nlabel lambda(i,j) = sym(['...
    
    % 定义含有三个样本的符号运算
    
    % d : nsample * nlabel
    % lnd : nsample * nlabel
    nlabel = 5;
    nsample = 3;
    feat_len = 4;
    
    % lambda : nlabel nlabel
    for i = 1:nlabel
        for j = 1:nlabel
            lambda(i,j) = sym(['lambda' num2str(i) num2str(j)],'real');
        end
    end
    % d: nsample * nlabel
    for i = 1:nsample
        for j = 1:nlabel
            d(i,j) = sym(['d' num2str(i) num2str(j)],'real');
        end
    end
    % lnd : nsample * nlabel
    for i = 1:nsample
        for j = 1:nlabel
            lnd(i,j) = sym(['lnd' num2str(i) num2str(j)],'real');
        end
    end
    
    for i = 1:nsample
        for j = 1:nlabel
            lnp(i,j) = sym(['lnp' num2str(i) num2str(j)],'real');
        end
    end
    
    for i = 1:nsample
        for j = 1:nlabel
            p(i,j) = sym(['p' num2str(i) num2str(j)],'real');
        end
    end
    
    %  d .* lnd: nsample * nlabel
    %  (d.*lnd) *lambda : [nsample * nlabel] [nlabel * nlabel] ==> nample *
    %  nlabel
    
    %%%%%%%%%%%%%%%%%%%%%%%%%  第一项 %%%%%%%%%%%%%%%%%%%%%%%%%%
    standard_result = 0;
    for i = 1:nsample
        for j = 1:nlabel
            for m = 1:nlabel
                standard_result = standard_result + lambda(j,m)* d(i,j)* lnd(i,j);
            end
        end
    end
    
    % 版本1
    sum_lambda = sum(lambda,2);
    result1 = sum(sum_lambda'*(d.*lnd)');
    disp(simplify(result1 - standard_result));
    
    % 版本2,版本1和版本2得到同样的结果
    result1 = sum(sum(lambda'*(lnd' .* d')));
    disp(simplify(result1 - standard_result));
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%% 第二项 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    standard_result = 0;
    for i = 1:nsample
        for j = 1:nlabel
            for m = 1:nlabel
                standard_result = standard_result + lambda(j,m)*d(i,j)* lnp(i,m);
            end
        end
    end
    result2 = lambda*lnp'.*d';
    result2 = sum(sum(result2));
    disp(simplify(result2 - standard_result));
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 第三项 %%%%%%%%%%%%%%%%%%%%%%%%
    result3 = lambda*p'.*lnd';
    result3 = sum(sum(result3));
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 第四项 %%%%%%%%%%%%%%%%%%%%%%%%
    standard_result = 0;
    for i =1:nsample
        for j = 1:nlabel
            for m = 1:nlabel
                standard_result = standard_result + lambda(j,m)*p(i,m)*lnp(i,m);
            end
        end
    end
    
    result4 = sum(sum(lambda*(p.*lnp)'));
    disp(simplify(result4 - standard_result));
    
    % 四个表达式为:
    result1 = sum(sum(lambda'*(lnd' .* d')));  % sum_lambda = sum(lambda,2);
    result2 = -sum(sum(lambda*lnp'.*d'));   % nlabel * nsample
    result3 = -sum(sum(lambda*p'.*lnd'));   % nlabel * nsample ,注意!点乘和叉乘不能交换位置。
    result4 = sum(sum(lambda*(p.*lnp)'));  % nlabel * nsample
    
    result_all1 = sum(sum(lambda'*(lnd' .* d') -lambda*lnp'.*d' - lambda*p'.*lnd' + lambda*(p.*lnp)' ));
    tresult = result1 + result2 + result3 + result4;
    % 总的表达式
    standard_result = 0;
    for i = 1:nsample
        for j = 1:nlabel
            for m = 1:nlabel
                standard_result = standard_result + lambda(j,m) * ( (d(i,j) - p(i,m))   * (lnd(i,j) - lnp(i,m)) );
            end
        end
    end
    
    disp('-----------------------');
    disp(simplify(tresult - standard_result));
    disp(simplify(result_all1 - standard_result));
    
    
    展开全文
  • 我该如何改变它,以便myfunction可以采用if-statement中的数字或矩阵? 谢谢! [编辑:] 的实际功能如下所示: function output = myfunction(input1 , frequency , input2 , input3) zero_ind = input1 == 0 ; ...

    function output = myfunction(input1,input2)

    if input1 == 0

    output = equation1 ;

    else

    output = equation2 ;

    end

    我input1 = 0和input1 = 0.5和myfunction作品的权利进行了测试。 input1和input2实际上是3D矩阵。我想要更有效的计算,而不是通过元素计算为元素运行循环。

    如果input1都是非零元素,myfunction可以正常工作。似乎有一次我输入一个有零和非零元素的矩阵,它不能正确地通过if-statement。我的功能会给我NaN的元素有input1==0。

    我该如何改变它,以便myfunction可以采用if-statement中的数字或矩阵?

    谢谢!

    [编辑:]

    的实际功能如下所示:

    function output = myfunction(input1 , frequency , input2 , input3)

    zero_ind = input1 == 0 ;

    output = zeros(size(input1)) ;

    output(zero_ind) = input3(zero_ind)/frequency ./ input2(zero_ind) ; ;

    temp1(~zero_ind) = input1(~zero_ind)/frequency ;

    temp2(~zero_ind) = input2(~zero_ind) * frequency ;

    output(~zero_ind) = input3(~zero_ind) .* (1 + temp1(~zero_ind)).^temp2(~zero_ind) .* temp1(~zero_ind) ./ ((1 + temp1(~zero_ind)).^temp2(~zero_ind) - 1) ;

    2017-07-27

    Ying

    +0

    这两个等式都使用'input1'和'input2'吗? –

    +0

    'equation1'使用input2和'equation2'使用input1和input2。这会有什么不同吗? –

    +0

    它不完全清楚你想要做什么。 'all(input1(:))'你在找什么? –

    展开全文
  • 如何进行矢量化作业

    2018-07-27 11:00:11
    在工作底图扫描为光栅文件并调整水平不超过0.2度、图例板已经建立完备、代码库基本编制完成、光栅文件已经镶嵌配准的前提下方可进行分幅图的矢量化作业。
  • 影像校准所有图件扫描后都必须经过扫描纠正,对扫描后的栅格图进行检查,以确保矢量化工作顺利进行。对影像的校准有很多方法,下面介绍一种常用方法。1.打开ArcMap,增加Georeferncing工具条。2.把需要进行纠正的影像...

    94cdfbb8ecfbdcc000a1fde3add967bb.png

    9ac779a275097f5ea50fa79b83561930.png

    2dec32b4b30d0c040a6ae0ab646c057b.gif

    一.影像校准所有图件扫描后都必须经过扫描纠正,对扫描后的栅格图进行检查,以确保矢量化工作顺利进行。对影像的校准有很多方法,下面介绍一种常用方法。

     1.打开ArcMap,增加Georeferncing工具条。

     2.把需要进行纠正的影像增加到ArcMap中,会发现Georeferncing工具条中的工具被激活。

     3.在校正中我们需要知道一些特殊点的坐标。通过读图,我们知道坐标的点就是公里网格的交点,我们可以从图中均匀的取几个点。一般在实际中,这些点应该能够均匀分布。

     4.首先将Georeferncing工具条的Georeferncing菜单下Auto Adjust不选择。

     5.在Georeferncing工具条上,点击Add Control Point按钮。

     6.使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击输入该点实际的坐标位置. 

    7.用相同的方法,在影像上增加多个控制点,输入它们的实际坐标。

     8.增加所有控制点后,在Georeferencing菜单下,点击Update Display。

     9.更新后,就变成真实的坐标。

     10.在Georeferencing菜单下,点击Rectify,将校准后的影像另存。

    二、图象二值化

     11.把图像重新symbolize,使用classify分成两种类型,如:0-126,126-255。(补充:把图象二值化,否则不能进行数字化)在图象上鼠标右击,选取properties,在选symbolgy标签,在show中选classified ,classes等于2。 

    12.在arcCatalog中新建shp文件(分几层建几个,有点、线、多边形、多点四种类型),将图象和SHP文件一起加入到ARCMAP中,对SHP文件进行编辑,此时可以激活 arcscan,进行矢量化。

    三、补充

    13.arcScan 是arcmap工具组件之一。在使用arcscan之前,必须在tools工具条下的extension(扩展)选项中将arcscan标记为可用!然后再将arcscan工具在tools 栏的custom中将arcscan工具打开。[注:]在使用arcscan工具前,还要打开editor 工具条的startediting选项。

    明日更新ArcGIS的矢量化操作——ArcGis中进行地形图的配准 请大家关注本微信公众号,更多干货将持续更新!!!

    d60a3443057191c21d4d8d4465a43964.png

    展开全文
  • f9常用的键包括:F4键(高程递加)这个功能是供进行高程线矢量化时,为各条线的高程属性进行赋值时使用的。在设置了高程矢量化参数后,每按一次F4键,当前高程值就递加一个增量。F5键(放大屏幕)以当前光标为中心放大...

    匿名用户

    1级

    2011-12-09 回答

    没保存的话直接撤销

    追问:

    就是还在矢量一个地块,矢量一半了,但是弄错了一步,如果重新矢量,麻烦,但是不想重来,退后一步怎么退后呢?

    追答:

    退点?f9

    常用的键包括:

    F4键(高程递加)

    这个功能是供进行高程线矢量化时,为各条线的高程属性进行赋值时使用的。在设置了高程矢量化参数后,每按一次F4键,当前高程值就递加一个增量。

    F5键(放大屏幕)

    以当前光标为中心放大屏幕内容。

    F6键(移动屏幕)

    以当前光标为中心移动屏幕。

    F7键(缩小屏幕)

    以当前光标为中心缩小屏幕内容。

    F8键(加点):

    用来控制在矢量跟踪过程中需要加点的操作。按一次F8键,就在当前光标处加一点。

    F9键(退点):

    用来控制在矢量跟踪过程中需要退点的操作,每按一次F9键,就退一点。有时在手动跟踪过程中,由于注释等的影响,使跟踪发生错误,这时通过按F9键,进行退点操作,消去跟踪错误的点,再通过手动加点跟踪,即可解决。

    F11键(改向):

    用来控制在矢量跟踪过程中改变跟踪方向的操作。按一次F11键,就转到矢量线的另一端进行跟踪。

    F12键(抓线头):

    在矢量化一条线开始或结束时,可用F12功能键来捕捉需相连接的线头。

    “A”键------输入线时:锁定线头或线尾 (输入弧段:锁定弧段头或弧段尾)

    “S”键------ 锁定线中点 ( 锁定弧段中点) ^S(["6OJ(

    “D”键------ 靠近线的最近点__不加点)( 靠近弧段的最近点__不加点)

    “F”键------ 靠近线的最近点__加点) ( 靠近弧段的最近点__加点)

    “Ctrl” 键------封闭线或弧段(这个应该大多数人都知道)

    用法:按住 Ctrl + 鼠标右键

    “Shift”键------锁定线或弧段的折点

    用法:按住 Shift + 鼠标左键

    (鼠标光标放在要锁定的线上,靠近要锁定的那端就行,接近也可以!)

    展开全文
  • 很多工控或者简易屏幕上,也都还在使用点阵汉字,这是因为同矢量字体相比,点阵汉字占用的空间极小,这是由于点阵汉字的特性所决定的,一般一个点阵汉字是这样的:如上图所示,没有像素的点的值设为 0,有像素的点的...
  • 矢量化一幅地图无非就是首先将图形进行配准,然后再将图形用GIS中图形分层的概念进行分层矢量化,如果单从出图的角度来看,这些是足够的。如果需要做一些地图分析或地图查询等地理信息系统功能的话,就需要按照建库...
  • 》这篇文章搜集了很多ArcGIS相关技巧,里面就提到了自动矢量化这个功能,今天我们举例给大家演示下这个功能,Arcscan工具可以对灰度的栅格图像进行自动矢量化,工具位于右击工具条空白部位Arcscan即可调出。...
  • 用户可通过这些设置指定可以对哪些栅格数据进行矢量化以及如何构造输出矢量数据的几何。在 ArcScan 中,任何其他设置都不能像矢量化设置一样对栅格到矢量转换的结果产生影响。换言之,矢量化设置的参数将直接影响到...
  • ARCGIS中矢量化图片

    2009-09-04 15:21:10
    在arcgis中如何矢量化tif/jpg图片
  • 矢量图形,例如路径(这就是我们想要的)2.栅格图形,例如位图图像(我们有,但不需要)3.和字体我在Blender中所需的确实是一个向量路径。尽管其他两种数据类型可以包含在SVG文件中,但是Blender仅在写入时可以读取...
  • 矢量化设置

    2020-03-23 11:28:02
    用户可通过这些设置指定可以对哪些栅格数据进行矢量化以及如何构造输出矢量数据的几何。在 ArcScan 中,任何其他设置都不能像矢量化设置一样对栅格到矢量转换的结果产生影响。 矢量化设置应用于栅格追踪和自动矢量...
  • 当光栅图太小而无法满足您的需要时,解决方案是将图像转换为矢量,此过程称为矢量化。您可以在Adobe Illustrator中执行此操作。这是一个快速,简单的过程,并产生了出色的结果。这是使用Adobe Illustrator将图像转换...
  • 对于单个数组来说,这很简单:只需将序列设为numpy.array,而你的zigzag函数将在底层调用C代码。在def zigzag(seq):return seq[::2], seq[1::2]seq = np.array([1,1,5,1,5,5,1,5,1,1])result = zigzag(seq)print...
  • MAPGIS矢量化步骤

    2014-06-09 20:12:11
    MAPGIS矢量化步骤,如何使用mapgis进行矢量化
  • 本文由:“学设计上兔课网”原创,图片素材来自网络,仅供学习分享logo如何用栅格系统来设计?logo是品牌形象非常重要的一部分。当设计师运用栅格系统设计logo时,可以让logo的形状看起来更加完美,使品牌经久不衰...
  • ArcGIS矢量化

    2013-05-07 13:09:56
    通过视频教你如何在ArcGIS中对.jpg/.bmp等格式的图片进行矢量化,制作地图。
  • 栅格数据矢量化

    2013-06-22 16:19:40
    栅格数据矢量化指导过程,详细介绍了栅格数据矢量化的准备以及如何实现等操作
  • 我用Google搜索并了解到我可以使用numpy对迭代进行矢量化.但是,在我的情况下,我无法弄清楚如何制作它…… 如果有人可以帮助我加快算法速度,或者给我一些关于这个主题的好文档,我会很高兴的! 谢谢 !
  • 矢量化一幅地图无非就是首先将图形进行配准,然后再将图形用GIS中图形分层的概念进行分层矢量化,如果单从出图的角度来看,这些是足够的。如果需要做一些地图分析或地图查询等地理信息系统功能的话,就需要按照建库...
  • ArcMap栅格数据矢量化

    2015-01-23 11:25:53
    本文档描述了如何利用ARCGIS对栅格进行自动矢量化,手动矢量化等操作,这样会给你事半功倍的校果。
  • 如何用arcgis配准和矢量化?

    万次阅读 2009-10-20 16:55:00
    影像校准所有图件扫描后都必须经过扫描纠正,对扫描后的栅格图进行检查,以确保矢量化工作顺利进行。对影像的校准有很多方法,下面介绍一种常用方法。1.打开ArcMap,增加Georeferncing工具条。2.把需要进行纠正的影像...
  • 由于,我们只是演示如何对地图进行矢量化,因此这里不需要下载标签(另外,由于是从国外服务器下载,标签只到13级就没有了),在对话框中把标签选项的勾取消掉即可,如下图所示。 对话框中点击确定后,开始...
  • 所以刚开始设计的时候我建议先画最少20-30个概念稿,选出最好的3个将其矢量化到软件中,然后选出最好的一个用栅格系统来进行完善。随着经验的积累,你画的草图会越来越少,并在选择可行方案上更加有经验。当你开始...
  • 矢量对象是以矢量的形式,即用方向和大小来综合表示目标的形式描述的对象。... 栅格图像,也称光栅图像,是指在空间和亮度上都已经离散了的图像。我们可以把一幅栅格图像考虑为一个矩阵,矩阵中的任一...
  • 栅格数据容易获取,并进行直接分析,而矢量数据一般需要经过加工处理,特别是附属的属性信息,今天我们就来分享一下如何进行矢量化地图数据,文末附视频教程。首先打开ArcMAP,在工具栏选择+号图标,添加一幅底图。...
  • 所以刚开始设计的时候我建议先画最少20-30个概念稿,选出最好的3个将其矢量化到软件中,然后选出最好的一个用栅格系统来进行完善。随着经验的积累,你画的草图会越来越少,并在选择可行方案上更加有经验。当你开始...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 681
精华内容 272
关键字:

如何矢量化