Python / Opencv如何绘制具有stl文件的网格曲面

时间:2016-03-09 12:30:03

标签: opencv numpy stl mesh

我需要从我以不同格式存储的网格中绘制表面三角形,例如xyz或stl。我的最终目的是创建一个带有三角形的二进制图像,以便能够覆盖我已经在另一个python脚本中生成的其他图像。

我不知道什么是最好的方法。使用numpy-stl模块可以提取向量和点,但是我无法生成opencv代码。我试过折线。

这些是我的文件。

Stl - https://dl.dropboxusercontent.com/u/7 ...

xyz - https://dl.dropboxusercontent.com/u/7 ...

我使用opencv做了一些代码而没有任何成功。

import numpy as np
from stl import mesh
#import stl

from mpl_toolkits import mplot3d
from matplotlib import pyplot
import cv2

if __name__ == '__main__':
    your_mesh = mesh.Mesh.from_file('stlMidpoint.stl')
    img= cv2.imread('nimg.jpg')  #an image with the same size, and I'll use the mesh-mask on this image
    imgMask = np.ones(img.shape[:2], dtype="uint8")*255
    m_img= np.ones(imgMask.shape, dtype="uint8") * 255

    points = np.array(your_mesh.vectors[0,:,:])
    cv2.polylines( m_img,[points], 1, (255,255,255))

    cv2.imwrite('meshTri.jpg', m_img)

0 个答案:

没有答案