自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 常见的排序

#include<iostream>#include<vector>using namespace std;//冒泡//最好O(n),最坏O(n2),平均O(n2)//O(1),稳定int *bubble(int a[],int len) { for (int i = 0; i < len - 1; ++i) { for (int j = 0; j < len - 1 - i; ++j) { if (a[j] > a[j + 1]) {

2021-09-24 15:37:55 220

原创 itksnap配准后利用ANTs保存配准后图像

使用itksnap进行图像配准后,直接save图像发现还是原图,查阅资料发现https://layerfmri.com/2019/02/11/high-quality-registration/ 可以先导出transformation文件,然后利用ANTs生成配准后的图像。1.导出transformation文件配准选项框右下角有个save,保存后是txt文件,也就是transformation文件。2.安装ANTshttps://blog.csdn.net/qq_44933752/article

2021-09-13 17:59:26 1783

原创 matlab的appdesigner坐标区画图,控件缩放

在使用matlab的appdesigner时,我拖动了一个“坐标区”控件到界面上,而且不想要坐标轴,但是发现这个控件拖动的时候总是容易卡,而且边界总有一圈灰色的框又去不掉,影响布局,运行的时候还不随窗口缩放而缩放。一些解决方法:1.不随窗口比例缩放:搜索units属性,设置为normalized。2.布局问题:我发现实际运行画图的时候,好像周围灰色的区域也会被填充,比如第一张图运行之后导入图片显示的是第二张的效果,因此对齐各个坐标区控件的时候,只要最外边灰色的框对齐就可以了。为了更容易看,可以先搜

2021-08-31 14:02:20 9353 1

原创 matlab联合c++(mex接口)启用openmp

windoes环境,matlab为2020a,c++程序基于vs2017编写。1.在c++程序中想要启用openmp的地方添加#pragma omp parallel for 对于openmp的使用方法可以百度。2.保存文件,把cpp文件复制到matlab当前文件夹下。3.在matlab命令行窗口输入mex -v COMPFLAGS="$COMPFLAGS /openmp" 文件名.cpp等待编译完成。因为我用的是vs,也就是MSVC,如果是MinGW或者其它系统参考http://tip

2021-08-26 11:38:27 920

原创 matlab联合c++编程(mex接口)

适用于matlab有大量for循环想提高程序运行速度,或者有现成的c++函数想提供接口。基本使用方法见https://www.jianshu.com/p/06d4a73aad93。mex函数编写参考https://www.cnblogs.com/arxive/p/4687766.html。tip:1.matlab输入三维数组到c //prhs[4]为调用时假设第五个输入参数为三维矩阵 int numberofdims = mxGetNumberOfDimensions(prhs[4]);//mas

2021-08-25 09:28:32 545

原创 nii图像读取,重采样,保存

基于linux平台下的qt+vtk完成,完整程序见 https://github.com/xwwya/niii_resampling主要参考 https://blog.csdn.net/weixin_42040046/article/details/96505606主要程序:#include "mainwindow.h"#include "ui_mainwindow.h"#include "vtkSmartPointer.h"#include "vtkNIFTIImageReader.h"#i

2021-07-16 18:18:03 962

原创 crank-Nicolson方法

http://blog.sina.com.cn/s/blog_61c5b0020100zkw7.html追赶法https://wenku.baidu.com/view/885b27a40029bd64783e2c8a?fr=step_zhidao

2021-07-06 16:26:17 10456 1

原创 squish用于qt下的linux

官方文档(英文) https://doc.froglogic.com/squish/latest/qt主要是4.1.1安装可以看 http://mp.weixin.qq.com/s?__biz=MzI1ODQ4NjMzMg==&mid=2247483712&idx=1&sn=3925de1569fe2b2b0db24c04e77edfb5&chksm=ea063813dd71b1050200245f7b7fb85088a55cfbb4e0060c60668e3b7a7aa

2021-05-25 16:00:15 803 2

