CreateBFont 2D图像的高斯平滑并转化为3D几何体

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①vtkImageDataGeometryFilter结构化图像数据转换为几何数据


二:代码及注释

import vtkmodules.vtkInteractionStyle import vtkmodules.vtkRenderingOpenGL2 from vtkmodules.vtkCommonColor import vtkNamedColors from vtkmodules.vtkIOImage import vtkPNMReader from vtkmodules.vtkImagingGeneral import vtkImageGaussianSmooth from vtkmodules.vtkFiltersGeometry import vtkImageDataGeometryFilter from vtkmodules.vtkFiltersCore import vtkClipPolyData from vtkmodules.vtkRenderingCore import ( vtkActor, vtkPolyDataMapper, vtkRenderWindow, vtkRenderWindowInteractor, vtkRenderer ) def main(): colors = vtkNamedColors() fileName = "Data/B.pgm" ren1 = vtkRenderer() renWin = vtkRenderWindow() renWin.AddRenderer(ren1) iren = vtkRenderWindowInteractor() iren.SetRenderWindow(renWin) imageIn = vtkPNMReader() imageIn.SetFileName(fileName) """ vtkImageGaussianSmooth 对图像或体数据进行高斯平滑,用来降噪、平滑梯度等 """ gaussian = vtkImageGaussianSmooth() gaussian.SetInputConnection(imageIn.GetOutputPort()) gaussian.SetStandardDeviations(2, 2) # 设置高斯核在每个维度上的标准差,σ值越大,高斯核越宽,平滑的强度就越大,图像越模糊 gaussian.SetDimensionality(2) # 告知过滤器,正在处理一个二维图像,忽略Z维度存在 gaussian.SetRadiusFactors(1, 1) # 设置高斯平滑操作的计算范围 """ vtkImageDataGeometryFilter 把结构化图像数据 (vtkImageData) 转换成几何数据 (vtkPolyData),以便可视化或进一步几何处理 """ geometry = vtkImageDataGeometryFilter() geometry.SetInputConnection(gaussian.GetOutputPort()) """ 高斯平滑的2D图像转换成的3D平面多边形数据。这个平面上的每个点都带有一个标量值(原始图像的像素强度) """ aClipper = vtkClipPolyData() aClipper.SetInputConnection(geometry.GetOutputPort()) aClipper.SetValue(127.5) # 大于127.5的部分被保留,小于127.5的部分被丢弃 aClipper.InsideOutOn() # 翻转裁剪逻辑 aClipper.GenerateClipScalarsOff() # 禁用生成新的剪裁标量 aClipper.GetOutput().GetPointData().CopyScalarsOff() aClipper.Update() mapper = vtkPolyDataMapper() mapper.SetInputConnection(aClipper.GetOutputPort()) mapper.ScalarVisibilityOff() letter = vtkActor() letter.SetMapper(mapper) ren1.AddActor(letter) letter.GetProperty().SetDiffuseColor(colors.GetColor3d("LampBlack")) letter.GetProperty().SetRepresentationToWireframe() ren1.SetBackground(colors.GetColor3d("WhiteSmoke")) ren1.ResetCamera() ren1.GetActiveCamera().Dolly(1.2) ren1.ResetCameraClippingRange() renWin.SetSize(640, 480) renWin.SetWindowName('CreateBFont') renWin.Render() iren.Start() if __name__ == '__main__': main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1146907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ResNet18实战案例:工业机器人视觉

ResNet18实战案例:工业机器人视觉 1. 引言:通用物体识别在工业场景中的价值 随着智能制造和自动化产线的快速发展,工业机器人正从“机械执行”向“智能感知”演进。其中,视觉识别能力成为提升机器人环境理解与自主决策的关键技术…

ResNet18实战教程:工业缺陷检测系统

ResNet18实战教程:工业缺陷检测系统 1. 引言 1.1 学习目标 本文将带你从零开始,构建一个基于 ResNet-18 的工业级图像分类系统,并将其应用于通用物体识别与场景理解。通过本教程,你将掌握: 如何使用 TorchVision 加…

ResNet18实战:构建高精度图像分类服务

ResNet18实战:构建高精度图像分类服务 1. 引言:通用物体识别中的ResNet-18价值 在计算机视觉领域,通用物体识别是智能系统理解现实世界的基础能力。从自动驾驶感知环境,到智能家居识别用户行为,再到内容平台自动打标…

ResNet18部署详解:Serverless架构图像识别

ResNet18部署详解:Serverless架构图像识别 1. 背景与技术选型 1.1 通用物体识别的工程挑战 在当前AI应用快速落地的背景下,通用物体识别已成为智能服务的基础能力之一。无论是内容审核、智能相册管理,还是AR/VR场景理解,都需要…

