自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(236)
  • 资源 (4)
  • 收藏
  • 关注

原创 QGraphicsProxyWidget 导致程序异常结束

项目场景:GraphicsView退出时,提示程序异常结束问题描述GraphicsView使用QOpenGLWidget作为Viewport,给场景增加一些代理窗口。软件结束时报错:程序异常结束 QApplication a(argc, argv); QGraphicsScene scene; QGraphicsView *view = new QGraphicsView(&scene); view->setViewport(new QOpenGLWid

2022-04-04 00:28:34 1010

原创 【VTK】装配体Assembly的使用

【VTK】装配体Assembly的使用昨天晚上实现了一个可拖动的坐标轴MovableAxesWidget,今天给他加个使用场景。准备做一个简单的机械臂运动学仿真程序。模型用的HIWIN的机械臂,官网可以下载到模型。hiwin毕业第一份工作就是用的HIWIN的机械臂,做个demo首先想到的就是这个。1 vtkAssembly使用(Python)以前没用过vtkAssembly,先用Python实现下心里有谱。参考VTK中的装配体(vtkAssembly)这篇博客中的代码。#!/usr/bin

2021-12-22 23:23:21 5052 5

原创 【VTK】可拖动的坐标轴MovableAxesWidget

【VTK】可拖动的坐标轴MovableAxesWidget一直想从头写一个vtkWidget来了解vtk。这两天晚上比较空,正好自己选一个交互实现下。vtk官网有一个可以拖动轴的例子MovableAxes。可惜AxesActor继承自Prop3D而非Widget无法交互,并且例子只能绕相机方向旋转平移无法绕指定轴。就把这个例子改成vtkWidget好了。自己实现效果官网案例仿照RoboDK交互方式,很多三维软件都是这种交互。印象中原来在贴吧看到过vtk实现这种交互,也许vtk有现成的,我这次找

2021-12-22 22:26:47 4192 4

原创 【VTK】win下借助GitHubActions增加CI

【VTK】win下借助GitHubActions增加CI待过的团队规模都不大,没用过CI。但是总感觉自己有必要了解CI/CD,周末研究了下持续集成。知识是永远学不完的,要清楚自己要什么:我想搭建一套自己用的c++(cmake、qt、vtk等第三方库)的持续集成环境(ubuntu+windos)。自己用就够了ubuntu、windos(msvc)c++(cmake工程)比较大的第三方库(qt、vtk等)多个仓库共用编译后文件ubuntu:服务器上加一些脚本。就自己用,需要的开发环境是固

2021-12-19 18:23:59 582

原创 Rust Diesel SQLite Windows

问题描述:windos下想用Rocket使用SQLite3,自带案例./example/todo 提示链接不到sqlite3.lib原因分析:找到两个相关的issueshttps://github.com/SergioBenitez/Rocket/issues/801https://github.com/diesel-rs/diesel/issues/487解决方案:那两个issues里有两个办法,我用的第二个。安装 diesel_cli可以看 Rust diesel win10安装填坑

2021-10-09 12:01:17 694 2

原创 借助Qt使vtk窗口适配触摸屏心得

借助Qt使vtk窗口适配触摸屏心得最近工作安排是适配vtk的触摸屏操作,看了一些源码,这里分享下自己目前使用的办法。本文就是自己的思路,仅供参考,可能完全错误。!!! 如果有其他优雅的办法请指正。原文借助Qt使vtk窗口适配触摸屏心得感谢这位大佬的分享 https://github.com/tsutenn/TsutennQVTKWidget,理解了他的思路后重写了一下。一个支持多指触控操作vtp的简单Demo(单指旋转、双指缩放、三指平移):https://github.com/Beyo

2021-09-05 04:58:41 1833

原创 利用Qt实现Https网络请求

利用Qt实现Https网络请求项目介绍:一个简易的Github图床客户端项目仓库:GithubImageHost看了 vnote 的代码,理解后重新敲了一遍。#ifndef NETWORKACCESS_H#define NETWORKACCESS_H#include <QByteArray>#include <QNetworkAccessManager>#include <QNetworkReply>#include <QNetworkRe

2021-09-05 02:44:23 901

原创 利用Qt实现Gif转预览图片

利用Qt实现Gif转预览图片项目介绍:一个简易的Github图床客户端项目仓库:GithubImageHost需要把图床的gif搞成本地的预览图片,本来当会很麻烦,看了下QMove的源码,原来直接用QImageReader就可以实现gif的解析了。struct NetworkReply{ QNetworkReply::NetworkError error = QNetworkReply::HostNotFoundError; QByteArray data; QStr

2021-09-05 02:43:37 432

原创 利用Qt并行抓去网络图片(https)

利用Qt并行抓去网络图片(https)项目介绍:一个简易的Github图床客户端项目仓库:GithubImageHost利用 QNetworkAccessManager 可以直接获取网络请求void GitHubImageHost::DownloadImage(GHImage &gh_image){ if (gh_image.pix.isNull()) { auto reply = NetworkAccess::Request(QUrl(gh_image.do

2021-09-05 02:43:06 493

原创 遍历Github仓库并提取所有图片

遍历Github仓库并提取所有图片项目介绍:一个简易的Github图床客户端项目仓库:GithubImageHost利用 QElapsedTimer+QCoreApplication::processEvents() 可是实现UI同步(QEventLoop增加实现循环放在这里不合适)利用 QtConcurrent 实现文件的检索同步等待(不干扰UI)void SleepWait(const int &seconds){ if (seconds <= 0) {

2021-09-05 02:42:35 449

原创 GithubImageHost图床本地缓存设计

GithubImageHost图床本地缓存设计项目介绍:一个简易的Github图床客户端项目仓库:GithubImageHost试过很多图床,都缺少全部图片预览的功能(按照目录,预览仓库内所有图片),只有预览通过该图床上传过的图片。想了下自己想要的:默认只预览本地上传和下载的图片,当点击更新仓库按钮后则同步仓库内所有图片到本地缓存并支持预览。实现:把图片利用Qt的scaled调整到200, 150的尺寸,每次更新过后保存到本地文件。利用QDataStream实现自定义结构体的写入写出:str

2021-09-05 02:42:03 367

原创 GithubImageHost

GithubImageHost一个简易的Github图床客户端。(QNetworkAccess + GitHub)仓库: GithubImageHost进度2021.09.04:拿掉上传功能去重构,打算改为利用全局快捷键实现上传(类似utools那种)。学习的目的已经完成,感觉Demo还凑合能用,想想十月一假期加上:任务栏缩略图、进度条、弹窗、快捷键做的完善一些。2021.09.04:学习API的本意已经实现了,该有的功能都做完了。说明  学习Qt网络编程的几个API,做一个图

2021-09-05 01:53:44 419 1

原创 vtk 利用体渲染绘制地球

vtk 利用体渲染绘制地球之前看到有人问体渲染绘制地球的颜色渲染不对。难道还有构建体素数据来渲染地球这种玩法吗?果断试一下:1 找地球图片数据2 贴图实现地球的可视化(TexturedSphereSource)3 构建一个球形体素数据并用体渲染可视化4 构建地球的体渲染数据原文vtk 利用体渲染绘制地球项目地址参考:Purdue CS 一个很老的教案 https://www.cs.purdue.edu/homes/xmt/classes/CS530/Spring2013/CS530

2021-08-15 11:28:10 1522

原创 QOpenglWidget屏幕坐标系转到vtk世界坐标系

原文QOpenglWidget屏幕坐标系转到vtk世界坐标系QOpenglWidget屏幕坐标系转到vtk世界坐标系前两天看到有人问vtk的坐标系和qt的坐标系不同,之前有用qt实现了下vtk的测量距离和测量角度,其中就用到了QOpenglWidget屏幕坐标系转到vtk世界坐标系。这边记录一下:本身是非计算机专业的本科,计算机视觉更是没有了解过,只记录下自己在工作中利用vtk实现可视化的实际应用经验。我自己大概接触到这么几个坐标系:qt的屏幕坐标系(paintEvent绘制用的)二维的,原

2021-08-15 11:23:39 1403 4

原创 VTK:利用qt实现体绘制剪裁

VTK:利用qt实现体绘制剪裁做体绘制渲染一定少不了交互剪裁的功能。一般又两种方式:搞一个包围盒,移动包围盒实现体渲染的剪裁像小蚂蚁一样可以在屏幕画任意多边形实现剪裁结果跟狗啃的一样主要是因为数据尺寸比较小(像素40* 40 * 40),直接抹黑像素肯定很烂原文VTK:利用qt实现体绘制剪裁1 项目地址在官方案例基础上改的包围盒案例 https://kitware.github.io/vtk-examples/site/Cxx/Widgets/BoxWidget2/体渲染

2021-07-29 10:13:34 4536 13

原创 Qt实现一个简单协议的封包和拆包

Qt实现一个简单协议的封包和拆包需求平时通讯经常用到遵循一定协议封包和拆包。分享一个简单的解决方案。项目https://github.com/BeyondXinXin/study_qt原文Qt实现一个简单协议的封包和拆包代码#include <QByteArray>#include <QDataStream>#include <QDebug>#include <QFile>class ProtocalData{public:

2021-07-22 22:05:42 1555 2

原创 QTableView代理退出编辑模式前就修改数据

QTableView代理退出编辑模式前就修改数据需求列表上有一些QComboBox和QDoubleSpinBox,留下来的代码是用的代理(createEditor + setEditorData + setModelData)。最新的需求需要实时修改。如果是用的代理(paint + editorEvent)或者QTableWidget,这个需求很好实现。代理(createEditor + setEditorData + setModelData)则是在列表的editorEvent后便判断是否完成修改

2021-07-20 19:04:49 1002

原创 # QComboBox隐藏item

QComboBox隐藏item需求用QComboBox做了一个下拉框,需要隐藏其中几个选项。本来是每次修改QComboBox的Items。由于需要用到隐藏前的序号,如果修改Items会增加很多逻辑。找到一个好的办法: how-to-hide-qcombobox-items-instead-of-clearing-them-out原文QComboBox隐藏item代码QComboBox *editor = new QComboBox(parent);editor->addItems(i

2021-07-20 19:03:27 1445

原创 QtCreator利用cmake组织项目列表

QtCreator利用cmake组织项目列表之前纠结过Qt creator项目结构树的问题,今天才认识到cmaek有source_group,又增加了新知识。之前困惑写的博客:Qt creator 项目结构树Header Files、Source Filessource_group 介绍:source_group原文QtCreator利用cmake组织项目列表使用不同版本的Qt creator管理camke项目,如果不分组则会使用不同的分组。设置了source_group则一致。proj

2021-07-20 19:02:06 975 3

原创 Vtk多个actor绑定选中事件

Vtk多个actor绑定选中事件1 交互只有: 放大、移动、沿着z轴旋转2 增加选中回调3 增加部分模型隐藏效果项目地址在官方案例基础上改的案例 https://kitware.github.io/vtk-examples/site/Cxx/Picking/HighlightPickedActor/修改后工程 https://github.com/BeyondXinXin/study_vtk原文Vtk多个actor绑定选中事件实现TrackballCamera 记录下所有的ac

2021-07-18 14:05:13 1907 5

原创 Vtk多个actor单独交互

Vtk多个actor单独交互挺常用的需求,其实只要使用 TrackballActor 即可。(不是TrackballCamera)效果[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-trznd9Ti-1626588217218)(https://raw.githubusercontent.com/BeyondXinXin/BeyondXinXIn/main/PixX/xxx.2lubdj6cm2o0.gif)]项目地址在官方案例基础上改的案例 https://ki

2021-07-18 14:03:48 1647 4

原创 VTK绘制螺钉螺纹线

VTK绘制螺钉螺纹线需要在ct三视图上画出来螺钉的每个截面。螺钉的长度和直径都不确定,需要动态调整。本来计划用一个画好的螺钉缩放,任意拖拽时候变形严重。干脆直接画吧。效果[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jVP5dJuA-1626588148756)(https://raw.githubusercontent.com/BeyondXinXin/BeyondXinXIn/main/PixX/xxx.4m3ftpxoj3w0.png)][外链图片转存失败,源

2021-07-18 14:02:40 943 2

原创 Qt 图片分块并增加移入选中效果

Qt 图片分块并增加移入选中效果需要把图片分成几个部分,增加移入和选中的效果:没找到类似的,干脆自己画一下吧。QPolygon直接支持判断是否包含点。bool QPolygon::containsPoint(const QPoint &point, Qt::FillRule fillRule) const// Returns true if the given point is inside the polygon according to the specified fillRule;

2021-07-11 15:21:37 484

原创 Qt 双滑块

Qt 双滑块需要做一个双滑块,用来调节。找到几个,却发现跟想要的还是有点差距,拿一个比较靠谱的自己改一下吧。参考的工程 https://github.com/przemek83/wble选这个好处是:继承自QSlider的,完全支持样式表。增加了一个在线上也能拖拽的操作。改完后的工程https://github.com/BeyondXinXin/study_qt...

2021-07-11 14:28:15 814 1

原创 VTK 实现 曲面重建(CPR)

VTK 实现 曲面重建(CPR)原理CPR±+Curved+Planar+Reformation下载: https://www.jianguoyun.com/p/DXY5HOoQgYiuCRia-PED (访问密码 : r0ga0d)曲面重建CPR步骤输入点拟合样条曲线(利用vtkSplineFilter)计算样条曲线各点的法向量(弗莱纳公式)根据点和法向量截取图片(vtkProbeFilter)每张图片拼接起来(vtkImageAppend)VTK实现常用功能vtk肯定提供现成办法

2021-05-25 09:28:14 7621 15

原创 VTK MPR 每张图对应空间位置提示

MPR 每张图对应空间位置提示看了下小蚂蚁的MPR功能,每张切片有“上下左右前后”的标注,自己也实现下。计算方位首先要知道自己每个切片的初始切割矩阵,根据初始矩阵可以确定初始的方位。合适的办法是每次重新切割图片时,计算方位。图省事,我直接用定时器来获取当前每个视图的矩阵。重新计算当前的图片方位,让后显示。const static double mpr_matrix1_[16] = { 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0

2021-05-18 20:39:51 1546 8

原创 vtk 球心拟合

vtk 球心拟合double *GetBallCentre(vtkPoints &points) { double matrix[16]; double in[4]; vtkIdType num = points.GetNumberOfPoints(); matrix[15] = static_cast<double>(num); for(vtkIdType i = 0; i < num; i++ ) { double po

2021-05-18 20:21:02 730

原创 VTK 切换相机视角实现前后左右

VTK 切换相机视角实现前后左右enum CamOrientation { OrientationR, OrientationL, OrientationA, OrientationH, OrientationF, OrientationP};void CBvtkVRWidget::SetCameraOrientation( const CBvtkVRWidget::CamOrientation &t_camOrientation)

2021-05-16 02:54:01 2084 4

原创 vtk实现一个简易的RubberBand 并求矩形内部hu平均值和最值

vtk实现一个简易的RubberBand 并求矩形内部hu平均值和最值想实现一个两点的矩形框,并求内部hu平均值。之前是用vtk自带的RubberBand来实现,交互关闭,清空显示等跟其他交互不太好集成统一管理。趁着周末直接尝试下自定义一个Widget。效果:反正就两个点,干脆直接用vtkDistanceWidget来实现吧。自己实现一个交互,需要写三个相关类RubberBandWidget:直接用的DistanceWidget,主要是初始化、清空复位用。RubberBandWidgetCal

2021-05-16 02:42:10 776 2

原创 # Qt显示 vtk cpr 序列

Qt显示 vtk cpr 序列周末终于不忙了,正好实现一个cpr的常用功能,截面图序列浏览。下边六个截面只是单纯的显示图片,想了想直接用qlabel吧,正好之前没做过可以学习下。记录下用到的东西vtkImage 转 QImage图片类型转换vtkNew<vtkImageCast>cast;cast->SetInputConnection(mpr_maker_->GetImageReslice(3)->GetOutputPort());cast->SetOu

2021-05-16 02:11:12 1914 4

原创 vtk 四元数和变换矩阵转换

vtk 四元数和变换矩阵转换最近有个需求是根据四元数求齐次变换矩阵然后做计算。看到一篇对这块讲解很好的文章https://krasjet.github.io/quaternion/quaternion.pdf作者的github地址(matlab的)https://github.com/Krasjet/quaternionEigen转换办法Eigen::Quaterniond q;q.x() = x;q.y() = y;q.z() = z;q.w() = w;Eigen::Matr

2021-05-07 20:07:49 1895

原创 C++ 动态库、静态库、__declspec(dllexport)、符号隐藏、gcc visibility (“default“)

本文链接 github.com/BeyondXinXinC++ 动态库、静态库、__declspec(dllexport)、符号隐藏、gcc visibility (“default”)记录几个之前存在疑惑的地方。Q1:为什么我选择 生成/使用 动态库,依旧会 产生/加载 .lib?动态库:.dll/.so静态库:.lib/.a链接:把库函数跟可执行程序绑定(绑定时间不同,分为静态、动态链接)不管链接,都要给可执行程序添加导入库。静态库的导入库就存在他本身、动态库的导入库存在*.l.

2021-04-22 18:14:41 3624

原创 windos下Qt Creator CMake error: Generator: execution of make failed. Make command was: jom /nologo al

本文搬运自 github.com/BeyondXinXinwindos下Qt Creator CMake error: Generator: execution of make failed. Make command was: jom /nologo all不喜欢系统变量里一堆路径,Qt和Qt Creator的路径均没有加在系统变量里。windos 下 Qt Creator使用CMake管理项目时,除了编译器(msvc/mingw)外还需要构建工具。这个错误就是找不到构建工具。解决办.

2021-04-22 18:10:55 3282

原创 ITK VTK DCMTK 一次编译后给其他电脑使用

https://github.com/BeyondXinXin/Blog-OpenLibrary/issues/3ITK VTK DCMTK 一次编译后给其他电脑使用需求原来(ubuntu、deepin)开发的时候,每台电脑自己分别编译下需要用的第三方库。使用熟练后,第三方库的版本、模块基本不会再经常修改了。最近计划windos下把库打包,以后换电脑就不用每次编译了。边摸索边记录下过程。编译步骤1 明确的自己相关设置确认编译器和其版本 (MinGW MSVC Ninja) (Make

2021-04-18 17:18:47 1132 1

原创 VisualStudio学习笔记

Visual Studio使用笔记:cmake工程 missing and no known rule to make it  最近研究 Visual Studio 直接使用cmake工程,总是遇到 missing and no known rule to make it 这个错误。报这个错误一般是指cmake路径错误,无法找到对应的规则。可是我确认自己这块没有问题。本来当随时vs默认安装的cmake版本有问题,也各种改和替换vs的默认调用工具。最后发现了问题:Visual Studio使用cmake

2021-04-05 15:50:09 1242 1

原创 升级vtk9 :vtkPointHandleRepresentation3D 引发的bug

升级vtk9 :vtkPointHandleRepresentation3D 引发的bug   之前用VTK8实现了一些自己写的交互,最近升级到VTK9,发现有些不能使用了。原来的功能  屏幕中放置一个手柄,设置其尺寸为(或者隐藏)。当鼠标移入这个隐藏的手柄时候会改变形状,选中拖动后会触发别的事情实时改变。升级9后遇到的问题  隐藏的手柄无移入效果和无法被拖动。分析问题  定位:VTK9里 vtkPointHandleRepresentation3D 这个类,如果设置 隐藏/尺寸为0 后。他

2021-04-04 19:02:24 647

原创 升级vtk9 :造成itk4编译不过去

升级vtk9 :造成itk4编译不过去  最近打算尝试下VTK9,发现ITK4没有办法编译。看了下错误,ITK的glue用的cmake宏已经被vtk9移除了。要是ITK也一起升级到ITK5的话,担心升级带来的问题更不好找了。照着ITK5的相关代码改了下TIK4.13相关语法,改了好几个文件一大片代码才成功编译过去。难道ITK4已经不在支持VTK9了吗?  翻了下ISSUSE:ITK5 全部支持 VTK9ITK4 只有 4.13.3 这一个版本默认支持VTK9  其实有拉一份最新的ITK5.2

2021-04-04 18:45:35 395

原创 Qt ApplicationAttribute/WidgetAttribute 程序级别属性

   Qt 不是开发语言,没有所谓的谁厉害。对于Qt本身来说老鸟跟新手区别只是谁遇到的问题更多。当然衡量Qter的水平主要还是看c++的水平。Qt ApplicationAttribute/WidgetAttribute 程序级别属性  今天测试时候换了一批新的电脑。linux/mac都正常,就win下显示有些问题。检查后发现,新装的win系统总是默认缩放150%,高清屏显示也是自带200%缩放。这个缩放会造成显示的一些问题。 QApplication::setAttribute(Qt::AA

2021-02-26 22:04:46 3961

原创 Qt Designer 样式表 类型择器无效

Qt Designer 样式表 类选择器无效   Qt 样式表使用基本上就是:选择器 { 属性 : 值}选择器 : 状态 { 属性 : 值}选择器 : 辅助控制器 { 属性 : 值}  一般大一点正规点的程序都是把所有样式表放在一个.qss文件里统一加载。省事的话每个控件在Qt Designer里也可以直接添加样式表。至于使用那个要看继承设置,默认是最后一次setStyleSheet。  Qt Designer里添加的一方面好处就是所见即所得,但是有些情况下Qt

2021-02-26 22:03:55 934

原创 KISS Dicom Viewer 体渲染插件(利用vtk Volume 实现体渲染)

KISS Dicom Viewer 体渲染插件(利用vtk Volume 实现体渲染)项目地址:CodeChina kissDicomViewer详细介绍:CSDN 一个简单的 DICOM 浏览器  参考代码:可视化借鉴:F3D https://kitware.github.io/F3D/Volume Filter参数参考:GavriloviciEduard https://github.com/GavriloviciEduard?tab=repositories  参考资料:G

2021-02-07 21:31:09 1158 2

failed to update PAC file

pac.txt

2021-04-02

CloseTheGap.py

利用vtk修复两个模型间的细缝。

2020-04-13

HalconTest.zip

https://blog.csdn.net/a15005784320/article/details/98204012 QT、HACLON 使用心得

2020-04-12

WriteDcmSrc.zip

Study-VTK:利用ITK修改dcm标签(tags)https://blog.csdn.net/a15005784320/article/details/105456767

2020-04-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除