View4_TCO_ROI_PSE
LabView部分视觉函数中文解说
IMAQ Learn Pattern 2 VI在匹配阶段创建您要搜索的图案匹配的模板图像的描述,此描述的数据被附加到输入模板图像中。
在匹配阶段,从模板图像中提取模板描述符并且用于从检查图像中搜索模板。
Image:是一个您要搜索模板图像的参考检查图像。
Learn Pattern Setup Data(学习模式设置数据):是一个字符串,包含从本控件或从高级控件(IMAQ Advanced Setup Learn Pattern 2 VI)获得的信息。
如果此引脚没有连接,在学习阶段VI使用默认参数。
Learn Mask(学习面膜):是一个可选的屏蔽图像,此图片必须是U8模式的图像。
在VI中只学习那些在源图像中相应掩模为零的像素,非零像素被忽略。
不要设置这个参数来学习整个图像。
Template Image Out:是一个参考的模板,此模板图像包含的数据定义在匹配阶段的模板模式IMAQ Setup Learn Pattern 2 VI设置学习阶段,图案匹配过程中使用的参数。
执行IMAQ Learn Pattern 2 VI之前执行此VI。
Learn Mode:学习模板时,使用此引脚指定的不变性模式。
All (0)(默认值)提取移位和旋转不变匹配的模板信息Shift Information (1)提取平移不变性匹配的信息。
Rotation Information (2)提取旋转不变匹配的信息。
Learn Pattern Setup Data(学习模式设置数据):是一个字符串,包含学习阶段设置参数选择的信息。
此输出连接到IMAQ Learn Pattern 2 VI或IMAQ Advanced Setup Learn Pattern 2 VIIMAQ Setup Match Pattern 2 VIIMAQ设定匹配模式2 VI设置图案匹配的匹配阶段所使用的参数。
执行此VI前IMAQ Match Pattern 2 VI 或IMAQ Refine Matches VI。
旋转平移不变的手掌图像ROI 定位方法
旋转平移不变的手掌图像ROI定位方法兰州大学信息科学与工程学院,兰州(730000)Tanghw07@摘要:随着生物认证技术的不断发展,人们越来越重视对掌纹识别技术的研究,而手掌图像感兴趣区域(ROI)的定位是掌纹识别技术的关键环节之一。
本文提出了一种掌纹图像ROI 定位方法,该方法利用数字图像处理中的膨胀、腐蚀、旋转、平移等算法精确定位指尖、各手指之间的谷点、腕点和腕心,进而实现对手掌图像ROI的精确定位。
该方法可以在定位ROI时,自动识别要处理的图像采集于左手还是右手,大大提高了掌纹识别的便利性。
实验结果证明了该方法的有效性。
关键词:掌纹识别感兴趣区域腐蚀中国分类号:TP391.411.引言传统的身份识别方法主要有:钥匙、通行证、密码、口令等,这些身份认证方法容易丢失、遗忘、或被人破解、复制,而生物认证技术很好的克服了上述缺点。
随着人们对身份认证技术的安全性和便利性的要求越来越高,生物认证技术越来越受到众多研究者的关注[1]。
现阶段,指纹、脸型、声音、虹膜、手形等生物特征都被广泛应用于身份验证,这些特征识别相对于传统的识别方法在安全性等方面有了很大的提高,但是在采样和识别上仍然存在诸多局限。
例如在目前比较成熟的指纹识别技术中,由于部分手工劳动者和老年人的指纹不清晰,对他们的指纹采样存在很大的困难[2]。
与这些生物特征相比,掌纹特征具有唯一性,即使是双胞胎的掌纹也不相同[3]。
而且掌纹有着比指纹等更丰富的特征,对采集和处理设备的要求不高,而且采集过程相对简单,因此近年来,基于掌纹的生物识别技术受到了广泛的关注[4],许许多多的研究人员致力于掌纹识别技术的研究。
掌纹信息主要集中在掌心的一个很小的区域内,这个区域通常被称为感兴趣区域(ROI, Region of Interest) [5]。
在基于掌纹的生物识别技术中,ROI的定位是该技术的关键。
本文提出了一种精确定位掌纹图像ROI的方法。
现有的ROI定位方法大多需要辅助设备来固定手掌的位置,采用本研究所提出的方法定位ROI,在采集图像时不需要使用辅助设备。
IDOL KeyView Export SDK软件版本12.8.0发布说明说明书
Document Release Date:February2021 Software Release Date:February2021Legal noticesCopyright notice©Copyright2021 Micro Focus or one of its affiliates.The only warranties for products and services of Micro Focus and its affiliates and licensors(“Micro Focus”) are as may be set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty.Micro Focus shall not be liable for technical or editorial errors or omissions contained herein.The information contained herein is subject to change without notice.Documentation updatesThe title page of this document contains the following identifying information:l Software Version number,which indicates the software version.l Document Release Date,which changes each time the document is updated.l Software Release Date,which indicates the release date of this version of the software.To check for updated documentation,visit https:///support-and-services/documentation/. SupportVisit the MySupport portal to access contact information and details about the products,services,and support that Micro Focus offers.This portal also provides customer self-solve capabilities.It gives you a fast and efficient way to access interactive technical support tools needed to manage your business.As a valued support customer,you can benefit by using the MySupport portal to:l Search for knowledge documents of interestl Access product documentationl View software vulnerability alertsl Enter into discussions with other software customersl Download software patchesl Manage software licenses,downloads,and support contractsl Submit and track service requestsl Contact customer supportl View information about all services that Support offersMany areas of the portal require you to sign in.If you need an account,you can create one when prompted to sign in.To learn about the different access levels the portal uses,see the Access Levels descriptions.ContentsNew in this Release4Resolved Issues5Requirements6 Supported Platforms6 Supported Compilers6 Software Dependencies7Notes9 Documentation10New in this ReleaseNew in this ReleaseThis section lists the enhancements to KeyView Export SDK version12.8.0.l KeyView format detection has been extended,with support for42additional file formats.By identifying a larger range of formats present in the enterprise,decisions can be made on how toroute,filter,or alert on such documents.For the full list,refer to the KeyView Export SDKProgramming Guides.l KeyView can extract text from Haansoft Hangul HWPX files.This functionality is provided by a new reader,hwpxsr.This feature was included in12.7,but was not documented.l KeyView is now available for the Apple M1platform if enabled by your license.l KeyView is now available for Linux ARM(AArch64).l In PDF Export,you can now create a thumbnail of a document,by using the new fpCreateThumbnailForFile function.l XML Export can now convert files that are RMS encrypted,provided it is used in-process.l Support has been added for the new Zstandard(zstd)compression method for ZIP files.l KeyView can extract text from SAS7BDAT files.This functionality is provided by a new reader, sassr.l KeyView can now extract embedded content from PKCS#7signed data files.PKCS#7is used within S/MIME messages,and these messages are already handled by KeyView.This changeadds support for PKCS#7files that are not attached to S/MIME messages.l KeyView XML Export now returns the position of text boxes from Microsoft Word documents (DOCX).l The background color of Microsoft Word documents(DOCX)is now included in the partition information,and the reference implementation shows how to use this to reflect the appearance of the original document in the HTML output.l KeyView can now detect and extract alternate data streams in RAR archives. These alternative streams appear as additional subfiles that you can extract separately.l KeyView can now extract subfiles from some corrupt ZIP files.Resolved IssuesResolved IssuesThe following issues were resolved in KeyView Export SDK version12.8.0.l When the configuration file was larger than16kB,the file was truncated.There is now no size limit for this file.l KeyView failed to process certain Microsoft OneNote documents.l In Microsoft Visio2003-2010Drawing(.vsd)files,KeyView could incorrectly order the layers of objects(the z-ordering)in a drawing that contains groups,causing elements of the drawing to be wrongly obscured.l When a RAR(v4)archive contained alternate data streams,KeyView reported incorrect files named"STM",which would extract to empty files.l KeyView failed to convert most documents that contained tables with more than64columns,or more than32columns on32-bit Windows.l When processing Microsoft Word documents(DOCX)with grouped images,only the topmost image in a group was output.l When processing Microsoft Word documents(DOCX)with grouped images,any images output from groups were the wrong size.l Some CADAM_Drawing_Fmt files were not detected.l KeyView could return KVERR_PasswordProtected when processing S/MIME messages that were signed but not encrypted.l Powerpoint SmartArt content appeared as a black box when using the SVG output format.l KeyView could omit text from Microsoft Word documents(.docx)that were created by Google Docs.RequirementsThis section lists the supported platforms,supported compilers,and software dependencies for the KeyView Export SDK.Supported Platformsl CentOS7x86,x64,and AArch64l IBM AIX L6.1PowerPC32-bit and64-bitl IBM AIX L7.1PowerPC32-bit and64-bitl macOS10.13or later on64-bit Apple-Intel architecturel macOS11or later on Apple M1.l Microsoft Windows Server2012x64l Microsoft Windows Server2016x64l Microsoft Windows Server2019x64l Microsoft Windows7x86and x64l Microsoft Windows8x86and x64l Microsoft Windows10x64l Oracle Solaris10SPARCl Oracle Solaris10x86and x64l Red Hat Enterprise Linux6x86and x64l Red Hat Enterprise Linux7x64l Red Hat Enterprise Linux8x64l SuSE Linux Enterprise Server11x86and x64l SuSE Linux Enterprise Server12x64l SuSE Linux Enterprise Server15x64Supported CompilersSupported Compilers for Java ComponentsSoftware DependenciesSome KeyView components require specific third-party software:l Java Runtime Environment (JRE)or Java Software Developer Kit (JDK)version 7is required for Java API and graphics conversion in Export SDK.l Outlook 2002or later is required to process Microsoft Outlook Personal Folders (PST)files using the MAPI-based reader (pstsr ).The native PST readers (pstxsr and pstnsr )do not require Outlook.l Lotus Notes or Lotus Domino is required for Lotus Notes database(NSF)file processing.The minimum requirement is6.5.1,but version8.5is recommended.l Microsoft Visual C++2019Redistributables(Windows only).NotesNotesl The ability to provide KeyView license information as a file(kv.lic)has been deprecated.In theC API,the function fpInit()has been deprecated.Micro Focus recommends that you usefpInitWithLicenseData()instead,so that your license key is passed to KeyView through the API.You should not include license information in your application as a file.fpInit()is stillavailable for existing implementations,but it might be incompatible with new functionality andmight be removed in future.l The platform name for MacOS in installers has been updated from OSX_64to MACOS_X86_64.DocumentationDocumentationThe following documentation was updated for KeyView Export SDK version12.8.0.l KeyView Export SDK:HTML Export C and COM Programming Guidel KeyView Export SDK:HTML Export Java Programming Guidel KeyView Export SDK:PDF Export C Programming Guidel KeyView Export SDK:XML Export C Programming Guidel KeyView Export SDK:XML Export Java Programming Guide。
lateral view explode函数
在数据库中,explode函数是一种常用的数据处理函数,它可以用来将一个包含多个元素的数组拆分成多条记录,这在某些情况下可以极大地方便数据的处理和分析。
而lateral view则是在Hive中使用explode函数时需要注意的一个关键点,通过使用lateral view可以让explode函数在查询过程中得到正确的展开结果。
本文将对lateral view explode函数进行详细解读,以帮助读者更好地理解和使用这一数据处理方法。
二、lateral view的作用1.在Hive中,lateral view主要用于将一列拆分成多行,以便在下一步的计算中更好地对这些拆分后的数据进行处理。
2.使用lateral view时,需要结合explode函数来对需要拆分的列进行处理,以达到将一行数据拆分成多行的效果。
三、lateral view explode函数的语法1.在Hive中使用lateral view explode函数时,其基本语法如下:```sqlFROM ...LATERAL VIEW explode(expression) tableAlias AS columnAlias WHERE ...```2.其中,expression可以是一个数组类型的列,tableAlias是拆分后得到的表的别名,而columnAlias则是拆分后得到的列的别名。
3.通过该语法,可以将expression拆分成多行,然后在查询的结果中得到每行数据的拆分后的结果。
四、lateral view explode函数的示例以下是一个在Hive中使用lateral view explode函数的简单示例:```sqlSELECT emp_id, last_name, addressFROM employeeLATERAL VIEW explode(address) addrTable AS address WHERE ...```在上述示例中,employee表中包含了员工的位置区域信息,通过使用lateral view和explode函数,可以将address列拆分成多行数据,以便在查询的结果中更好地对员工的位置区域信息进行处理。
blue screen view 的使用方法
一、概述在计算机使用过程中,有时候会遇到蓝屏的情况,即出现了蓝屏错误。
而要排查蓝屏错误,就需要借助于一款专门的工具,即blue screen view。
该工具可以帮助用户快速定位蓝屏错误,并提供相关的错误信息,为后续的故障排除提供了重要参考。
二、blue screen view 的下载与安装1. 在浏览器中搜索“blue screen view”关键词,找到官方全球信息湾或者可信赖的第三方全球信息湾进行下载。
2. 下载完成后,双击安装程序,按照提示完成软件的安装过程。
3. 安装完成后,双击桌面上的blue screen view图标,启动软件。
三、blue screen view 的界面介绍1. 主界面:启动blue screen view后,首先看到的是该软件的主界面。
主界面上方有菜单栏和工具栏,提供了各种操作和设置选项;中间是蓝屏错误列表,列表中会显示出发生蓝屏的时间、错误代码等信息;下方是详细信息窗口,显示所选蓝屏错误的具体信息。
2. 菜单栏功能:菜单栏提供了文件、编辑、查看等功能选项,用户可以根据实际需求进行相应的设置和操作。
3. 工具栏功能:工具栏提供了一些常用的操作按钮,例如刷新、导出报告等,能够帮助用户更快捷地进行操作。
四、使用 blue screen view 分析蓝屏错误1. 查看蓝屏错误信息:在蓝屏错误列表中选中一条错误记录,可以在详细信息窗口中看到该错误的具体信息,包括错误代码、错误描述、发生时间等。
这些信息对于后续的故障排查非常重要。
2. 导出报告:用户可以将蓝屏错误信息导出成报告,方便保存和共享。
点击工具栏上的“导出报告”按钮,选择保存路径和格式,即可将报告保存到指定位置。
3. 重要参数解读:在详细信息窗口中,用户可以看到各种详细的参数信息,例如内存位置区域、寄存器状态等。
这些信息有助于用户更准确地定位错误产生的原因。
五、注意事项1. blue screen view 是一款专业的蓝屏错误分析工具,但并不是万能的。
halcon常用英语单词
halcon常用英语单词"Halcon" 是一个与机器视觉相关的软件,通常用于工业检测和自动化。
在使用Halcon进行编程和算法开发时,会遇到一些常用的英语单词。
以下是一些与Halcon相关的常见英语单词:1.Image - 图像2.Acquisition - 采集3.Processing - 处理4.Analysis - 分析5.Pattern - 模式6.Recognition - 识别7.Feature - 特征8.Extraction - 提取9.Filter - 滤波器10.Segmentation - 分割11.Edge - 边缘12.Blob - 斑块13.Contour - 轮廓14.Calibration - 标定15.Pose - 位姿16.Transform - 变换17.Matching - 匹配18.Measurement - 测量19.Inspection - 检测20.Defect - 缺陷21.Algorithm - 算法22.Parameter - 参数23.Optimize - 优化24.Region - 区域25.Threshold - 阈值26.Camera - 相机27.Lens - 镜头28.Lighting - 照明29.Trigger - 触发30.Interface - 接口31.Software Development Kit (SDK) - 软件开发工具包32.Graphics User Interface (GUI) - 图形用户界面33.Halcon Operator - Halcon操作符/函数34.Toolbox - 工具箱35.Library - 库36.Debugging - 调试37.Performance - 性能38.Accuracy - 精度39.Resolution - 分辨率40.Real-time - 实时41.Batch Processing - 批处理42.Result - 结果43.Output - 输出44.Input - 输入45.Dataset - 数据集46.Training - 训练47.Model - 模型48.Template - 模板49.Validation - 验证50.Error Handling - 错误处理51.Exception - 异常52.Logging - 日志记录53.Documentation - 文档54.Tutorial - 教程55.Example - 示例。
slideview包用户指南说明书
Package‘slideview’October14,2022Title Compare Raster Images Side by Side with a SliderVersion0.2.0Maintainer Tim Appelhans<***********************>Description Create a side-by-side view of raster(image)s with an interactiveslider to switch between regions of the images.This can be especially usefulfor image comparison of the same region at different time stamps.License MIT+file LICENSEEncoding UTF-8Depends R(>=2.10),methodsImports htmltools,htmlwidgets,lattice,raster,viridisLiteSuggests jpegRoxygenNote7.1.2URL https://r-spatial.github.io/slideview/NeedsCompilation noAuthor Tim Appelhans[cre,aut],Stefan Woellauer[aut]Repository CRANDate/Publication2022-04-1118:30:02UTCR topics documented:slideView (2)Index61slideView slideViewDescriptionTwo images are overlaid and a slider is provided to interactively compare the two images in a before-after like fashion.img1and img2can either be two RasterLayers,two RasterBricks/Stacks or two character strings.In the latter case it is assumed that these point to.png images on the disk.NOTE:In case you want to include multiple slideviews in one page in a Rmd orflexdashboard we highly recommend using package widgetframe.Also,make sure to use different image names and/or labels for each of the RasterLayers/Bricks/Stacks.Otherwise things will likely not work properly.This is a modified implementation of /rfriberg/8327361Usage##S4method for signature RasterStackBrick,RasterStackBrickslideView(img1,img2,label1=deparse(substitute(img1,env=parent.frame())),label2=deparse(substitute(img2,env=parent.frame())),r=3,g=2,b=1,na.color="#BEBEBE",maxpixels=1e+07,...)##S4method for signature RasterLayer,RasterLayerslideView(img1,img2,label1=deparse(substitute(img1,env=parent.frame())),label2=deparse(substitute(img2,env=parent.frame())),legend=TRUE,col.regions=viridisLite::inferno(256),na.color="#BEBEBE",maxpixels=1e+07)##S4method for signature RasterStackBrick,RasterLayerslideView(img1,img2,label1=deparse(substitute(img1,env=parent.frame())),label2=deparse(substitute(img2,env=parent.frame())),legend=TRUE,r=3,g=2,b=1,col.regions=viridisLite::inferno(256),na.color="#BEBEBE",maxpixels=1e+07,...)##S4method for signature RasterLayer,RasterStackBrickslideView(img1,img2,label1=deparse(substitute(img1,env=parent.frame())),label2=deparse(substitute(img2,env=parent.frame())),legend=TRUE,r=3,g=2,b=1,col.regions=viridisLite::inferno(256),na.color="#BEBEBE",maxpixels=1e+07,...)##S4method for signature character,characterslideView(img1,img2,label1=deparse(substitute(img1,env=parent.frame())),label2=deparse(substitute(img2,env=parent.frame())))##S4method for signature ANYslideview(...)Argumentsimg1a RasterStack/Brick,RasterLayer or path to a.pngfileimg2a RasterStack/Brick,RasterLayer or path to a.pngfilelabel1slider label for img1(defaults to object name)label2slider label for img2(defaults to object name)r integer.Index of the Red channel,between1and nlayers(x)g integer.Index of the Green channel,between1and nlayers(x)b integer.Index of the Blue channel,between1and nlayers(x)na.color the color to be used for NA pixelsmaxpixels integer>0.Maximum number of cells to use for the plot.If maxpixels< ncell(x),sampleRegular is used before plotting....additional arguments passed on to repective functions.legend whether to plot legends for the two images(ignored for RatserStacks/*Bricks).col.regions color(palette).See levelplot for details.color the color palette to be used for visualising RasterLayersDetailsCompare two images trough interactive swiping overlayFor slideView there are a few keyboard shortcuts defined:•space-toggle antialiasing•esc-zoom to layer extent•enter-set zoom to1•ctrl-increase panning speed by10Methods(by class)•img1=RasterLayer,img2=RasterLayer:for RasterLayers•img1=RasterStackBrick,img2=RasterLayer:for RasterStackBrick,RasterLayer•img1=RasterLayer,img2=RasterStackBrick:for RasterLayer,RasterStackBrick•img1=character,img2=character:for pngfiles•ANY:alias for ease of typingAuthor(s)Tim AppelhansStephan WoellauerExamplesif(interactive()){###example taken from###.au/technology/environment/nasa-images-reveal-###aral-sea-is-shrinking-before-our-eyes/story-e6frflp0-1227074133835library(jpeg)library(raster)web_img2000<-".au/image/v1/68565a36c0fccb1bc43c09d96e8fb029"jpg2000<-readJPEG(readBin(web_img2000,"raw",1e6))#Convert imagedata to rasterrst_blue2000<-raster(jpg2000[,,1])rst_green2000<-raster(jpg2000[,,2])rst_red2000<-raster(jpg2000[,,3])img2000<-brick(rst_red2000,rst_green2000,rst_blue2000)web_img2013<-".au/image/v1/5707499d769db4b8ec76e8df61933f2a" jpg2013<-readJPEG(readBin(web_img2013,"raw",1e6))#Convert imagedata to rasterrst_blue2013<-raster(jpg2013[,,1])rst_green2013<-raster(jpg2013[,,2])rst_red2013<-raster(jpg2013[,,3])img2013<-brick(rst_red2013,rst_green2013,rst_blue2013)slideView(img2000,img2013,label1="before",label2="after")}Indexlevelplot,4slideView,2slideview(slideView),2slideview,ANY-method(slideView),2slideView,character,character-method(slideView),2slideView,RasterLayer,RasterLayer-method(slideView),2slideView,RasterLayer,RasterStackBrick-method(slideView),2slideView,RasterStackBrick,RasterLayer-method(slideView),2slideView,RasterStackBrick,RasterStackBrick-method (slideView),26。
LinkageMapView包说明说明书
Package‘LinkageMapView’October12,2022Type PackageTitle Plot Linkage Group Maps with Quantitative Trait LociVersion2.1.2Description Produces high resolution,publication ready linkage mapsand quantitative trait loci maps.Input can be output from'R/qtl',simple text or comma delimitedfiles.Output is currentlya portable documentfile.Depends R(>=2.10)URL https:///louellette/LinkageMapViewBugReports https:///louellette/LinkageMapView/issuesLicense GPL-3LazyData TRUEImports qtl(>=1.39-5),plotrix(>=3.6-3),grDevices,graphics,utils,RColorBrewerSuggests rmarkdown,testthat,knitrRoxygenNote6.0.1VignetteBuilder knitrNeedsCompilation noAuthor Lisa Ouellette[aut,cre]Maintainer Lisa Ouellette<*****************>Repository CRANDate/Publication2018-01-2115:00:11UTCR topics documented:carrot (2)LinkageMapView (2)lmv.linkage.plot (3)lmvdencolor (10)oat (11)12LinkageMapView Index13carrot a carrot comparative linkage map data frame kindly provided by Mas-simo Iorizzo:Cavagnaro et al.BMC Genomics2014,15:1118DescriptionContains the following columns:1.group-This will be the title for the linkage group unless overridden.2.position-must be in numerical order ascending within linkage group name.3.locus-marker name at this position.UsagecarrotFormatAn object of class data.frame with126rows and3columns.LinkageMapView LinkageMapView:A package for plotting linkage group maps andQTLsDescriptionLinkageMapView produces high resolution,publication ready linkage maps and QTL maps.DetailsThere are many optional parameters to format the output pdf.Please see the help for function lmv.linkage.plot for a full description of each parameter and examples.lmv.linkage.plot LinkageMapView plotting functionDescriptionlmv.linkage.plot is the main function to produce linkage group maps and has many parameters to customize the pdf output.Usagelmv.linkage.plot(mapthis,outfile,mapthese=NULL,at.axis=NULL,autoconnadj=TRUE,cex.axis=par("cex.axis"),cex.lgtitle=par("cex.main"),cex.main=par("cex.main"),col.axis=par("col.axis"),col.lgtitle=par("col.main"),col.main=par("col.main"),conndf=NULL,denmap=FALSE,dupnbr=FALSE,font.axis=par("font.axis"),font.lgtitle=par("font.main"),font.main=par("font.main"),header=TRUE,labdist=0.3,labels.axis=TRUE,lcex=par("cex"),lcol=par("col"),lfont=par("font"),lgperrow=NULL,lgtitles=NULL,lgw=0.25,lg.col=NULL,lg.lwd=par("lwd"),lty.axis="solid",lwd.axis=1,lwd.ticks.axis=lwd.axis,main=NULL,markerformatlist=NULL,maxnbrcolsfordups=3,pdf.bg="transparent",pdf.family="Helvetica",pdf.fg="black",pdf.width=NULL,pdf.height=NULL,pdf.pointsize=12,pdf.title="LinkageMapView R output",posonleft=NULL,prtlgtitles=TRUE,qtldf=NULL,revthese=NULL,rcex=par("cex"),rcol=par("col"),rfont=par("font"),roundpos=1,rsegcol=TRUE,ruler=FALSE,sectcoldf=NULL,segcol=NULL,qtlscanone=NULL,showonly=NULL,units="cM",ylab=units)Argumentsmapthis Required,either a’cross’object from r/qtl,a csv or txtfile or a data frame with the following3columns in this order:1.Required,linkage group name.This will be the title for the linkage groupunless overridden-see lgtitles.2.Required,position-must be in numerical order ascending within linkagegroup name.3.Required,locus-marker name at this position.4.Optional,segcol-color for the line across the chromosome at this marker.See also segcol parameter.outfile Required,name for the output pdffile.mapthese Optional vector of linkage group names to print.The default,NULL,will print all linkage groups in mapthis.at.axis Optional.The points at which tick-marks are to be drawn on the ruler.Non-finite(infinite,NaN or NA)values are omitted.By default(when NULL)tickmarklocations are computed.#’@seealso axisautoconnadj If TRUE(the default),locus with the same name(homologs)on adjacent linkagegroups will be connected with a line.cex.axis The magnification to be used for axis(ruler)text.The default is par("cex.axis").cex.lgtitle The magnification to be used for linkage group titles.The default is par("cex.main"). cex.main The magnification to be used for main title.The default is par("cex.main").col.axis The color to be used for axis(ruler)text.Defaults to par("col.axis").col.lgtitle The color to be used for linkage group titles.Defaults to par("col.main").col.main The color to be used for the main title.Defaults to par("col.main").conndf An optional data frame containing markers to be connected with lines(ho-mologs).If autoconnadj=TRUE,these lines will appear as well as those withthe same name in adjacent linkage groups.Required columns:•fromchr Linkage group for the line start.•fromlocus Locus name for the line start.•tochr Linkage group for the line end.•tolocus Locus name for the line end.denmap If TRUE,you are requesting a density map which means no locus or positionlabels will be printed and the following parameters are set:ruler=TRUE auto-conndf=FALSE conndf=NULL See also sectcoldf parameterdupnbr If TRUE,only thefirst marker name at a position will print with(##more)afterwards indicating the number of duplicate markers at that position.dupnbrshould be left to the default,FALSE,if showonly provided.font.axis An integer which specifies which font to use for the axis(ruler)text.The defaultis par("font.axis").1is plain text.2is bold.3is italic.4is bold italic.font.lgtitle An integer which specifies which font to use for the linkage group titles text.The default is par("font.main").1is plain text.2is bold.3is italic.4is bolditalic.font.main An integer which specifies which font to use for title text.The default is par("font.main").1is plain text.2is bold.3is italic.4is bold italic.header A boolean indicating if the inputfile has a header row.Default is TRUE.labdist Distance in inches from the chromosome to the position and locus labels.Thedefault is0.3inches.labels.axis Optional.This can either be a logical value specifying whether(numerical)annotations are to be made at the tickmarks on the ruler,or a character or ex-pression vector of labels to be placed at the tickpoints.If this is not logical,atshould also be supplied and of the same length.The default is TRUE.lcex A numerical value giving the amount by which position labels should be mag-nified.The default is par("cex").See also rcex for locus labels.lcol The color for the position labels.The default is par("col").See also rcol forlocus labels.lfont An integer which specifies which font to use for the position labels.The default is par("font").See also rfont for locus labels.lgperrow An integer specifying how many linkage groups to plot in one row.As many rows as needed to plot all requested linkage groups will be plotted.lgtitles Optional vector of titles for the linkage groups.These will override the default, which is that the linkage group names in the input print as titles.This may beuseful if in mapthese you have indicated to print the same linkage group morethan once for the purpose of showing homologous markers without having linescross.See also cex.lgtitle,col.lgtitle,font.lgtitlelgw Width of chromosome in inches.Default is0.25inches.lg.col Linkage group color.The color of the chromosomes.The default is the back-ground color(pdf.bg).lg.lwd Linkage group linewidth.The width of the line around the chromosome.De-faults to par("lwd").lty.axis Optional.Line type for both the axis line and the tick marks.lwd.axis Optional.Line width for the axis line.The default is1.lwd.ticks.axis Optional.Line width for the axis tick marks.Default is lwd.axismain An optional title for the linkage group map.See also cex.main,col.main,and font.main.markerformatlistAn optional list containing the following vectors:•locus Required.A vector of loci for which the following should be applied.•col Optional.The color for these locus labels.This color will override rcol.See also rsegcol.•cex Optional.A numerical vlue giving the amount by which these locuslabels should be magnified.This value will override rcex.•font Optional.An integer which specifies which font to use for these locuslabels.This value will override rfont.maxnbrcolsfordupsIndicates the number of columns across the page for locus labels appearing atduplicate positions.The default is3.pdf.bg Background color for the pdf.Default is"transparent".pdf.family Font family for all text.Default is"Helvetica".pdf.fg Foreground color for the pdf.Default is black.pdf.width Width of the outputfile in inches.Defaults to the size necessary tofit all linkage groups with other options specified.pdf.height Height of the outputfile in inches.Defaults to the size necessary tofit all linkage groups with other options specified.pdf.pointsize The default point size to be used.Defaults to12.pdf.title Title to be passed to pdf as metadata.This title does not appear except in the pdf metadata.Defaults to"LinkageMapView R output".posonleft A vector of boolean(TRUE or FALSE)the length of the number of linkage groups to be plotted.If FALSE,print positions on right hand side of linkagegroup and locus names on left hand side of linkage group.Default is TRUE. prtlgtitles If FALSE do not print linkage group titles.Default is TRUE.qtldf An optional data frame containing QTL information for plotting.The data frame,if provided,must contain:•chr Linkage group name for QTL.•qtl Name(label)for QTL.•so Start of outer interval.Numeric.•si Start of inner interval.Numeric.•ei End of inner interval.Numeric.•eo End of outer interval.Numeric.•col Color for QTL.revthese Optional vector of linkage group names to reverse.The end position becomes position0and position0becomes the end position.rcex A numerical value giving the amount by which locus labels should be magnified.The default is par("cex").See also lcex for position labels.rcol The color for the locus labels.The default is par("col").See also lcol for position labels.rfont An integer which specifies which font to use for the locus labels.The default is par("font").See also lfont for position labels.roundpos Number of positions after the decimal point to print for positions.Default is1 rsegcol Color of the segments across the chromosome and to the label.TRUE,the de-fault,indicates the color should be the same as the label.ruler A single boolean(TRUE OR FALSE).If TRUE,an axis is drawn on the left hand side of the page and the position labels are not printed on any linkagegroup.The default is FALSE.sectcoldf Optional data frame containing the following named columns indicating sections of the chromosome to be colored:•Required,chr-matches from inputfile or cross object linkage group name•Required,s-start position in cM•Required,e-end position in cM•Required,col-color for section•Optional,dens-a numeric cm/marker value used to print the density maplegend.For a density map,use the lmvdencolor function to populate sectcoldf.Whendenmap=TRUE and no sectcoldf parameter is supplied,lmvdencolor is calledwith defaults fully populating the sectcoldf data frame.See also the denmapparameter.@seealso lmvdencolorsegcol of the column in mapthis that contains colors for the line seg-ments across the chromosome.If specified,this overrides rsegcol.qtlscanone Optional scanone data frame from package r/qtl.If provided,all QTLs in the dataframe will be drawn by calculating their start and end with the r/qtl functionbayesint with defaults.showonly Optional vector of marker names.If provided,only these marker names will be printed.units Units of the position values supplied in mapthis.The default value is cM(cen-timorgan)but any value can be provided.The value provided is only used for aruler(y axis)title and the density map legend text.ylab Optional.Title for the y-axis(ruler).The default value is units.See units parameter.Examples##take a cross object from r/qtl and produce linkage map##on chr1,4,6,15library(qtl)data(hyper)outfile=file.path(tempdir(),"hyper.pdf")lmv.linkage.plot(hyper,outfile,mapthese=c(1,4,6,15))##color some of the markers for emphasislibrary(qtl)data(hyper)#make a list to pass label optionsflist<-list()locus<-c("D1Mit123","D1Mit105","D6Mit273","D15Mit56","D15Mit156")col<-c("red")flist[[1]]<-list(locus=locus,col=col)outfile=file.path(tempdir(),"hyperred.pdf")lmv.linkage.plot(hyper,outfile,mapthese=c(1,4,6,15),markerformatlist=flist)##change some of the pdf options and chromosome color##changing linkage group title color(col.lgtitle)to same as##foreground pdf colorlibrary(qtl)data(hyper)outfile=file.path(tempdir(),"hyperlg.pdf")lmv.linkage.plot(hyper,outfile,mapthese=c(1,4,6,15),pdf.bg="black",pdf.fg="white",col.lgtitle="white",pdf.height=8,pdf.title="myhyper",lg.col="tan")##change all label colors and fontslibrary(qtl)data(hyper)outfile=file.path(tempdir(),"hypercol.pdf")lmv.linkage.plot(hyper,outfile,mapthese=c(1,4,6,15),lcol="blue",lfont=2,lcex=1.2,rcol="red",rfont=3,rcex=2)##make a dataframe to pass sections of chr to col##use a ruler instead of printing positions as labels##only allow one column for duplicate markers at same position ##(default is3)library(qtl)data(hyper)chr=c(1,4,6,15)s=c(82,35,9.8,7.7)e=c(94,47,21.9,13.1)col=c("pink","blue","blue","green")sectcoldf<-data.frame(chr,s,e,col,stringsAsFactors=FALSE) outfile=file.path(tempdir(),"hyperruler.pdf")lmv.linkage.plot(hyper,outfile,mapthese=c(1,4,6,15),ruler=TRUE,maxnbrcolsfordups=1,sectcoldf=sectcoldf)##plot qtls also out of a r/qtl scanone object##plot marker names on left(instead of right)of chr4and7 library(qtl)data(hyper)#create scanone df for testinghyper<-calc.genoprob(hyper,step=2.0,map.function="haldane",stepwidth="fixed")hyper.scanone<-scanone(hyper)outfile=file.path(tempdir(),"testrqtlhyper2.pdf")lmv.linkage.plot(hyper,outfile,mapthese=c(1,4,6,7,15),qtlscanone=hyper.scanone,posonleft=c(TRUE,FALSE,TRUE,FALSE,TRUE))##Not run:##plot a carrot comparative linkage map##kindly provided by Massimo Iorizzo:##Cavagnaro et al.BMC Genomics2014,15:1118#make a df to pass qtl infoqtldf<-data.frame(chr=character(),qtl=character(),so=numeric(),si=numeric(),ei=numeric(),eo=numeric(),col=character(),stringsAsFactors=FALSE)qtldf<-rbind(qtldf,data.frame(chr="70349LG3",qtl="RTPE-Q1",so=36.6,si=37,ei=37,eo=38,col="red"))#make a list to pass label optionsflist<-list()locus<-c("BSSR-094","K0149","K0627","K2161","ESSR-087","ESSR-057") font<-c(2)#boldflist[[1]]<-list(locus=locus,font=font)locus<-c("F3H","FLS1")font<-c(4)#bold italicflist[[2]]<-list(locus=locus,font=font)locus<-c("P3","P1","Raa1")font<-c(3)#italiccol<-c("red")flist[[3]]<-list(locus=locus,font=font,col=col)filename<-system.file("extdata","Carrot.csv",package="LinkageMapView") outfile=file.path(tempdir(),"carrot.pdf")lmv.linkage.plot(mapthis=filename,outfile=outfile,ruler=TRUE,lgtitle=c("2170","70349","10117"),maxnbrcolsfordups=1,markerformatlist=flist,lg.col="lightblue1",pdf.width=10,revthese=c("70349LG3"),qtldf=qtldf)##End(Not run)##do a density map with default colorsdata(oat)outfile=file.path(tempdir(),"oat_Mrg01.pdf")lmv.linkage.plot(oat,outfile,mapthese=c("Mrg01","Mrg02"),denmap=TRUE)10lmvdencolor ##Not run:##do a density map and provide your own colors with lmvdencolor helperdata(oat)##outfile=file.path(tempdir(),"oat_Mrg01_YlGn.pdf")sectcoldf<-lmvdencolor(oat,colorin=colorRampPalette(RColorBrewer::brewer.pal(8,"YlGn"))(5))lmv.linkage.plot(oat,outfile,denmap=TRUE,sectcoldf=sectcoldf)##End(Not run)lmvdencolor LinkageMapView density color functionDescriptionlmvdencolor is a helper function which you can use to create a data frame of colors to be used as the sectcoldf input parameter on the lmv.linkage.plot command.The colors will be used to color the linkage group based on the density of position/marker.This function is called with default values when the denmap=TRUE parameter is specified for lmv.linkage.plot and no sectcoldf parameter is found.Usagelmvdencolor(df,wsize=30,bias=5,colorin=colorRampPalette(RColorBrewer::brewer.pal(8,"Spectral"))(25))Argumentsdf Required,a data frame with thefirst two columns in this order:1.Linkage group name.2.Position-must be in numerical order ascending within linkage group name.If the maximum position in any linkage group is<1000,the density will becalculated for each position.Otherwise the number of positions includedfor each density calculation will be:ceiling(maximum position of an link-age group/1000)wsize Optional,default=30.#of postions in the sliding window for calculating pos-titions/marker.If the maximum position in any linkage group is>=1000,thedefault sliding window size will be adjusted by the same ratio as the number ofpositions included for each density calculate.bias Optional,default=5.a positive number.Higher values give more widely spaced colors at the high end.colorin Optional,a vector of colors to use where thefirst value is the color for the lowest density and the last value is the color for the highest density.Default is:rev(colorRampPalette(RColorBrewer::brewer.pal(8,"Spectral"))(25))oat11 Valuea data frame that can be used as sectcoldf input on the lmv.linkage.plot function to color the chro-mosome for a density map.See AlsocolorRamplmv.linkage.plotExamples#add a column to a linkage group data frame to specify colors for#line segments in lmv.linkage.plot using default colors from RColorBrewer#Spectral palette.Then just plot the returned colors out to see how#they look.data(oat)sectcoldf<-lmvdencolor(oat)#see colors producedimage(seq_along(oat[,2]),1,as.matrix(seq_along(oat[,2])),col=sectcoldf$col,axes=FALSE,xlab="",ylab="")oat oat consensus map data frameDescriptionChaffin,A.S.,Y.Huang,S.Smith,W.A.Bekele,E.Babiker,B.N.Gnanesh,B.J.Foresman, S.G.Blanchard,J.J.Jay,R.W.Reid,C.P.Wight,S.Chao,R.Oliver,E.Islamovic,F.L.Kolb,C.McCartney,J.W.Mitchell Fetch,A.D.Beattie,?.Bjornstad,J.M.Bonman,ngdon,C.J.Howarth,C.R.Brouwer,E.N.Jellen,K.E.Klos,J.A.Poland,T.Hsieh,R.Brown,E.Jackson,J.A.Schlueter,and N.A.Tinker.2016.A Consensus Map in Cultivated Hexaploid Oat Reveals Conserved Grass Synteny with Substantial Subgenome Rearrangement.Plant Genome9.doi:10.3835/plantgenome2015.10.0102UsageoatFormatAn object of class data.frame with16668rows and3columns.12oatDetailsContains the following columns:1.Group-This will be the title for the linkage group unless overridden.2.Position-must be in numerical order ascending within linkage group name.3.Locus-marker name at this position.Index∗datasetscarrot,2oat,11axis,4carrot,2colorRamp,11LinkageMapView,2LinkageMapView-package(LinkageMapView),2lmv.linkage.plot,3,11lmvdencolor,6,10oat,1113。
opencv——感兴趣区域(ROI)的分析和选取[详细总结]
opencv——感兴趣区域(ROI)的分析和选取[详细总结]引⾔在利⽤OpenCV对图像进⾏处理时,通常会遇到⼀个情况,就是只需要对部分感兴趣区域进⾏处理。
因此,如何选取感兴趣区域呢?(其实就是“抠图”)。
在学习opencv的掩码运算后,尝试实现⼀个类似halcon的reduce_domain功能,对于实现抠图的过程中,需要掌握的要点就是位运算符和copyTo函数 位运算符的相关API:void bitwise_and(InputArray src1, InputArray src2, OutputArray dst); //dst = src1 & src2 “与”操作void bitwise_or(InputArray src1, InputArray src2, OutputArray dst); //dst = src1 | src2 “或”操作void bitwise_xor(InputArray src1, InputArray src2, OutputArray dst); //dst = src1 ^ src2 “异或”操作void bitwise_not(InputArray src, OutputArray dst); //dst = ~src “⾮”操作copyTo函数它的定义OpenCV中image.copyTo()有两种形式:1、image.copyTo(imageROI),作⽤是把image的内容复制到imageROI;2、image.copyTo(imageROI,mask),作⽤是把原图(image)和掩膜(mask)与运算后得到ROI区域(imageROI)。
mask就是位图,如果mask像素的值是⾮0的,我就拷贝它,否则不拷贝。
(⾮零的位置就是原图中的那些需要拷贝的部分)正⽂部分对于感兴趣区域(Region of Interest, ROI)的选取,⼀般有两种情形:1)已知ROI在图像中的位置;2)ROI在图像中的位置未知。
vtk 计算roi区域内的像素值
vtk 计算roi区域内的像素值下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!使用VTK计算ROI区域内的像素值简介在图像处理和计算机视觉领域,ROI(Region of Interest,感兴趣区域)是指图像中用户定义的区域,通常用于提取特定的图像特征或进行分析。
getroi函数 -回复
getroi函数-回复如何使用Python中的getroi函数进行图像分割和特征提取介绍在计算机视觉领域,图像分割和特征提取是十分重要的任务。
图像分割是指将一个图像划分成多个区域,而特征提取则是从这些区域中提取有意义的信息,以便于进一步的分析和处理。
Python作为一种广泛使用的编程语言,提供了许多图像处理和计算机视觉相关的库。
其中,OpenCV库中的getroi函数是一个用于图像分割和特征提取的强大工具。
getroi函数的功能getroi函数是OpenCV库中的一个函数,用于根据输入的一些指示参数和条件从图像中提取感兴趣区域(Region of Interest, ROI)。
这个函数可以返回每个感兴趣区域的像素值、边界框信息以及一些统计特征,从而便于对感兴趣区域进行进一步的处理和分析。
使用getroi函数的步骤下面,我们将介绍如何使用getroi函数进行图像分割和特征提取,主要包括以下步骤:1. 导入所需的库和模块首先,我们需要导入所需的库和模块。
在使用getroi函数之前,我们需要安装和导入OpenCV库,以及其他一些相关函数和工具。
import cv2import numpy as np2. 读取图像接下来,我们需要读取并加载一张图像。
可以使用cv2.imread函数来读取图像。
确保图像位于代码文件所在的目录中。
image = cv2.imread('image.jpg')3. 设置感兴趣区域在使用getroi函数之前,需要设置感兴趣区域。
可以使用相关的滑块、鼠标事件或者手动指定坐标和尺寸来设置感兴趣区域。
getroi函数可以根据相关的输入参数,自动划定感兴趣区域。
# 创建窗口并设置鼠标事件回调函数dWindow('image')cv2.setMouseCallback('image', get_roi)# 定义回调函数def get_roi(event, x, y, flags, param):global roi_top_left, roi_bottom_rightif event == cv2.EVENT_LBUTTONDOWN:roi_top_left = (x, y)elif event == cv2.EVENT_LBUTTONUP:roi_bottom_right = (x, y)4. 调用getroi函数现在,我们已经设置好了感兴趣区域。
r语言view函数
r语言view函数R语言是一种广泛使用的统计分析语言,它包含了许多强大的函数和工具,可以用于数据分析、数据可视化、机器学习等领域。
其中,view函数是一种非常常用的函数,它可以帮助我们快速地查看和编辑数据集。
本文将详细介绍R语言中的view函数,并介绍如何使用它进行数据可视化和数据分析。
一、view函数的基本用法view函数是R语言中的一个数据查看函数,它可以用来查看和编辑数据集。
在R语言中,我们可以使用如下代码调用view函数: view(数据集)例如,我们可以使用以下代码查看R语言自带的iris数据集: view(iris)运行以上代码,我们可以看到一个新的窗口弹出,其中显示了iris数据集的前六行数据。
在这个窗口中,我们可以使用鼠标滚轮或滑动条来浏览数据集,也可以使用键盘上的方向键来移动光标。
除此之外,我们还可以使用鼠标选中单元格或多个单元格,然后使用Ctrl+C和Ctrl+V来复制和粘贴数据。
二、view函数的高级用法除了基本的查看和编辑功能之外,view函数还提供了许多高级的用法,可以帮助我们更好地探索和理解数据集。
下面是一些常见的高级用法:1、筛选数据在view函数中,我们可以使用右键菜单或快捷键Ctrl+F来打开筛选对话框。
在这个对话框中,我们可以输入筛选条件,例如“Sepal.Length > 5”,然后点击“筛选”按钮来筛选数据集。
筛选后的数据集将会在一个新的窗口中显示。
2、排序数据在view函数中,我们可以使用右键菜单或快捷键Ctrl+O来打开排序对话框。
在这个对话框中,我们可以选择要排序的变量和排序方式,例如按照“Sepal.Length”从小到大排序。
排序后的数据集将会在一个新的窗口中显示。
3、编辑数据在view函数中,我们可以使用鼠标双击单元格来编辑数据。
编辑后的数据将会立即保存到原始数据集中。
除此之外,我们还可以使用右键菜单或快捷键Ctrl+E来打开编辑对话框,对多个单元格进行编辑。
getroi函数 -回复
getroi函数-回复关于get_roi函数的使用方法和功能的详细解析一、什么是get_roi函数?get_roi函数是一种编程函数,其主要功能是从一幅图像中截取感兴趣区域(Region of Interest,简称ROI)。
这个函数通常被用来提取图像中的特定区域,以便在之后的图像分析、处理或显示中使用。
二、get_roi函数的基本语法和参数get_roi函数的基本语法如下:pythonroi = get_roi(image, x, y, width, height)其中,- image是源图像,即需要截取ROI的图像。
- x和y是ROI区域的左上角坐标。
这些坐标以图像的左上角为原点,以像素为单位。
x表示水平方向的坐标,y表示垂直方向的坐标。
- width和height是ROI区域的宽度和高度,也以像素为单位。
三、使用get_roi函数的示例为了更好地理解get_roi函数的用法和功能,下面通过一个实际的示例来详细解析。
假设我们有一张室内照片,其中包含一个人和一张桌子。
我们想要从这张照片中截取出桌子的区域,以便进行进一步的分析和处理。
首先,我们需要确保已经加载了图像处理库,并且将照片读取到一个图像对象中。
这可以通过以下代码实现:pythonimport cv2# 读取照片image = cv2.imread("indoor_photo.jpg")接下来,我们可以根据桌子在照片中的位置来设置ROI区域的坐标和大小。
假设桌子的左上角在图像坐标系中的位置为(x, y),桌子的宽度为w,桌子的高度为h。
将这些值填入get_roi函数的参数中,代码如下:python# 设置ROI区域的坐标和大小x = 150y = 200w = 300h = 250# 通过get_roi函数截取ROIroi = get_roi(image, x, y, w, h)现在,我们已经成功地从照片中截取出了桌子的区域,保存在roi变量中。
Android View的绘制流程三部曲
Android View的绘制流程三部曲measure过程MeasureSpecperformMeasure方法是这样被调用的:performMeasure(childWidthMeasureSpec, childHeightMeasureSpec);接收了两个参数,很好奇这两个参数是什么。
看名字是“子View宽测量说明书”和“子View高测量说明书”?应该先来了解一下MeasureSpec。
MeasureSpec是一个32位的int值,高2位是specMode记录的是测量模式,低30位是specSize记录的是测量大小。
specMode有三种类型:EXACTLY :精确值模式,表示父视图希望子视图的大小应该是由specSize的值来决定的,这个时候View的最终大小就是specSize所记录的大小。
对应于LayoutParams中的 match_parent和具体数值这两种模式。
比如android:layout_width=”match_parent”,andr oid:layout_width=”50dp”AT_MOST :最大值模式,表示父容器指定了一个可用大小specSize,子视图最多只能是specSize中指定的大小,不能大于这个值。
对应于LayoutParams中的wrap_content的形式。
UNSPECIFIED :父容器不对View有任何限制,View想多大就多大,一般不会用到MeasureSpec到底是用来干嘛的?系统是通过View的MeasureSpec来确定View的测量宽高的MeasureSpec是怎么来的?对于普通的View来说,其MeasureSpec由父容器的MeasureSpec和自身的LayoutParams共同确定。
对于顶级View(DecorView),其MeasureSpec由窗口的尺寸和其自身的LayoutParams共同确定。
我们回到performMeasure方法,来看看传入的参数childWidthMeasureSpec和childHeightMeasureSpec,这两个MeasureSpec是顶级View的,它们由窗口的尺寸和其自身的LayoutParams共同确定。
LabVIEW中手动设置ROI和Overlay涉及到的坐标转换_齐晓东
LabVIEW中手动设置ROI和Overlay涉及到的坐标转换问题:LabVIEW中手动设置ROI,并将ROI在图片显示控件中以overlay的形式显示出来。
针对旋转或位置变化的图片,要求ROI保持相对固定的位置(针对基于pattern match建立的特定坐标系)。
其中涉及到的坐标系如何进行转换?关键词:LabVIEW,Manual set ROI 手动设置ROI,Overlay,coordinate system坐标系应用背景:下图是客户的DUT照片,接插件接口的正面图。
客户需要针对接插口做直方图统计,判断接口边缘是否有侧向的突起或凹陷。
要求针对不同的DUT,在LabVIEW程序运行的时候,在前面板可以手动画出特定的ROI,并在图片显示控件以overlay的形式显示ROI。
DUT每次拍摄的角度和在整个图片中的位置都可能不同。
解答:如果没有自定义ROI并overlay显示的需求,客户需求解决方法为:先针对DUT的特征(如上图中的Template)进行pattern match,然后基于pattern match的结果建立坐标系C1,针对新建的坐标系C1选择固定的ROI即可,所有工作可以在Vision assistant中完成。
但这个RIO设定之后,在程序运行的时候,是无法进行手动修改的。
如果要手动设置ROI,则需要将Vision assistant转化为底层VI,对其进行修改。
可采用IMAQ ConstructROI.vi来获取手动输入ROI的结果,此处获得的ROI是针对整个图像原点(0,0)为坐标系的,此坐标系命名为C0。
运行此不步骤需要点击程序中的set roi布尔控件。
Pattern match1-modify.vi输出的坐标系是pattern match建立的坐标系C1。
每次导入不同角度拍摄的DUT图片时,为了都能基于pattern mattch建立的坐标系C1去设置ROI,所以必须将IMAQ ConstructROI.vi设置的ROI从坐标系C0转化到C1。
Halcon和C#联合编程-如何使用开源项目ViewROI
Halcon和C#联合编程-如何使⽤开源项⽬ViewROI声明HWndCtrl _viewCtrl;ROIController _roiCtrl;初始化_viewCtrl = new HWndCtrl(hWindowControl);_roiCtrl = new ROIController();_eROIController(_roiCtrl);显⽰图像HImage hImage = new HImage(image);_viewCtrl.addIconicVar(hImage); // 注意不可以是HObject类型_viewCtrl.resetWindow();_viewCtrl.repaint();设置/更改查看图像的模式// 正常模式(重置)_viewCtrl.resetAll();_viewCtrl.repaint();_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_NONE);// 移动模式_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_MOVE);// 放⼤模式_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_ZOOMWINDOW);// 缩放模式_viewCtrl.setViewState(HWndCtrl.MODE_VIEW_ZOOM);创建ROI// 设定ROI类型,这⾥以正交长⽅形为例ROIRectangle1 rect1 = new ROIRectangle1();_roiCtrl.setROIShape(rect1);// 添加这段程序,在指定位置创建ROI;假如没有这段程序,则在⿏标点击的地⽅创建ROI_roiCtrl.mouseDownAction(x, y);懂得以上这些就能对这个项⽬进⾏基础应⽤啦,当然这个项⽬的功能远不⽌这些,甚⾄该项⽬太久没更新了,功能也还不够强⼤,远远不能满⾜⽇益复杂的需求,⽽这些都需要深⼊研究该项⽬的每个成员变量、⽅法和委托,然后再根据⾃⼰的需求完善该项⽬。
capturevisibletab rect 参数 -回复
capturevisibletab rect 参数-回复关于[capturevisibletab rect 参数]的问题,我们将逐步回答并深入探讨。
首先,我们将从理解问题入手,介绍capturevisibletab和rect参数的意义和作用。
然后,我们将探讨这两个参数如何在实际应用中使用,并从各个方面阐述其重要性。
接下来,我们将讨论一些与这些参数相关的技术和工具,并提供一些示例以帮助读者更好地了解这个主题。
最后,我们将总结文章,并展望未来这个领域的发展。
一、理解问题在开始讨论capturevisibletab和rect参数之前,我们首先需要理解这两个参数的含义和作用。
capturevisibletab是一个用于捕捉屏幕上可见选项卡内容的技术或方法。
而rect参数是一个用于指定捕捉区域大小和位置的参数。
综合起来,capturevisibletab rect参数的作用就是捕获可见选项卡上指定区域的内容。
二、应用与用途这两个参数在实际应用中有着广泛的用途。
首先,它们可以被用于网页截图、测试自动化等领域。
通过捕捉可见选项卡上指定的区域,我们可以获取这个区域的图像内容,并将其用于各种用途,比如生成网页缩略图、检验页面渲染是否正确等等。
其次,这两个参数还可以用于界面设计和用户体验。
通过捕捉指定区域的内容,我们可以对界面进行分析和改进,从而提升用户的交互体验。
三、技术和工具在实际应用中,我们可以利用一些技术和工具来使用这些参数。
其中,使用Web浏览器自带的开发者工具是一个常用的方式。
大多数现代的Web 浏览器都提供了开发者工具,其中包括了一些截图和测试工具,可以帮助我们使用这些参数。
另外,还有一些第三方工具和库,如Puppeteer、Selenium等,也提供了相关的功能。
四、示例为了更好地理解这两个参数的具体用法,我们来看一个示例。
假设我们正在开发一个网页测试自动化工具,我们想要捕捉可见选项卡上的某个按钮的图像。
机器视觉库控件函数说明
kmvtool 控件说明一、函数说明1、Redraw语法:void Redraw (void);功能:更新控件显示,对控件进行刷新;参数:无参数;返回:无返回值;2、ClearView语法:void ClearView (void);功能:清空控件当前显示的内容;参数:无参数;返回:无返回值;3、SetViewPoint语法:void SetViewPoint (long x,long y);功能:设置控件的视图原点,图像左上角点的位置,也相当与移动滚动条;参数:x[in] 相对于控件的坐标系的位置X;y[in] 相对于控件的坐标系的位置Y;返回:无返回值;4、GetViewPoint语法:void GetViewPoint (long* x,long* y);功能:获取控件的视图原点,当前滚动条所在的位置;参数:x[out] 返回视图原点位置X;y[out] 返回视图原点位置Y;返回:无返回值;5、SetViewScale语法:void SetViewScale (double Scale);功能:设置视图显示的缩放比例;参数:Scale[in] 需要设置的比例值,按1为1倍的方法;返回:无返回值;6、GetViewScale语法:double GetViewScale (void);功能:获取视图的当前显示的缩放比例倍数;参数:` 无参数;返回:返回值当前的缩放比例倍数;7、AddImage语法:BOOL AddImage (CTSTR ImageName);功能:从添加一张还没有数据的图像到控件中去,并将当前添加的图像作为活动图像;参数:ImageName[in] 在控件中该图像的唯一的名称标识,不能有重名;返回:成功返回TRUE,否则返回FALSE;8、CreateImage语法:BOOL CreateImage (long ImageId,long BitCount,long Width,long Height);功能:给指定的图像创建一个数据内存区,如果原来已经有数据存在,则先清除;参数:ImageId[in] 需要创建的图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;BitCount[in] 需要创建图像的位数,有8位、24位、32位等;Width[in] 需要创建图像的宽度;Height[in] 需要创建图像的高度;返回:成功返回TRUE,否则返回FALSE;9、ReadImage语法:BOOL ReadImage (long ImageId,LPCTSTR FilePathName);功能:从文件中加载图像,并替换掉原来的图像数据;参数:ImageId[in] 需要替换的图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;[in] 图像所在文件中的全路径名;返回:成功返回TRUE,否则返回FALSE;10、ReviseImageName语法:BOOL ReviseImageName (LPCTSTR OldImageName,LPCTSTR NewImageName);功能:对已经存在控件中的图像进行更改名称;参数:OldImageName[in] 原先的图像的名称;FilePathName[in] 更改后的名称;返回:成功返回TRUE,否则返回FALSE;11、GetImageInfo语法:BOOL GetImageInfo (long ImageId,long* BitCount,long* Width,long* Height);功能:对指定图像的位数、宽度和高度;参数:ImageId[in] 该图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;BitCount[out] 返回该图像的位数;Width[out] 返回该图像的宽度;Height[out] 返回该图像的高度;返回:成功返回TRUE,否则返回FALSE;12、SetImageBufferBOOL SetImageBuffer (long ImageId,long pAddress,long Mode);功能:设置图像的缓冲区,更改图像的数据,将传进去的图象数据复制到该图像中去;参数:ImageId[in] 图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;pAddress[in] 新的图像数据的首地址,该图像的位数、宽度和高度必须和对应控件中的图像相同,否则可能会引起出错;Mode[in] 复制图象数据的模式,可设置的值如下:2 - 将来源图像上下镜像后再复制到目标图像中去;16 - 来源图像为16位,先将其转换为8位再复制到目标图像中去;32 - 来源图像为24位,先将其转换为8位再复制到目标图像中去;64 - 来源图像为32位,先将其转换为8位再复制到目标图像中去;其中上下镜像的可和其它值同时设置;返回:成功返回TRUE,否则返回FALSE;13、SetActiveImage语法:BOOL SetActiveImage (long ImageId);功能:设置当前活动的图像,当前显示的图像为该活动;参数:ImageId[in] 图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;14、GetActiveImage语法:long GetActiveImage (void);功能:参数:无参数;返回:成功返回当前活动图像对应的索引号,否则返回-1;15、IsImageBeing语法:BOOL IsImageBeing (long ImageId);功能:判断一张图像是否有数据存在;参数:ImageId[in] 图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;返回:如果有数据存在返回TRUE,否则返回FALSE;16、DeleteImage语法:BOOL DeleteImage (long ImageId);功能:从控件的图像列表中删除一张图像;参数:ImageId[in] 图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;17、DeleteAllImage语法:BOOL DeleteAllImage (void);功能:删除图像列表中的所有图像;参数:无参数;返回:成功返回TRUE,否则返回FALSE;18、GetImageCount语法:int GetImageCount (void);功能:获取图像列表中的图像数量;参数:无参数;返回:返回图像的数量;19、GetImageId语法:int GetImageId (LPCTSTR ImageName);功能:根据图像的名称来获取对应的索引号;参数:ImageName[in] 图像在控件中唯一的名称标识;返回:成功返回对应的索引号,否则返回-1;20、GetImageName语法:Cstring GetImageName (long ImageId);功能:根据图像对应的索引号来获取图像的名称标识;参数:ImageId[in] 图像在控件中的索引号,可用函数GetImageId根据图像的名称来获取对应的索引号;返回:成功返回图像对应的名称标识,否则返回空字符串;21、AddTool语法:BOOL AddTool (LPCTSTR ToolType,LPCTSTR ToolName功能:添加一个新的视觉工具,可以根据需要添加不同的工具来完成要求;参数:ToolType[in] 需要添加的工具的类型,参见工具类型表;ToolName[in] 工具在控件中的唯一名称标识,不能有重名;返回:成功返回TRUE,否则返回FALSE;22、CopyTool语法:BOOL CopyTool (long ToolId,LPCTSTR ToolName);功能:复制并添加一个视觉工具到工具列表中去;参数:ToolId[in] 需要复制的工具的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ToolName[in] 工具在控件中的唯一名称标识,不能有重名;返回:成功返回TRUE,否则返回FALSE;23、ReviseToolName语法:BOOL ReviseToolName (LPCTSTR OldToolName,LPCTSTR NewToolName);功能:更改工具的名称标识;参数:OldToolName[in] 原先的工具名称;NewToolName[in] 更改后的名称;返回:成功返回TRUE,否则返回FALSE;24、SetActiveToolBOOL SetActiveTool (long ToolId);功能:设置当前活动的工具,当前活动的工具可以进行一些编辑;参数:ToolId[in] 需要复制的工具的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;25、GetActiveTool语法:long GetActiveTool (void);功能:获取当前活动工具的索引号;参数:无参数;返回:成功返回对应的索引号,否则返回-1;26、DeleteTool语法:BOOL DeleteTool (long ToolId);功能:从工具列表中删除一个工具;参数:ToolId[in] 需要复制的工具的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;27、DeleteAllTool语法:BOOL DeleteTool (void);功能:参数:无参数;返回:成功返回TRUE,否则返回FALSE;28、GetToolCount语法:long GetToolCount (void);功能:获取工具列表中的所有工具数量;参数:无参数;返回:返回列表中所有工具的数量;29、GetToolId语法:long GetToolId (LPCTSTR ToolName);功能:根据工具的名称来获取对应的索引号;参数:ToolName[in] 工具的名称标识;返回:成功返回对应的索引号,否则返回-1;30、GetToolName语法:Cstring GetToolName (long ToolId);功能:根据工具的索引号来获取对应的名称标识;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回对应的名称标识,否则返回空字符串;、GetToolType语法:Cstring GetToolType (long ToolId);功能:根据工具的索引号来获取工具的类型;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回对应的工具类型,否则返回空字符串;32、SetSourceImage语法:BOOL SetSourceImage (long ToolId,long ImageId);功能:设置工具的来源图像,来源图像为该工具需要处理的图像,如果没有设置来源图像则处理的图像默认为当前活动的图像,设置来源图像后,该工具所拥有的覆盖图(如ROI等)将只在该来源图像为活动图像的时候才会显示;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ImageId[in] 来源图像的索引号,如果设为-1则为取消来源图像的设置,该为处理当前活动的图像;返回:成功返回TRUE,否则返回FALSE;33、SetTargetImage语法:BOOL SetTargetImage (long ToolId,long ImageId);功能:设置工具的目标图像,当前的这些功能都未使用到,暂时不做详细说明;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具ImageId[in] 目标图像的索引号,如果设为-1则为取消目标图像的设置;返回:成功返回TRUE,否则返回FALSE;34、GetSourceImage语法:long GetSourceImage (long ToolId);功能:获取工具的来源图像的索引号;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:来源图像的索引号,如果没有来源图像则返回-1;35、GetTargetImage语法:long GetTargetImage (long ToolId);功能:获取工具的目标图像的索引号;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:目标图像的索引号,如果没有目标图像则返回-1;36、CreateRoi语法:BOOL CreateRoi (long ToolId);功能:根据工具的索引号来创建工具的ROI,如果该工具的ROI以存在,则会创建失败;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;37、DeleteRoi语法:BOOL DeleteRoi (long ToolId);功能:根据工具的索引号来删除工具的ROI,有些工具不用ROI也可以;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;38、SetRoiColor语法:long SetRoiColor (long ToolId,long Color);功能:设置ROI的颜色;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;Color[i] 颜色的RGB值;返回:返回旧的ROI颜色RGB值;39、TransformRoi语法:BOOL TransforRoi (long ToolId,double OldAngle,double OldX,double OldY,double NewAngle,double NewX,double NewY);功能:将工具的ROI从一个坐标系转换到另一个坐标系,转换结果将会对ROI进行平移和旋转操作;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;OldAngle[in] 旧坐标系的角度;OldX[in] 旧坐标系的原点位置X;OldY[in] 旧坐标系的原点位置Y;NewAngle[in] 新坐标系的角度;NewX[in] 新坐标系的原点位置X;NewY[in] 新坐标系的原点位置Y;返回:成功返回TRUE,否则返回FALSE;40、ExecTool语法:BOOL ExecTool (long ToolId);功能:执行工具的主要功能;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;41、ExtendTool语法:BOOL ExtendTool (long ToolId,LPCTSTR Command);功能:执行工具的扩展功能,只有一些工具有用到;参数:ToolId工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;Command[in] 扩展功能的命令,不同的工具有不同的命令;返回:成功返回TRUE,否则返回FALSE;42、CallPropertyDialog语法:BOOL CallPropertyDialog (long ToolId);功能:开启工具的属性对话框,在里面可以设置工具的一些参数;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;返回:成功返回TRUE,否则返回FALSE;43、SetPropertyInt语法:BOOL SetPropertyInt (long ToolId,LPCTSTR ParaName,long Value);功能:根据参数名称来设置工具的整型参数值,一次只能设置一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ParaName[in] 参数名称,每个工具都有不同的参数名称;Value[in] 整型参数的值;返回:成功返回TRUE,否则返回FALSE;44、SetPropertyFloat语法:BOOL SetPropertyFloat (long ToolId,double Value);功能:根据参数名称来设置工具的浮点型参数值,一次只能设置一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ParaName[in] 参数名称,每个工具都有不同的参数名称;Value[in] 浮点型参数的值;返回:成功返回TRUE,否则返回FALSE;45、SetPropertyString语法:BOOL SetPropertyString (long ToolId,LPCTSTR ParaName,LPCTSTR lpszText);功能:根据参数名称来设置工具的字符串型参数值,一次只能设置一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ParaName[in] 参数名称,每个工具都有不同的参数名称;lpszText[in] 字符串型参数的值;返回:成功返回TRUE,否则返回FALSE;46、GetPropertyInt语法:BOOL GetPropertyInt (long ToolId,LPCTSTR ParaName,long* Value);功能:根据参数名称来获取工具的整型参数值,一次只能获取一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ParaName[in] 参数名称,每个工具都有不同的参数名称;Value[out] 返回的整型参数值;返回:成功返回TRUE,否则返回FALSE;47、GetPropertyFloat语法:BOOL GetPropertyFloat (long ToolId,LPCTSTR ParaName,double* Value);功能:根据参数名称来获取工具的浮点型参数值,一次只能获取一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ParaName[in] 参数名称,每个工具都有不同的参数名称;Value[out] 返回的浮点型参数值;返回:成功返回TRUE,否则返回FALSE;48、GetPropertyString语法:CString GetPropertyString (long ToolId,LPCTSTR ParaName);功能:根据参数名称来获取工具的字符串型参数值,一次只能获取一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;ParaName[in] 参数名称,每个工具都有不同的参数名称;返回:成功返回相应的字符串,否则返回空字符串;49、GetDataInt语法:BOOL GetDataInt (long ToolId,LPCTSTR DataName,long DataIndex,long* Value);功能:根据数据名称来获取工具的整型数据值,一次只能获取一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;DataName[in] 数据名称,每个工具都有不同的数据名称;DataIndex[in] 如果该数据为一个数组,则该参数为数组的索引号,否则无效;Value[out] 返回的整型数据值;返回:成功返回TRUE,否则返回FALSE;50、GetDataFloat语法:BOOL GetDataFloat (long ToolId,LPCTSTR DataName,long DataIndex,double* Value);功能:根据数据名称来获取工具的浮点数据值,一次只能获取一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;DataName[in] 数据名称,每个工具都有不同的数据名称;DataIndex[in] 如果该数据为一个数组,则该参数为数组的索引号,否则无效;Value[out] 返回的浮点型数据值;返回:成功返回TRUE,否则返回FALSE;51、GetDataString语法:CString GetDataString (long ToolId,LPCTSTR DataName,long DataIndex);功能:根据数据名称来获取工具的浮点数据值,一次只能获取一个;参数:ToolId[in] 工具所对应的索引号,可用函数GetToolId根据工具名称来获取对应的索引号;DataName[in] 数据名称,每个工具都有不同的数据名称;DataIndex[in] 如果该数据为一个数组,则该参数为数组的索引号,否则无效;返回:成功返回相应的字符串,否则返回空字符串;二、工具说明1、工具类型表类型名称功能MeasurePoint 边缘点检测工具,在图像上画一条线,检测经过这条线上的边缘位置点;MeasureSpace 位置测量工具,跟边缘点检测工具有点相似,在图像上画一个矩形,在矩形内生成多条线,检测经过这些线上的平均边缘位置点;MeasureLine 边缘线检测工具,在图像上画一个矩形,检测在这个矩形内由所检测到的边缘点组成的最佳的一条直线;MeasureRound 圆形测量工具,在图像上画一个环形,在环形内生成多条线,在每条线上检测出一个边缘点,根据这些点求出圆的半径和中心位置;Callipers 卡尺工具,测量长度用,在图像上画一个矩形,在矩形内生成多条线,在每条线上检测出一个边缘点,求两个最近边缘点之间的距离;ObjectCount 对象计数,跟BLOB功能差不多;BlobAnalyse BLOB分析工具,检测图像中的连通区域,并计算出该区域的面积、重心、角度和位置等;几何模板匹配工具,先在图像上学习一个区域,用该图像区域的边缘作为模板,然后在其它图像上寻找边缘形状相似的位置;GrayAnalyse 灰度分析工具,获取图像的最小灰度值、最大灰度值、灰度平均值等;PixelCount 像素统计功能,可以统计黑色或白色像素占用百分比;FindRound 找圆工具,根据图像边缘来找圆,可以算出圆的半径和中心位置;ReadBarcode 读取条码工具,从图像中读出条码数据,目前支恃的条码类型有UPC_A、UPC_E、EAN_8、EAN_13、CODE_39和CODE_128;ReadOCR 读取字符工具,从图像中读取一些简单的字符,如数字和一些字母等;MatchPattern 灰度相关匹配,该功能目前只能匹配只带有平移变换的目标;ICLocation IC定位工具,用来定位一些标准的IC器件;Discrepant 图像差异对比工具,主要用于一些缺陷检测;2、工具参数和数据表说明:参数类型为long使用函数SetPropertyInt、GetPropertyInt或GetDataInt进行操作,参数类型为double使用函数SetPropertyFloat、GetPropertyFloat或GetDataFloat进行操作,后面带有[]为数组,只有在用函数GetDataInt和GetDataFloat时用到,用法参见函数GetDataInt或GetDataFloat;表格:MeasurePoint 参数表参数名称类型备注EdgeMode long 边缘类型,0为黑到白,1为白到黑,2为黑到白或白到黑;Direction long 检测位置,0为开始位置,1为结束位置,2为开始和结束位置,3为所有位置;Threshold long 边缘梯度阈值,只有那些梯度大于该值的点才被检测到;Smoothness long 平滑次数,先将检测到的灰度数据进行平滑处理;MeasurePoint 数据表数据名称类型备注Count long 返回检测到的所有边缘点数量;State long[] 返回边缘点的状态,0为黑到白,1为白到黑;Distance double[] 距离,从ROI的开始位置起到当前位置的距离;Intensity double[] 强度、梯度,该边缘点的强度;PointX double[] 该边缘点相对于图像坐标系中的位置X;PointY double[] 该边缘点相对于图像坐标系中的位置Y;MeasureSpace参数表参数名称类型备注SpaceMode long 间距类型,0为黑色部分,1为白色部分,2为无限制;Direction long 检测位置,2为开始和结束位置,3为所有位置;Threshold long 边缘梯度阈值,只有那些梯度大于该值的点才被检测到;Smoothness long 平滑次数,先将检测到的灰度数据进行平滑处理;LineSpace long 每隔多少个像素生成一条检测线;MeasureSpace数据表数据名称类型备注long 返回检测到的所有边缘位置的数量;Lenght double[] 长度,被测间距的长度;Intensity double[] 强度、梯度,该该间距的两个边缘位置的强度平均值;Point1X double[] 该边缘位置的第一个点相对于图像坐标系中的位置X;Point1Y double[] 该边缘位置的第一个点相对于图像坐标系中的位置Y;Point2X double[] 该边缘位置的第二个点相对于图像坐标系中的位置X;Point2Y double[] 该边缘位置的第二个点相对于图像坐标系中的位置Y;MeasureLine参数表参数名称类型备注EdgeMode long 边缘类型,0为黑到白,1为白到黑,2为黑到白或白到黑;Threshold long 边缘梯度阈值,只有那些梯度大于该值的点才被检测到;Smoothness long 平滑次数,先将检测到的灰度数据进行平滑处理;LineSpace long 每隔多少个像素生成一条检测线;Tolerance long 在求直线的时候所允许点的变化范围;MeasureLine数据表数据名称类型备注Lenght double 所检测到的线的长度;LineAngle double 所检测到的线的角度;Point1X double 该线的起点相对于图像坐标系中的位置X;Point1Y double 该线的起点相对于图像坐标系中的位置Y;Point2X double 该线的结束点相对于图像坐标系中的位置X;Point2Y double 该线的结束点相对于图像坐标系中的位置Y;MeasureRound参数表参数名称类型备注EdgeMode long 边缘类型,0为黑到白,1为白到黑,2为黑到白或白到黑;Direction long 检测方向,0内到外,1外到内;Threshold long 边缘梯度阈值,只有那些梯度大于该值的点才被检测到;Smoothness long 平滑次数,先将检测到的灰度数据进行平滑处理;LineSpace long 每隔多少个角度生成一条检测线;Tolerance long 在求圆的时候所允许圆的中心和半径的变化范围;MeasureRound数据表数据名称类型备注Sample double 采样率,所用到的点数量除以所有点数量;Radii double 返回圆的半径;CenterX double 返回圆的中心位置X;CenterY double 返回圆的中心位置Y;Caliper参数表参数名称类型备注EdgeMode long 边缘类型,0为黑到白,1为白到黑,2为黑到白或白到黑;Direction long 检测方向,0内到外,1外到内;Threshold long 边缘梯度阈值,只有那些梯度大于该值的点才被检测到;long 平滑次数,先将检测到的灰度数据进行平滑处理;LineSpace long 每隔多少个像素生成一条检测线;Caliper数据表数据名称类型备注Lenght double 返回所测到的两点间的距离;Intensity double 强度、梯度,两个边缘位置的强度平均值;Point1X double 第一个点相对于图像坐标系中的位置X;Point1Y double 第一个点相对于图像坐标系中的位置Y;Point2X double 第二个点相对于图像坐标系中的位置X;Point2Y double 第二个点相对于图像坐标系中的位置Y;ObjectCount参数表参数名称类型备注MinArea long 最小面积,被检测对象的面积至少有这么多;MaxArea long 最大面积,被检测对象的面积最多有这么多;MinWidth long 最小宽度;MaxWidth long 最大宽度;MinHeight long 最小高度;MaxHeight long 最大高度;PixelMode long 需要检测的区域是黑色还是白色,0为黑色,1为白色;Connexity long 连通性,0为4连通,1为8连通Threshold long 二值化阈值,灰度值大于该值的像素为白色,否则为黑色;bThreshold long TRUE时为自动二值化,Threshold值无效,FALSE为手动;ObjectCount数据表数据名称类型备注Count long 返回所检测到的所有对象的数量;Area long[] 对象的面积,所占有像素的数量;Hole long[] 对象中的孔数数量,如对象为白色,则中间的黑色区域为孔,对象为黑色则白色区域为孔;NboxLeft long[] 水平方向外接矩形的左边;NboxTop long[] 水平方向外接矩形的上边;NboxWidth long[] 水平方向外接矩形的宽度;NboxHeight long[] 水平方向外接矩形的高度;CenterX double[] 重心X,该对象的所有像素的X坐标的平均值;CenterY double[] 重心Y,该对象的所有像素的Y坐标的平均值;BlobAnalyse参数表参数名称类型备注MinArea long 最小面积,被检测对象的面积至少有这么多;MaxArea long 最大面积,被检测对象的面积最多有这么多;MinHole long 最少的孔数量,被检测对象至少有这么多个孔;MaxHole long 最多的孔数量,被检测对象最多有这么多个孔;PixelMode long 需要检测的区域是黑色还是白色,0为黑色,1为白色;Connexity long 连通性,0为4连通,1为8连通long 二值化阈值,灰度值大于该值的像素为白色,否则为黑色;bThreshold long TRUE时为自动二值化,Threshold值无效,FALSE为手动;bAdvanced long TRUE时为使用高级参数选项,FALSE为不使用;BlobAnalyse高级参数表(只有在bAdvanced值为TRUE时才有用)参数名称类型备注MinAveGray double 最小灰度平均值;MaxAveGray double 最大灰度平均值;MinRectSur double 最小矩形度;MaxRectSur double 最大矩形度;MinLathySur double 最小细长度;MaxLathySur double 最大细长度;MinLAWidth double 最小宽度(最小面积外接矩形的宽度);MaxLAtWidth double 最大宽度(最小面积外接矩形的宽度);MinLAHeight double 最小高度(最小面积外接矩形的高度);MaxLAHeight double 最大高度(最小面积外接矩形的高度);BlobAnalyse数据表数据名称类型备注Count long 返回所检测到的所有对象的数量;Area long[] 对象的面积,所占有像素的数量;Hole long[] 对象中的孔数数量,如对象为白色,则中间的黑色区域为孔,对象为黑色则白色区域为孔;NboxLeft long[] 水平方向外接矩形的左边;NboxTop long[] 水平方向外接矩形的上边;NboxWidth long[] 水平方向外接矩形的宽度;NboxHeight long[] 水平方向外接矩形的高度;AveGray double[] 灰度平均值(0~255),该对象的所有像素的灰度平均值;RectSur double[] 矩形度(0~1),判断一个对象是否为矩形,这里说的矩形为实心矩形,中间有孔则会降低矩形度;LathySur double[] 细长度(0~1),判断一个对象是否为细长的物体;CenterX double[] 重心X,该对象的所有像素的X坐标的平均值;CenterY double[] 重心Y,该对象的所有像素的Y坐标的平均值;Angle double[] 角度,最小面积外接矩形相对于水平方向的角度;LboxLeft double[] 最小面积外接矩形的左边,这里的左边是指0度的情况下;LboxTop double[] 最小面积外接矩形的上边,这里的左边是指0度的情况下;LboxWidth double[] 最小面积外接矩形的宽度;LboxHeight double[] 最小面积外接矩形的高度;FindModel参数表参数名称类型备注MinScore long 最小分数(0~1000),目标与模板的相似程度;MinAngle long 最小角度(-180~180),搜索目标可能存在的最小角度;MaxAngle long 最大角度(-180~180),搜索目标可能存在的最大角度;MinScale long 最小比例(50~200),搜索目标可能存在的最小比例;MaxScale long 最大比例(50~200),搜索目标可能存在的最大比例;long 最短的边缘,去除那些长度小于该值的边缘;Threshold long 边缘阈值,可根据图像边缘的清晰度来调整,较清淅时可设高一些,较模糊时则要设低一些,一般设为(20~40);FindCount long 最多可搜索的目标数量;FindLevel long 搜索级别(1~9),级别越高,识别率就越高,但速度会慢一些,级别低则搜索速度比较快,但识别率会低一些;MatchMode long 匹配模式(0~2),0为正常,1为反转,2为任意;OffsetX double 模板位置点水平方向的偏移量;OffsetY double 模板位置点垂直方向的偏移量;Load string 从文件中装载一个预先保存好的模板;Save string 将模板数据保存到文件中去;FindModel数据表数据名称类型备注Count long 返回所匹配到的对象的数量;Score double[] 得分(0~1000),匹配对象与模板的相似程度;Angle double[] 角度(-180~180), 匹配对象与模板之间的角度;Scale double[] 比例(50~200), 匹配对象与模板之间的比例;PositionX double[] 位置点X,匹配对象相对于图像所在的位置;PositionY double[] 位置点Y,匹配对象相对于图像所在的位置;BoxLeft double[] 匹配对象矩形框的左边,这里的左边是指0度的情况下;BoxTop double[] 匹配对象矩形框的上边,这里的上边是指0度的情况下;BoxWidth double[] 匹配对象矩形框的宽度;BoxHeight double[] 匹配对象矩形框的高度;GrayAnalyse数据表数据名称类型备注Area long 检测区域内的所有像素数量;MinGray long 所有像素里面的最小灰度值;MaxGray long 所有像素里面的最大灰度值;NumGray long 检测区域内所拥有的灰度级数量;Histogram long[] 检测区域内的直方图数据;AverGray double 所有像素的灰度平均值;EvenRate double 直方图的分布均匀度;PixelCount参数表数据名称类型备注PixelMode long 需要检测的区域是黑色还是白色,0为黑色,1为白色;Threshold long 二值化阈值,灰度值大于该值的像素为白色,否则为黑色;bThreshold long TRUE时为自动二值化,Threshold值无效,FALSE为手动;PixelCount数据表数据名称类型备注AllCount long 全部像素数量;HoldCount long 当前像素数量;Percent double 当前像素占有百分比;。
ENVI基础知识详细的介绍
........实验一ENVI 基础一、实验目的与要求1熟悉 ENVI图形界面;2掌握 ENVI基本功能。
二、实验材料与数据文件描述can_tmr.img Ca?on City, CO, TM 数据can_tmr.hdr 上述文件头文件can_v1.evf ENVI 矢量数据 1can_v2.evf ENVI 矢量数据 2can_v3.evf ENVI 矢量数据 3can_v4.evf ENVI 矢量数据 4三、实验方法与步骤1 打开一幅影像从 ENVI主菜单选择File → Open Image File 。
在数据文件夹里选择can_tmr.img ,点击 Open . 出现Available Bands List对话框,对话框里列出可用于显示和处理的波段,可以选择加载一幅灰度图像(Gray Scale )或是彩色图像(RGB color image )。
选择 TM Band 4 ,点击 Gray Scale ,点击 Load Band 将Band 4 作为灰度图像加载到显示窗口中。
一旦打开了一幅影像,三个动态连接的窗口出现在屏幕上,分别为 Image 窗口, Scroll 窗口和Zoom 窗口。
2右键菜单三个窗口分别提供了右键菜单用以快速进入相关功能。
3图像( Image )窗口图像窗口中的放大框(图中红色框)表示该范围显示在放大(Zoom)窗口中。
将鼠标放在红色放大框中,按住左键不放,并移动鼠标。
在鼠标移动的过程中,放大窗口中的图像会随着移动和变化,直到松开左键。
将鼠标放在图像窗口中红色放大框以外的任何位置,点击左键,移动左键,则放大窗口会随之自动更新。
鼠标单击图像窗口的红色放大框,使用键盘上的箭头键可以移动该放大框(一次移动一个像素)。
同时按下Shift 键可以一次移动几个像素。
4 放大( Zoom )窗口放大窗口用于放大显示图像窗口放大框中对应的图像,放大的倍数用窗口标题栏括号中的数字显示。
fameview使用手册
fameview使用手册(实用版)目录1.介绍 FAMEview2.FAMEview 的功能与特点3.安装与配置 FAMEview4.使用 FAMEview 进行模型训练5.使用 FAMEview 进行模型评估6.常见问题与解决方案正文FAMEview 是一款功能强大的深度学习框架,旨在帮助研究人员和开发者快速构建、训练和评估深度学习模型。
本文将介绍 FAMEview 的功能与特点,并详细说明如何安装、配置和使用 FAMEview。
一、介绍 FAMEviewFAMEview(Fast Modeling and Evaluation view)是一款易用、灵活的高性能深度学习框架,适用于各种计算机视觉任务。
FAMEview 提供了丰富的 API 和工具,支持多种深度学习模型,例如卷积神经网络(CNN)、循环神经网络(RNN)和生成对抗网络(GAN)等。
此外,FAMEview 还支持分布式训练和多种硬件平台,包括 CPU、GPU 和 TPU。
二、FAMEview 的功能与特点1.易用性:FAMEview 提供了简洁直观的 API,用户可以轻松地实现模型构建、训练和评估。
2.高性能:FAMEview 利用优化的计算图和高效的数据传输技术,实现了高性能的模型训练。
3.灵活性:FAMEview 支持多种深度学习模型和硬件平台,可以根据不同需求进行灵活选择。
4.可扩展性:FAMEview 支持分布式训练,可以充分利用大规模计算资源,提高训练效率。
5.强大的调试与分析功能:FAMEview 提供了丰富的调试和分析工具,可以帮助用户快速定位问题,优化模型性能。
三、安装与配置 FAMEview1.安装 FAMEviewFAMEview 支持多种操作系统,包括 Linux、macOS 和 Windows。
用户可以根据自己的需求选择合适的版本进行安装。
安装过程可以参考官方文档或者使用自动化安装工具。
2.配置 FAMEview在安装 FAMEview 后,需要进行一些基本配置,例如设置环境变量、安装依赖库等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
Citrix XenDesktop缺乏灵活性
没有动态部署功能 只读结构要求:
• •
当需求到来时,自动化部署新 桌面 用户个性化选择
基于Citrix和VMware公布 的文档 VMware View的优势:
• •
组件 物理服务器 连接代理 部署管理 总计
Citrix 199 16 24 239
VMware 105 10 10 125
更高的虚拟桌面密度 更少的组件
Citrix的数字不包括 XenApp / Presentation Server或者额外的存储需 求
vCenter
企业级的扩展能力
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
为快速交付桌面环境而优化
桌面虚拟机密度高 在服务器之间自动平衡虚拟机的运行位置 以达到最佳性能 为大量虚拟桌面系统同时启动进行了优化 优化虚拟桌面挂起和恢复,保证虚拟桌面 的响应速度满足用户需求 降低了虚拟桌面的内存需求,提供更高的 整合比率、降低用户成本
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
PCoIP
专门用于桌面交付 设计面向 LAN 或 WAN 使用端到端软件实施 从任务型员工到高级用户均能 获得优异的桌面体验 灵活应对最广泛的使用案例
易于管理
View Manager – 基于Web界面创建桌面、授权用户、设置策略等等
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
HDX:事实和神话
HDX 3D:
• • •
只在LAN环境中支持 1:1映射到刀片PC 硬件选择:有限且昂贵 对正常延迟容忍度很低 增加了管理的复杂程度 (版本同步) 需要1.4 Mbps带宽
VMware View 竞争优势分析和用户TCO/ROI分析
郭岚 合作伙伴系统工程师
威睿信息技术(中国)有限公司
© 2009 VMware Inc. All rights reserved
VMware View 构建于经验证的vSphere平台之上
功能强大、成熟且经过验证
• • • •
财富 100 强公司全部已经部署 在全球有 140,000 多家客户 整套解决方案来自一家供应商 为桌面带来强大的数据中心功能: 业务连续性/灾难恢复(HA、DRS、 VMotion、Storage VMotion) 简化备份和灾难恢复 可扩展 安全性和可靠性
XenDesktop 不是企业级产品
• • • 缺乏经验证的成功案例 未经验证的虚拟化平台 有限的大型部署
VMware View 经过生产验证
• • • • 众多经验证的成功案例 VMware vSphere 是目前市场中最先进的虚拟化 平台 向 7,000 多家客户售出了超过 100 万个许可证 6家超过10000个桌面的巨型客户
VMware vSphere for Desktops对比Citrix XenServer
vSphere for Desktops
XenServer
容灾解决方案 容灾自动化 主机配置自动化 动态虚拟机负载均衡 快速启动数千台虚拟桌面的能力 内存过量使用技术 高密度虚拟机部署
9 9 9 9 9 9 9
多于15步实施
Build… Build…
Configure…
Install…
Run…
Run…
Install…
Run…
Install…
Install…
Configure…
Install…
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
• • • • 设计面向中小型企业(少于 500 个用户) 全部功能需要 Windows Server 2008 R2 和 Windows 7 支持 关键 VDI 功能依赖于第三方产品 Hyper-V 是尚未成熟、未经验证的平台
Increase Desktop Availability
保护关键数据和信息
•
自动化的备份和数据同步
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
View 4具有大规模扩展能力
每个vCenter管理1,000台以 上的服务器10,000台虚拟机 保存和复制服务器配置文件 可以快速部署大量桌面系统 通过消除只读内存段中的重 复数据减少虚拟机占用的内 存空间 具有 24 GB 内存的服务器可 承载 64 个 512 MB 虚拟机 而竞争产品最少需要 32 GB 内存
Flash重定向
• •
高清晰音频
•
Citrix没有交付他们声称的一致性用户体验
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
Citrix XenDesktop对比VMware View:管理
软件许可成本:
VMware View Premier: $250 / 并发用户 XenDesktop Platinum: $350 / 固定用户或设备
软件许可总花费
VMware View: $250 x 4,000 XenDesktop: $350 x 10,000 XenDesktop: $350 x 12,000 = $1M = $3.5M = $4.2M
通过View Composer优化存储
传统VDI View Composer
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
将用户数据和虚拟机基础映像分离
用户数据磁盘 • Persistent 类型磁盘存放用户数据和配 置信息 • 单击配置 • 在保持紧密控制和法规遵循的条件下提 供一致的用户体验 基础映像 • 高度化管理的操作系统磁盘 • 减少部署时间 • 简化升级和打补丁
支持部署10,000用户桌面系统所需要的 服务器数量
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
Citrix XenDesktop对比VMware View:软件许可
客户环境:
10,000 名用户 12,000个访问设备 4,000最大并发用户访问
XenDesktop: 多个非整合的控制台、向导和工具
VMware View 单一的、基于Web的管理控制台-
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
VMware View对比Citrix XenDesktop:扩展能力
无缝桌面体验
丰富的媒体和图形
提高工作效率的 应用程序
多媒体重定向
渐进式图形生成
USB 重定向
可以离线访问虚拟桌面
离线访问目前是实验功能 将虚拟桌面签出到本地物理电脑中 扩展的安全性和加密策略 与数据中心保持“心跳” 联系,系统 管理员在必要时可以停止该联系 签入时只同步改变了的数据
信息:为何选择 View,而不选择 XenDesktop
XenDesktop 的部署和管理过于 复杂
• 多个非集成组件 • 侵入 Active Directory • 多个管理控制台/向导
VMware 提供简化的安装和管理
• • • 极少且紧密集成的组件 未在 Active Directory 中存储信息 基于 Web 的单一管理控制台
设备灵活性 全天候访问 自定义应用程序 安装要求 跨所有应用程序 的最佳用户体验
设备灵活性 断开 多个应用程序 跨所有应用程序 的最佳用户体验 远程办公室
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
灵活的桌面部署
从一个模版自动部署 按需部署 支持多种类型桌面系统 Persistent, Nonpersistent, Individual 一致的管理体验
Template View Manager
vCenter
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
用户数据磁盘 虚拟配置 桌面完克隆 现有解决方案
配置虚拟化 XenApp / Presentation Server
对多种桌面类型的支持有限
易于部署多种类型的桌面系统
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.
Copyright © 2009 VMware Inc. All rights reserved. Confidential and proprietary.