ResNet18优化实战:推理吞吐量提升

ResNet18优化实战:推理吞吐量提升 1. 背景与挑战:通用物体识别中的性能瓶颈 在AI应用落地过程中,模型的稳定性和推理效率是决定用户体验的核心因素。基于TorchVision官方实现的ResNet-18模型因其轻量、稳定、泛化能力强,广泛应用…

Multisim14使用教程:傅里叶分析功能操作指南

Multisim14实战指南:手把手教你用傅里叶分析“看穿”信号本质你有没有遇到过这样的情况?电路明明照着图纸搭的,输入是正弦波,示波器一测输出却“毛毛躁躁”,声音发闷、电源噪声大、通信误码率高……问题出在哪&#xf…

ResNet18代码详解:从模型加载到推理全流程

ResNet18代码详解:从模型加载到推理全流程 1. 背景与技术选型 1.1 通用物体识别的挑战与需求 在计算机视觉领域,通用物体识别是基础且关键的任务之一。面对海量图像数据,系统需要快速、准确地判断图像内容所属类别——无论是动物、交通工具…

CubeAxesActor 为几何体添加边框和坐标轴

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkCubeAxesActor立方体坐标轴 二&#x…

MOSFET基本工作原理图解:开关状态转换详解

深入理解MOSFET:从结构到开关行为的完整图解指南你有没有遇到过这样的情况——明明代码写对了,驱动信号也输出了,可电机就是启动不了?或者电源效率上不去,发热严重,排查半天发现是MOSFET在“捣鬼”&#xf…

ResNet18实战指南:构建智能农业监测系统

ResNet18实战指南:构建智能农业监测系统 1. 引言:通用物体识别在智能农业中的价值 随着人工智能技术的普及,通用物体识别正成为智能农业系统的核心能力之一。从田间作物生长状态监测、病虫害识别,到农机设备自动巡检、牲畜行为分…

ResNet18部署案例:教育场景应用开发指南

ResNet18部署案例:教育场景应用开发指南 1. 引言:通用物体识别在教育中的价值 随着人工智能技术的普及,通用物体识别正逐步融入教育信息化体系。从智能教学辅助到校园安全监控,再到学生行为分析与实验数据自动标注,图…

USB_Burning_Tool批量模式下固件一致性保障方案

如何让 USB_Burning_Tool 在批量烧录中“零出错”?一套工业级固件一致性保障实战方案你有没有遇到过这样的场景:产线正在批量烧录设备,几十台机器同时连接,进度条飞快推进——结果几小时后抽检发现,有几台设备烧的是旧…

ResNet18实战:5分钟搭建高精度图像分类系统

ResNet18实战:5分钟搭建高精度图像分类系统 1. 引言:通用物体识别的工程价值 在计算机视觉领域,通用物体识别是构建智能系统的基石能力之一。无论是内容审核、智能相册管理,还是增强现实(AR)场景理解&…

DisplacementPlot 结构动态可视化

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkWarpVector 根据向量场对几何体进行形…

ExponentialCosine 复杂的二维数学函数映射为3D曲面

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①vtkWarpScalar根据标量值沿着发现方向进行…

STC89C52控制蜂鸣器演奏乐曲完整指南

用STC89C52让蜂鸣器“唱”出《小星星》——从原理到实战的完整实现你有没有试过让一块最普通的51单片机,带着一个几毛钱的蜂鸣器,把《小星星》从头到尾演奏一遍?听起来像魔法,其实并不难。这不仅是电子爱好者入门时的经典项目&…

ResNet18实战:教育智能教具识别系统

ResNet18实战:教育智能教具识别系统 1. 引言:通用物体识别与ResNet-18的工程价值 在智能教育硬件快速发展的今天,如何让教学设备“看懂”学生手中的实物,成为提升互动体验的关键。例如,在幼儿认知课堂中,…

ResNet18优化实战:量化加速推理的完整步骤

ResNet18优化实战:量化加速推理的完整步骤 1. 背景与挑战:通用物体识别中的效率瓶颈 在边缘计算和终端部署场景中,深度学习模型的推理速度与资源消耗成为决定用户体验的关键因素。尽管ResNet-18作为轻量级残差网络已被广泛用于图像分类任务…

通俗解释波形发生器设计中的频率控制

波形发生器设计中的频率控制:从原理到实战你有没有想过,当你按下函数发生器上的“1kHz正弦波”按钮时,它是如何精准地输出一个稳定、干净的信号?背后其实是一套精密的数字控制系统在默默工作。而其中最关键的一环,就是…