weixin_55356465
2021-08-23 11:16
采纳率: 33.3%
浏览 31

Python由一张图片拉伸成浮雕三维模型如何实现?

Python由图片生成三维模型。大致流程是:图片转换成灰度图,按照灰度值大小将像素点拉伸相应的距离,生成STL格式三维模型,用于雕刻或者3D打印。
想用Python实现,能说一下大致思路吗?尤其是如何生成三维模型。

img

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 程序媛一枚~ 2021-08-23 12:42

    原图 VS 浮雕效果图如下:

    img

    img

    img

    
    # 图像浮雕效果
    
    import cv2
    import numpy as np
    
    # 读取原始图像
    img = cv2.imread('images/yl_300.jpg', 1)
    
    # 获取图像的高度和宽度
    height, width = img.shape[:2]
    
    # 图像灰度处理
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    
    # 创建目标图像
    dstImg = np.zeros((height, width, 1), np.uint8)
    
    # 浮雕特效算法:newPixel = grayCurrentPixel - grayNextPixel + 150
    for i in range(0, height):
        for j in range(0, width - 1):
            grayCurrentPixel = int(gray[i, j])
            grayNextPixel = int(gray[i, j + 1])
            newPixel = grayCurrentPixel - grayNextPixel + 200 # 可修改200的值,浮雕效果略有不同
            if newPixel > 255:
                newPixel = 255
            if newPixel < 0:
                newPixel = 0
            dstImg[i, j] = newPixel
    
    print(img.shape)
    print(dstImg.shape)
    # 显示图像
    cv2.imshow('src', img)
    cv2.imshow('dst', dstImg)
    cv2.imwrite('images/yl_fd.jpg', dstImg)
    
    # 等待显示
    cv2.waitKey()
    cv2.destroyAllWindows()
    
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题