原创 网页预览文件导出为pdf

1.在浏览器右键选择打印,或者在浏览器设置(比如firefox右上方的三条横线)里面点击打印;2.打印机选择里面有另存为pdf,保存就好啦~

2021-05-18 17:02:48 1081

原创 linux分析c++函数关系调用图

这篇总结写的挺好 https://www.cnblogs.com/lidabo/p/3604091.html最终解决使用doxygen 参考这篇https://blog.csdn.net/weixin_44088559/article/details/108757221踩坑:1.vs里面体系结构可以分析,但是我没找到体系结构在哪里,下载了2019的企业版还是没有。2.https://blog.csdn.net/qq_16775293/article/details/87919094?utm_term=

2021-05-08 16:56:20 518

原创 filezilla连接虚拟机

1.下载filezilla https://filezilla-project.org/download.php?type=client#close2.虚拟机中打开终端输入ifconfig获得ip3.filezilla中文件——站点管理器——新站点,协议选sftp,端口不输入表示默认连接即可

2021-04-26 12:50:37 516

原创 gcov+lcov分支覆盖率低

关于怎么使用这两个工具见https://blog.csdn.net/weixin_42245449/article/details/115195734?spm=1001.2014.3001.5501使用gcov+lcov测试程序时,发现分支覆盖率数值很奇怪,比如printf计算有两条分支[+ -]这种,settext类似的也是。查资料https://stackoverflow.com/questions/23219614/why-gcc-4-1-gcov-reports-100-branch-cover

2021-04-22 13:58:27 1563 1

原创 ubuntu外接显示屏屏幕扩展显示

https://www.cnblogs.com/kaerxifa/p/11864370.htmlcat /proc/version可以查看ubuntu版本,我的是Linux version 5.4.0-70-generic (buildd@lgw01-amd64-039) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #78~18.04.1-Ubuntu SMP Sat Mar 20 14:10:07 UTC 2021windows下屏幕扩展可以

2021-04-19 16:37:52 7246

原创 linux下测试qt程序代码覆盖率(gcov,lcov)

1.linux系统下可以用使用Qtcreator 自带的单元测试工具框架QTestlib进行测试。https://blog.csdn.net/fuying1234/article/details/375981032.但是由于使用Qtestlib进行的测试无法生成代码覆盖率,我们需要借助linux 下的代码覆盖率工具gcov,lcov , genhtml。gcov是配合gcc产生覆盖信息报告的工具;lcov是将gcov产生的报告信息,以更直观的方式显示出来工具...

2021-03-25 13:34:56 1754

原创 c++中的继承和多态

1.继承面向对象程序设计的核心思想是数据抽象,继承和动态绑定(封装,继承,多态)。通过数据抽象可以将类的接口和实现分离;通过继承可以定义相似的类型;通过动态绑定可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。继承有基类和派生类(父类和子类)。继承关系继承关系有三种:注意和访问控制符区分:public:公有,任何位置都可以访问private:私有成员,只有类自己的成员函数才能访问protected: 保护成员,只有类自己和子类的成员函数才能访问子类对象可以赋值给父类对象,父

2021-03-18 14:33:36 1404

原创 c++中的容器类

一个容器就是一些特定类型对象的集合。主要包括顺序容器,关联容器和容器适配器。顺序容器:各个元素之间有线性关系,元素排列次序与元素值无关,而与元素添加到容器里的次序有关。关联容器:各个元素之间没有严格的物理上的顺序关系。与顺序容器根本的不同:关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按照它们在容器中的位置来顺序保存和访问的。容器适配器:本质上,适配器是使一种不同的行为类似于另一事物的行为的一种机制。适配器是容器的接口,它本身不能直接保存元素,可以把适配器看作“它保存一个容器,这

2021-03-14 17:14:14 666

原创 c++拷贝控制

