surfur demo 12如何gpp 12位数字激活码,汉化

148 MB/简体中文/0
顶好评:(310)
踩坏评:(53)
surfer11是一款专业的地图网格绘图软件,这个是目前的最新版本,主要适用于地理专业或者从事地理研究的专业人士使用。surfer11为用户提供了十二种插值算法,同时新增了流域图的绘制功能,完美支持中文语言,是制图、编软件、写论文的最佳助手。
surfer11软件并不是最高版本,但却是工作和学习中使用最多的版本。软件拥有十二种插值算法,只要将数据准备好,一幅漂亮、准确的等值图瞬间就可以 出来,还没有人为的因素干扰。当然surfer最常见的应用就是从xyz数据文件创建一个基于网格的各类图形。用户可以调用菜单中的(网格|数据)命令, 用来生成一个网格文件,然后再用图形菜单命令,从网格文件来生成各类图形。
surfer11中文版安装教程
1、下载解压缩,双击文件&Surfer(11.0.642)_Full_Download.exe&安装原程序;2、软件将根据用户的系统,自动选择32位或64位程序;3、安装结束时,请一定要去除&run surfer 11 now&选项,否则汉化菜单不能显示;4、将下载的Surfer11汉化版(汉化时需覆盖安装文件)文件夹中的内容,复制粘贴覆盖掉原来存在的文件;5、再双击文件&Surfer11汉化注册表补丁.reg&进行汉化;6、点击桌面的Surfer11图标,运行它,输入注册码,进入程序画面;7、小编提供五种产品序列号,请随意填写一组即可;WS-c2WS-130000-jz2aWS-132000-tbexWS-133000-xcfxWS-o
moldflow是由autodesk公司推出的一款专业仿真软件,主要适用于一些专业的模具建造行业,如注塑成型仿真工具、验证和优化塑料零件、注塑模具和注塑成型流程等,是专业的模具制作人员和工程师的必备工具
清华天河2010可以完美地与cad2010配合使用,CCAD201...
CAD迷你家装是一款专业的DWG画图工具,虽然体积小巧...
ViewCompanion Premium是一款功能强大的 HPGL、HP...
substance painter主要用于贴图的绘制操作,软件拥有全...
cad2010新版本的发布又是一个新的历程,在CAD2010中增...
Reallusion iClone 6是全新的3D动画编辑制作软件,通...
surfer11完美中文汉化版 含序列号
121下载口号:伸出你我的手 ― 分享!
121下载站破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。121所有软件经过严格安装检测,保证不会有任何 病毒木马等信息,请大家放心使用;
大家在安装的时候务必留意每一步的 N强烈推荐使用
下载本站软件以获取最佳的下载速度。
如果您觉得本站还不错, 以便下一次的访问 ^-^ ^-^
121下载QQ群:
① 50309443025人阅读
算法(41)
图像处理(36)
Demo分析(find_obj.cpp)
OpenCV2.1中有关于Surf算法的简单示例(1.1以上的版本都添加了这个算法),在路径:C:\Program Files\OpenCV2.1\samples\c下,名为find_obj.cpp,运行它可以直接观察到相应结果。为了便于介绍这个示例,简单做了如下修改(只是删掉一些代码,但是对于如何使用Surf算法没有影响)。
修改后的代码及其注释如下:(主要是介绍这个main函数)
* A Demo to OpenCV Implementation of SURF
* Further Information Refer to “SURF: Speed-Up Robust Feature”
* Author: Liu Liu
* liuliu.1987+
#include “stdafx.h”
#include &cv.h&
#include &highgui.h&
#include &ctype.h&
#include &stdio.h&
#include &stdlib.h&
#include &iostream&
#include &vector&
IplImage *image = 0;
double compareSURFDescriptors( const float* d1, const float* d2, double best, int length )
double total_cost = 0;
assert( length % 4 == 0 );
for( int i = 0; i & i += 4 )
double t0 = d1[i] – d2[i];
double t1 = d1[i+1] – d2[i+1];
double t2 = d1[i+2] – d2[i+2];
double t3 = d1[i+3] – d2[i+3];
total_cost += t0*t0 + t1*t1 + t2*t2 + t3*t3;
if( total_cost & best )
return total_
int naiveNearestNeighbor( const float* vec, int laplacian,
const CvSeq* model_keypoints,
const CvSeq* model_descriptors )
int length = (int)(model_descriptors-&elem_size/sizeof(float));
int i, neighbor = -1;
double d, dist1 = 1e6, dist2 = 1e6;
CvSeqReader reader,
cvStartReadSeq( model_keypoints, &kreader, 0 );
cvStartReadSeq( model_descriptors, &reader, 0 );
for( i = 0; i & model_descriptors-& i++ )
const CvSURFPoint* kp = (const CvSURFPoint*)kreader.
const float* mvec = (const float*)reader.
CV_NEXT_SEQ_ELEM(
kreader.seq-&elem_size, kreader );
CV_NEXT_SEQ_ELEM( reader.seq-&elem_size, reader );
if( laplacian != kp-&laplacian )
d = compareSURFDescriptors( vec, mvec, dist2, length );
if( d & dist1 )
dist2 = dist1;
neighbor =
else if ( d & dist2 )
if ( dist1 & 0.6*dist2 )
return -1;
//用于找到两幅图像之间匹配的点对,并把匹配的点对存储在
ptpairs 向量中,其中物体(object)图像的特征点
//及其相应的描述器(局部特征)分别存储在
objectKeypoints 和 objectDescriptors,场景(image)图像的特
//征点及其相应的描述器(局部特征)分别存储在
imageKeypoints和 imageDescriptors
void findPairs( const CvSeq* objectKeypoints, const CvSeq* objectDescriptors,
const CvSeq* imageKeypoints, const CvSeq* imageDescriptors, vector&int&& ptpairs )
CvSeqReader reader,
cvStartReadSeq( objectKeypoints, &kreader );
cvStartReadSeq( objectDescriptors, &reader );
ptpairs.clear();
for( i = 0; i & objectDescriptors-& i++ )
const CvSURFPoint* kp = (const CvSURFPoint*)kreader.
const float* descriptor = (const float*)reader.
CV_NEXT_SEQ_ELEM( kreader.seq-&elem_size, kreader );
CV_NEXT_SEQ_ELEM( reader.seq-&elem_size, reader );
int nearest_neighbor = naiveNearestNeighbor( descriptor, kp-&laplacian, imageKeypoints, imageDescriptors );
if( nearest_neighbor &= 0 )
ptpairs.push_back(i);
ptpairs.push_back(nearest_neighbor);
//用于寻找物体(object)在场景(image)中的位置,位置信息保存在参数dst_corners中,参数src_corners由物
//体(object的width几height等决定,其他部分参数如上findPairs
int locatePlanarObject( const CvSeq* objectKeypoints, const CvSeq* objectDescriptors,
const CvSeq* imageKeypoints, const CvSeq* imageDescriptors,
const CvPoint src_corners[4], CvPoint dst_corners[4] )
double h[9];
CvMat _h = cvMat(3, 3, CV_64F, h);
vector&int&
vector&CvPoint2D32f& pt1, pt2;
CvMat _pt1, _pt2;
findPairs( objectKeypoints, objectDescriptors, imageKeypoints, imageDescriptors, ptpairs );
n = ptpairs.size()/2;
if( n & 4 )
pt1.resize(n);
pt2.resize(n);
for( i = 0; i & i++ )
pt1[i] = ((CvSURFPoint*)cvGetSeqElem(objectKeypoints,ptpairs[i*2]))-&
pt2[i] = ((CvSURFPoint*)cvGetSeqElem(imageKeypoints,ptpairs[i*2+1]))-&
_pt1 = cvMat(1, n, CV_32FC2, &pt1[0] );
_pt2 = cvMat(1, n, CV_32FC2, &pt2[0] );
if( !cvFindHomography( &_pt1, &_pt2, &_h, CV_RANSAC, 5 ))
for( i = 0; i & 4; i++ )
double x = src_corners[i].x, y = src_corners[i].y;
double Z = 1./(h[6]*x + h[7]*y + h[8]);
double X = (h[0]*x + h[1]*y + h[2])*Z;
double Y = (h[3]*x + h[4]*y + h[5])*Z;
dst_corners[i] = cvPoint(cvRound(X), cvRound(Y));
int main(int argc, char** argv)
//物体(object)和场景(scene)的图像向来源
const char* object_filename = argc == 3 ? argv[1] : “box.png”;
const char* scene_filename = argc == 3 ? argv[2] : “box_in_scene.png”;
//内存存储器
CvMemStorage* storage = cvCreateMemStorage(0);
cvNamedWindow(“Object”, 1);
cvNamedWindow(“Object Correspond”, 1);
//颜色值
static CvScalar colors[] =
{{0,0,255}},
{{0,128,255}},
{{0,255,255}},
{{0,255,0}},
{{255,128,0}},
{{255,255,0}},
{{255,0,0}},
{{255,0,255}},
{{255,255,255}}
IplImage* object = cvLoadImage( object_filename, CV_LOAD_IMAGE_GRAYSCALE );
IplImage* image = cvLoadImage( scene_filename, CV_LOAD_IMAGE_GRAYSCALE );
if( !object || !image )
fprintf( stderr, “Can not load %s and/or %s\n”
“Usage: find_obj [&object_filename& &scene_filename&]\n”,
object_filename, scene_filename );
IplImage* object_color = cvCreateImage(cvGetSize(object), 8, 3);
cvCvtColor( object, object_color, CV_GRAY2BGR );
//物体(object)和场景(scene)的图像的特征点
CvSeq *objectKeypoints = 0, *objectDescriptors = 0;
CvSeq *imageKeypoints = 0, *imageDescriptors = 0;
//定义Surf算法要用的参数分别为
threshold 和 extended
CvSURFParams params = cvSURFParams(500, 1);
double tt = (double)cvGetTickCount();
//提取物体(object)和场景(scene)的图像的特征点及其描述器
cvExtractSURF( object, 0, &objectKeypoints, &objectDescriptors, storage, params );
printf(“Object Descriptors: %d\n”, objectDescriptors-&total);
cvExtractSURF( image, 0, &imageKeypoints, &imageDescriptors, storage, params );
printf(“Image Descriptors: %d\n”, imageDescriptors-&total);
//计算所消耗的时间
tt = (double)cvGetTickCount() –
printf( “Extraction time = %gms\n”, tt/(cvGetTickFrequency()*1000.));
CvPoint src_corners[4] = {{0,0}, {object-&width,0}, {object-&width, object-&height}, {0, object-
&height}};
//定义感兴趣的区域
CvPoint dst_corners[4];
IplImage* correspond = cvCreateImage( cvSize(image-&width, object-&height+image-&height), 8, 1 );
//设置感兴趣区域
cvSetImageROI( correspond, cvRect( 0, 0, object-&width, object-&height ) );
cvCopy( object, correspond );
cvSetImageROI( correspond, cvRect( 0, object-&height, correspond-&width, correspond-&height ) );
cvCopy( image, correspond );
cvResetImageROI( correspond );
//寻找物体(object)在场景(image)中的位置,并将信息保存
if( locatePlanarObject( objectKeypoints, objectDescriptors, imageKeypoints,
imageDescriptors, src_corners, dst_corners ))
for( i = 0; i & 4; i++ )
CvPoint r1 = dst_corners[i%4];
CvPoint r2 = dst_corners[(i+1)%4];
cvLine( correspond, cvPoint(r1.x, r1.y+object-&height ),
cvPoint(r2.x, r2.y+object-&height ), colors[8] );
//定义并保存物体(object)在场景(image)图形之间的匹配点对,并将其存储在向量
ptpairs 中,之后可以对
vector&int&
findPairs( objectKeypoints, objectDescriptors, imageKeypoints, imageDescriptors, ptpairs );
//显示匹配结果
for( i = 0; i & (int)ptpairs.size(); i += 2 )
CvSURFPoint* r1 = (CvSURFPoint*)cvGetSeqElem( objectKeypoints, ptpairs[i] );
CvSURFPoint* r2 = (CvSURFPoint*)cvGetSeqElem( imageKeypoints, ptpairs[i+1] );
cvLine( correspond, cvPointFrom32f(r1-&pt),
cvPoint(cvRound(r2-&pt.x), cvRound(r2-&pt.y+object-&height)), colors[8] );
cvShowImage( “Object Correspond”, correspond );
//显示物体(object)的所有特征点
for( i = 0; i & objectKeypoints-& i++ )
CvSURFPoint* r = (CvSURFPoint*)cvGetSeqElem( objectKeypoints, i );
center.x = cvRound(r-&pt.x);
center.y = cvRound(r-&pt.y);
radius = cvRound(r-&size*1.2/9.*2);
cvCircle( object_color, center, radius, colors[0], 1, 8, 0 );
cvShowImage( “Object”, object_color );
cvWaitKey(0);
//释放窗口所占用的内存
cvDestroyWindow(“Object”);
cvDestroyWindow(“Object Correspond”);
通过调试运行,可以得到dst_corners中的数据如下:
中的数据如下:
总共有39对匹配点,第一列表示物体(object)图像中匹配上的点,第一列表示场景(image)图像中匹配的点,其实也就是物体(object)图像中第28个特征点和场景(image)图像中第484个特征点相匹配。
通过这种索引(可以这么说ptpairs中存储的是索引)可以求的那个特征点的坐标,如下:
//取得图像中第i个特征点
CvSURFPoint* r = (CvSURFPoint*)cvGetSeqElem( objectKeypoints, i );
//通过ptpairs取得图像中第ptpairs[i]&个特征点,这个特征点是匹配上的点
CvSURFPoint* r1 = (CvSURFPoint*)cvGetSeqElem( objectKeypoints, ptpairs[i] );
运行示意图如下:
关于find_obj.cpp中的
#ifdef USE_FLANN
flannFindPairs( objectKeypoints, objectDescriptors, imageKeypoints, imageDescriptors, ptpairs );
findPairs( objectKeypoints, objectDescriptors, imageKeypoints, imageDescriptors, ptpairs );
不外乎就是在与说明是否采用 approximate nearest-neighbor 方法来寻找匹配点对。
本文链接:&转载请注明出处。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:907191次
积分:10069
积分:10069
排名:第1371名
原创:127篇
转载:423篇
评论:126条
(2)(12)(2)(4)(2)(1)(2)(5)(4)(4)(3)(1)(8)(11)(21)(14)(35)(11)(10)(3)(53)(29)(6)(35)(7)(32)(36)(7)(28)(58)(21)(58)(26)您的位置: >
> surfer11中文汉化破解版
surfer11中文汉化破解版
软件大小:68.4M
软件语言:简体中文
软件类型:国产软件
软件授权:免费软件
更新时间:
软件类别:图像处理
软件官网:
应用平台:Windows8, Windows7, WinVista, Win2003, WinXP, Win2000
网友评分:7.7分
surfer软件是Golden Software公司出品的一款著名地理数据网格化绘图软件,功能强大,支持文件格式化多,并拥有强大插值功能和绘制图件能力,是地质工作者专业的绘图软件。surfer11相比v10版功能上除了增加了流域图的绘制外,最大的变化应该说就是采用了Unicode编码,所以非常优良地支持了国际上任何语言,包括完美支持中文,是制图、编软件、写论文的最佳助手。surfer11软件并不是最高版本,但却是工作和学习中使用最多的版本。软件拥有十二种插值算法,只要将数据准备好,一幅漂亮、准确的等值图瞬间就可以出来,还没有人为的因素干扰。当然surfer最常见的应用就是从xyz数据文件创建一个基于网格的各类图形。用户可以调用菜单中的(网格|数据)命令,用来生成一个网格文件,然后再用图形菜单命令,从网格文件来生成各类图形。surfer11汉化破解方法:1、下载解压缩,双击文件“Surfer(11.0.642)_Full_Download.exe”安装原程序;2、软件将根据用户的系统,自动选择32位或64位程序;3、安装结束时,请一定要去除“run surfer 11 now”选项,否则汉化菜单不能显示;4、将下载的Surfer11汉化版(汉化时需覆盖安装文件)文件夹中的内容,复制粘贴覆盖掉原来存在的文件;5、再双击文件“Surfer11汉化注册表补丁.reg”进行汉化;6、点击桌面的Surfer11图标,运行它,输入注册码,进入程序画面;7、小编提供五种产品序列号,请随意填写一组即可;WS-c2WS-130000-jz2aWS-132000-tbexWS-133000-xcfxWS-o8、软件汉化破解成功后的界面如下:特别说明:如果你已经安装并使用过Surfer v11.0.642或者11.3.862,请将已经安装的Surfer11在控制面板中将其卸载,删除原来的安装目录,然后重新安装。在安装的最后要结束时,安装程序有一个复选框:现在立即运行Surfer。请一定将这个勾点去,不要选中,就是说不要立刻运行,这点很重要,否则汉化菜单不能显示,然后点击finish按钮退出安装。surfer流程图:此流程图说明xyz数据文件、网格文件、等值线图、三维曲面图之间的关系。该流程图可以应用于任何基于网格的图形类型。这个例子只显示两个基于网格的图形(即等值线图和三维曲面图)
其它版本下载
surfer11中文汉化破解版
感谢您对多多软件的信任,请把这份信任分享给您的朋友!
您的评论需要经过审核才能显示!
软件排行榜
1.46G / 简体中文 /7.9分
155M / 简体中文 /8.4分
92.6M / 简体中文 /8.1分
495M / 简体中文 /8分
265.3M / 简体中文 /7.9分
38M / 简体中文 /7.5分
2.55M / 简体中文 /8.1分
44.21M / 简体中文 /7.5分
10.8M / 多国语言 /8.1分
120M / 简体中文 /6分
Copyright (C)
. All rights reserved.}

我要回帖

更多关于 ios8.12怎么跳过激活 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信