三维模型2.5D轮廓提取及遮挡部分的剔除

轮廓提取相对容易,只需在2.5D渲染视角下,导出模型的顶点坐标以及基于视角的消隐后的三角形面,将三角面投影后合并就可得到轮廓,轮廓坐标基于2.5d图的基准坐标换算就得到。提取轮廓的在我另外一篇文章中有试用的插件,基于3dmax2013的。

轮廓遮挡部分的剔除,如果自动完成的话,效率特别低。

要处理一个模型,原则上要对模型可见面上的点沿视线方向引出直线,与相关模型的可见面做相交运算(在目前2.5D的视角下,模型包围盒的最小y值小于待处理模型都要计算),有交点的模型就用该模型的轮廓来裁剪待处理模型的轮廓,这个计算量特别大,而且这种方式还无法解决互相遮挡情况。
因此可行的办法是通过助手程序,逐个定位模型轮廓,由用户选择需要用于裁剪的轮廓,或者用户自己输入一个多边形来裁剪。

这样减少了计算遮挡模型的时间,大大提高效率。

比手工数字化减少几倍的工作量。

三维模型2.5D轮廓提取及遮挡部分的剔除,码迷,mamicode.com

时间: 2024-10-13 00:30:38

三维模型2.5D轮廓提取及遮挡部分的剔除的相关文章

OpenCV与EmguCV中的图像轮廓提取

轮廓是图像中表示边界的一系列点的集合. 虽然边缘检测算法可以根据像素间的差异检查出轮廓边界的像素,但是它并没有把轮廓做为一个整体表示出来.所以下一步工作是把这些边缘检测出来的像素组装成轮廓. openCV中可以用findContours()函数来从二值图像中提取轮廓. openCV中一般用序列来存储轮廓信息.序列中的每一个元素是曲线中一个点的位置. 函数findContours()从二值图像中寻找轮廓.findContours()处理的图像可以是Canny()后得到的有边缘像素的的图像,也可以是

OpenCV示例学习笔记(1)-contours2.cpp-通过findContours 函数实现轮廓提取

这个系列的目的是通过对OpenCV示例,进一步了解OpenCV函数的使用,不涉及具体原理. 示例代码地址:http://docs.opencv.org/3.0.0/examples.html(安装openCV时可框选) 目录 简介 Example运行截图 Example分析 Example代码 简介 本文记录了对OpenCV示例contours2.cpp的分析. 资料地址:http://docs.opencv.org/3.0.0/d0/d2a/contours2_8cpp-example.htm

Win8Metro(C#)数字图像处理--2.40二值图像轮廓提取

http://dongtingyueh.blog.163.com/blog/static/4619453201271481335630/ [函数名称] 二值图像轮廓提取         ContourExtraction(WriteableBitmap src) [算法说明] 二值图像的轮廓提取对于图像识别,图像分割有着重要意义.该算法的核心就是将图像目标的内部点消除.所谓内部点,我们要根据当前像素点的邻域来进行判断,假设邻域窗口为3*3窗口,如果当前像素P(x,y)的八个邻域像素满足如下条件,

【OpenCV函数】轮廓提取;轮廓绘制;轮廓面积;外接矩形

FindContours 在二值图像中寻找轮廓 int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour, int header_size=sizeof(CvContour), int mode=CV_RETR_LIST, int method=CV_CHAIN_APPROX_SIMPLE, CvPoint offset=cvPoint(0,0) ); image  输入的 8-比特.单通道图像.

OpenCV2马拉松第24圈——轮廓提取

计算机视觉讨论群162501053 转载请注明:http://blog.csdn.net/abcd1992719g/article/details/27979267 收入囊中 在图片中找到轮廓并且描绘轮廓 使用多边形,圆,椭圆来逼近我们的轮廓 葵花宝典 关于轮廓提取,差不多是一个连通域的判断.原理还是比较简单的. 初识API C++: void findContours(InputOutputArray image, OutputArrayOfArrays contours, OutputArr

Unity2.5D Sprite层级显示遮挡问题处理

代码源自游戏<A Place for the Unwilling> 开发<A Place for the Unwilling>游戏第一部要解决的问题就是让精灵可以围绕其它精灵前后移动,呈现出真实的深度感觉.SpriteRenderer组件有两个属性,可以改变场景中Sprite的渲染顺序. Sorting Layer  用于设置不同层的Sprite渲染顺序 Order in Layer  用于设置在同一层中的Sprite渲染顺序 如果想实时改变多个Sprite的渲染顺序,就需要修改一

二值图片轮廓提取

# -*- coding: UTF-8 -*- import cv2 import numpy as np import os reagents = ['MaskVIA1', 'MaskVIA3', 'MaskVILI'] if __name__ == '__main__': path = 'F:/project/Cancer/dataset/Cervical_Data/Cut_Data/CANCER/3/' for file_name in os.listdir(path): if not o

轮廓提取

http://docs.opencv.org/2.4/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html http://blog.csdn.net/shouhuxianjian/article/details/42686395 http://blog.csdn.net/shaoxiaohu1/article/details/40272875 http://mobile.51cto.com/aengine-43544

python-opencv在有噪音的情况下提取图像的轮廓

对于一般的图像提取轮廓,这篇博文介绍了一个很好的方法,但是对于有噪声的图像,并不能很好地捕获到目标物体. 比如对于我的鼠标,提取的轮廓效果并不好,因为噪声很多: 所以本文增加了去掉噪声的部分. 首先加载原始图像,并显示图像 1 img = cv2.imread("temp.jpg") #载入图像 2 h, w = img.shape[:2] #获取图像的高和宽 3 cv2.imshow("Origin", img) #显示原始图像 然后进行低通滤波处理,进行降噪 1