https://blog.csdn.net/qq_43647628/article/details/106592995类通过一些特殊的成员函数控制对象的拷贝,赋值,移动,销毁。包括:拷贝构造函数,拷贝赋值运算符,移动构造函数,移动赋值运算符,析构函数。拷贝构造函数和移动构造函数定义当用同一类型对象初始化另一个时会发生什么;拷贝和移动赋值运算符定义了将一个对象赋予另一个对象时会发生什么;析构函数定义了当此类型对象销毁时会发生什么。这些操作都为拷贝控制操作。如果类没有定义,编译器会自动生成,但是可能导致

2021-03-09 21:10:45 208

原创 c++中的智能指针

智能指针是一个模板类,用来管理程序中的指针。程序中的对象都有严格的生命周期,全局对象在程序启动时分配,结束时销毁,局部对象在进入定义其所在程序块时倍创建,离开时销毁。而动态分配的对象需要程序员手动释放才会被销毁。有时候忘记释放了就会造成内存泄漏。而智能指针是一个类,超出类的作用域时类会自动调用析构函数,析构函数会自动释放资源。1....

2021-03-08 21:30:02 239

原创 qt自定义类访问ui控件

比如想在类A中访问mainwindow里面的LineEdit。在类A里面定义一个 QLineEdit *ed;然后就可以用ed->setText()这些函数。然后在mainwindow里面实例化类A *a=new A(); 设置a->ed=ui->LineEdit就可以了

2021-01-14 16:39:55 1322 1

原创 QT ui-widget 提升为 QChartView类时 编译报错

https://www.cnblogs.com/ZhangWj-/p/13831315.html

2021-01-05 10:48:59 1541

原创 无法打开包括文件:“qvtkwidget.h”: No such file or directory

无法打开包括文件:“qvtkwidget.h”: No such file or directory解决:确保环境变量这些配置正确,pro文件也添加了vtk的路径。在项目名称上右键,执行qmake,问题解决

2020-12-28 16:47:37 6733 7

原创 qvtkwidget控件设置交互器

在编程中发现,以下两句得到的结果是不一样的:qVTK->GetRenderWindow()->GetInteractor(); qVTK->GetInteractor();前者得到的Interactor类型是vtkRenderWindowInteractor,后者得到的是QVTKInteractor。https://blog.csdn.net/qq_38446366/article/details/82787847vtkSmartPointer<vtkRenderWi

2020-12-25 14:22:56 782

原创 matlab画图设置线型和线条颜色

matlab画图设置线型和线条颜色x=1:10;y=x;plot(y,'--','color',[102 194 165]./255,'LineWidth',2) ;https://zhuanlan.zhihu.com/p/144818209

2020-12-09 20:05:45 3361

原创 ppt没保存找不到上一个文件版本

ppt没保存找不到上一个文件版本1.随便打开一个ppt,点击文件–选项—找到自动恢复文件的路径2.这个路径下可能会有tmp格式的文件,就是自动恢复的文件,用ppt打开就可以,注意打开的时候文件格式选择所有。3.然后另存为,注意不要直接关闭,关了就没了!...

2020-12-09 14:37:19 1505

原创 二叉树遍历及遍历性质

一些性质:1.前序遍历第一个元素是root,后序遍历最后一个元素是root,中序遍历root的左边元素是左分支,右边元素是右分支;2.已知前中遍历,或者中后遍历可确定二叉树,前后不行;3.二叉搜索树中序遍历有序;4.如果t1是t2的子树,那么t1序列化的结果是t2序列化的子序列;遍历:1.递归前序vector<int> res;void preorder(Treenode* root){ if(root==NULL) return; //这里也可以对res操作,但注意要retu

2020-11-25 17:15:24 635

原创 QT5.9+VTK7.1+VS2015环境配置

QT5.9+VTK7.1+VS2015环境配置1.安装https://blog.csdn.net/hebbely/article/details/81067505这篇比较详细了注意:①qt安装过程中如果用vs编译,勾选组件的时候选择MSVC2015就行了(根据版本,2013就选2013);②使用cmake编译vtk的时候,刚开始指定版本记得32位的选择 Visual Studio 14 2015,64位的选择 Visual Studio 14 2015 Win64。③最好不要又安装2013的又安

2020-11-19 19:36:31 523

原创 Windows 已在tong.exe 中触发一个断点。

Windows 已在tong.exe 中触发一个断点。 其原因可能是堆被损坏,这说明 tong.exe 中或它所加载的任何 DLL 中有 Bug。解决:配置管理器–活动方案解决平台–新建–win32原来默认是x86

2020-11-16 21:13:44 248

原创 comsol问题记录

comsol常见问题1.绘图为空。组件——视图,把那个对物理场隐藏那些都删了。2.三维分离求解器求解,进度卡在一个地方不动,多半是模型有问题。勾选网格自适应和非线性控制器,这两个在研究里面点一点就能找到。...

2020-10-13 15:27:24 16109 3

原创 c++ 迭代器访问二维数组

#include<iostream>#include<vector>int main(){ std::vector<int> arr(5); // 创建一维数组 for(int i=0;i<5;++i) std::cout << arr[i]<<" "; std::cout << std::endl; std::cout << std::endl; std::v

2020-06-22 20:38:54 1045

原创 c++ primer学习笔记 第九章

第九章 顺序容器一个容器就是一些特定类型对象的集合。顺序容器为程序员提供了元素存储和访问顺序的能力,这种顺序不依赖于元素的值,只与元素加入容器时的位置相对应。而关联容器则根据关键字的值来存储元素。1.概述string和vector将元素保存在连续的内存空间,所以支持连续随机访问,在尾部插入数据快,在其他地方插入数据慢,因为要挪动很多。list和forward_list不支持元素随机访问,访问一个元素只能遍历,但在任意位置添加删除都很快。deque是双端队列,支持快速随机访问,在两端添加删除快。a

2020-06-19 23:04:38 292

原创 c++ primer学习笔记 第八章

第八章 IO库c++语言不直接处理输入输出,而是通过一组定义在标准库中的类型来处理IO。这些类型支持从设备读取数据和写入数据的IO操作,设备可以是文件,控制台窗口等。例如istream是输入流类型,cin是istream的一个对象,>>是从istream对象读取输入数据的运算符。1.IO类iostream定义了用于读写流的基本类型,fstream定义了读写命名文件的类型,sstream定义了读写内存string对象的类型。标准库使我们能忽略不同类型流之间的差异(普通流,文件流,stri

2020-06-19 23:04:06 213

原创 C++ primer学习笔记 第七章

第七章 类我们使用类来定义自己的数据类型。类的基本思想是数据抽象和封装,数据抽象是一种依赖于接口和实现分离的编程计算,要想实现类的数据抽象和封装,首先需要定义一个抽象数据类型,类的设计者负责考虑类的实现过程,使用类的程序员只需要思考类做了什么。数据抽象———定义数据成员和函数成员的能力;封装———保护类的成员不被随意访问的能力,通通过将类的实现细节设为privata。1.定义抽象数据类型成员函数的声明必须在类的内部,定义可以在类内也可以在类外(需要加上作用域),作为接口组成部分的非成员函数,它们的

2020-06-09 19:23:54 366

原创 C++ primer学习笔记 第六章

第六章 函数函数可以有0个或者多个参数,可以重载函数,也就是同一个名字可以对应不同的函数。1.函数基础函数包括返回类型,函数名,形参列表,函数体。**函数三要素是返回类型,函数名,形参列表,描述了函数的接口,**说明了调用该函数所需的全部信息。调用函数时用调用运算符(),()内时实参列表,使用实参初始化函数的形参。实参是形参的初始值,二者类型需要匹配(可能会发生隐式类型转换),数量需要一致。形参可以为空。函数返回类型不能是数组或函数类型,但可以是指向数组或者函数的指针。1.局部对象C++中

2020-06-07 13:34:54 246

原创 c++primer学习笔记 第五章

第五章 语句1.简单语句别漏写分号也别多写分号,如果是空语句需要注释。while (iter!=svec.end()) ; //循环体时空语句++iter; //递增运算不属于循环的一部分复合语句:用花括号括起来的语句和声明的序列,也称作块。一个块就是一个作用域,在块中引入的名字只能在块内部及子块中访问。块不以分号结束。2.条件语句(if和switch)1.ifelse与离他最近尚未匹配的if匹配。注意使用花括号。2.switchcase标签必须是整型常量表达式。注意不要漏写brea

2020-06-05 19:28:16 154

原创 c++primer 学习笔记 第四章

第四章 表达式表达式由一个或多个运算对象组成,对表达式求值将得到一个结果。1.基础1.基本概念一元运算符:作用于一个运算对象。如取址符和解引用符。二元运算符:作用于两个运算对象。如==,<这些函数调用也是特殊的运算符,对运算对象的数量没有限制。重载运算符:IO库的<<,>>以及string对象,vector对象,迭代器使用的运算符都是重载的运算符。2.求值顺序,优先级,结合律可以利用括号改变运算顺序。对于未指定运算顺序的运算符,如int i=f()*f1()

2020-06-05 19:27:38 178

原创 c++ primer学习笔记 第三章

第三章 字符串 向量和数组第二章介绍的内置类型是c++直接定义的,标准库定义了一组具有更高级性质的类型,例如string和vector。1.命名空间的using声明目前为止,我们用到的所有库函数基本都属于命名空间std。格式:using 命名空间 :: 名字,如using std :: cin。头文件最好不要包含using声明,因为头文件内容会被拷贝到所有引用它的文件中,如果头文件有个using声明,那么所有使用了该头文件的文件都会有这个声明。不经意间可能会产生问题。2.标准库类型string

2020-06-04 17:27:45 269

原创 c++ primer学习笔记 第二章

第二章 变量和基本类型1.基本内置类型包括算术类型和空类型,算术类型分为整型(包络字符和布尔类型在内)和浮点型。地址是一个数字,根据他可以找到内存中的一个字节。1.算术类型机器实现:计算机由比特序列存储数据,大多数机器的1字节=8比特,1字=4/8字节=32/64比特,可寻址的最小内存块称为字节,存储的基本单元称为字。大多数计算机将内存中每一个字节和一个数字(地址)关联起来,所以我们能够使用某个地址表示从这个地址开始的大小不同的比特串,不同数据类型所占比特数不同,所以数据类型很重要。除过布尔和扩

2020-06-03 20:46:00 173

原创 常量指针和指针常量

指针是对象而引用不是,所以允许把指针本身定义为常量,即为常量指针。指针指向(存放在指针中的地址)不能变,但是其所指向的值可以变。格式为int *const ptr。const修饰ptr,说明ptr本身是一个常量对象。指针常量就是指向常量的指针。不能改变其所指对象的值,指针指向可以变。格式为const int *ptr,const修饰int,说明指向的值不能变。顶层const表示指针本身是个常量,底层const表示指针所指对象是个常量。...

2020-06-02 19:21:10 137

原创 c++ primer学习笔记 第一章

第一章 开始一个函数包括返回类型,函数名,括号包围的形参列表,函数体。函数体中return 语句包含的返回值类型必须与函数的返回类型相容。c++使用标准库来提供IO机制,一般为 iostream 库,包含两个基础类型istream和ostream。标准库定义了四个IO对象: cin, cout, cerr, clog。输入运算符为>>, 输出运算符为<<,二者都是表达式,一个表达式产生一个计算结果。>>接受一个istream作为其左侧运算对象,接受一个对象作为其右侧

2020-06-01 16:47:40 208

空空如也

空空如也

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

TA关注的人

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