- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 Eigen::Tensor使用帮助
用python实现了某些算法之后,想转成C++来获取更高的性能。但是python数组的操作太灵活了,尤其是3维、4维、5维等高维数组,以及它们的广播、数组坐标、切片等机制。还有numpy的pad、where等操作更是给C++转换带来了更多的麻烦。 查阅了相关的资料,发现Eigen库有Tensor结构,可以实现python的高维数组运算。但是Eigen::Tensor在网上的资料非常少,官网对其也描述甚少。甚至由于AI的流行,许多错误的信息也给我们带来很多困扰。 我想整理一个比较全
2025-02-02 21:37:03
481
原创 判断左右肺粘连
在有些肺CT数据中,左右肺会有一点是粘连在一起的,这在分割左右肺的时候是不允许的。1、取得肺野最大的一层,判断出肺的中心线,即(肺左边+肺右边)/2。2、取得每层上的肺区域的外接矩形3、若(矩形左边中线+80), 则认为此层粘连。有的数据比图中所示更加粘连。
2015-12-18 15:58:18
1038
转载 七种常见阈值分割代码(Otsu、最大熵、迭代法、自适应阀值、手动、迭代法、基本全局阈值法)
http://www.cnblogs.com/skyseraph/archive/2010/12/21/1913058.html
2015-11-28 22:53:18
1452
原创 形态学代码实现逻辑
形态学起源于岩相学对岩石结构的定量描述工作,近年来在数字图像处理和机器视觉领域中得到广泛的应用,形成一种独特的数字图像分析方法和理论。形态学的操作包括腐蚀(erosion)、膨胀(dilation)、开(open)和闭(close),结构单元称为structure element。形态学运算的效果取决于结构单元的大小、内容以及逻辑运算的性质。腐蚀是一种消除边界点,使边界向内部收缩的过程。可以用来
2015-11-24 21:21:45
1060
3
转载 利用多核多线程进行程序优化
大家也许还记得 2005 年 3 月 C++ 大师 Herb Sutter 在 Dr.Dobb’s Journal 上发表了一篇名为《免费的午餐已经结束》的文章。文章指出:现在的程序员对效率、伸缩性、吞吐量等一系列性能指标相当忽视,很多性能问题都仰仗越来越快的 CPU 来解决。但 CPU 的速度在不久的将来,即将偏离摩尔定律的轨迹,并达到一定的极限。所以,越来越多的应用程序将不得不直面性能问题,而
2009-09-29 22:13:00
756
转载 多线程学习笔记
多线程概述 进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。 线程是进程内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说main或WinMain函数,将程序的启
2009-09-29 21:51:00
552
原创 _mm_cvtps_epi32 转换细节
_mm_cvtps_epi32 是SSE2的一条指令CVTPS2DQ。在MSDN上的解释是Converts the four single-precision, floating-point values of a to signed 32-bit integer values.把四个float变量强转为四个int变量。其中需要注意的是他的截断规则:四舍五入,在进位后末位是偶数的进,否则不
2009-09-17 21:39:00
5444
转载 C++ STL简介
一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、c
2009-09-13 17:27:00
411
转载 运行效率的改进策略和方法
8.3 运行效率的改进策略和方法对于程序运行效率的改进可以从以下几个方面入手:调整代码顺序以避免重复的复杂运算、改进算法和数据结构以降低计算复杂度、了解和掌握硬件的特性以便充分发挥硬件系统的性能、以及使用编译系统的优化选项对程序的可执行码进行优化。8.3.1 调整代码代码调整是一种最简单的程序优化技术,易于掌握和使用。一般来说,代码调整应该作为一种优化的辅助手段,在对算法和数
2009-09-13 17:24:00
1385
转载 性能提高的几个细节(转)
适合初中级朋友 (1) 注意CPU的0寄存器CPU里有个用于存放0的寄存器在做比较时if,和0比较的话,在汇编上会比0以外的值少一条汇编指令在循环里用到就能提高效率int end = max -1;for(i = 0; i } 优化为:int end = max -1;for(i = end; i > 0; i--) { }同理
2009-08-24 23:13:00
705
原创 介绍intrinsic
intrinsic 在英语里是内联,内在的意思。在C++中通常指内联函数,即编译代码时把函数直接编译到代码段中,省去了函数调用的负担,同时加大了代码量。在MMX,SSE系列中,intrinsics同时表示一种封装的MMX或者SSE指令。它以函数的形式表示这些指令,使得程序员更容易编写和阅读这些指令,在编译的时候把这些汇编指令直接嵌入代码中,没有函数调用的负担,可以和直接写SSE汇编代码达到同样
2009-08-20 22:50:00
10480
1
原创 C++环境测试CPU是否支持MMX,SSE等
当我想知道我的CPU是否支持SSE3的时候,所有人都告诉我用CPUID指令。你只把这个指令放到编译器里去看它能跑吗?对于这种不负责任的回答,我只能自己探索答案了。现在贴出C++下面检测CPU是否支持MMX,SSE系列和超线程的代码。方便易懂,连使用举例都贴出来,会C++的要再说不会用那你就可以转行了。代码分为CPUID.h,CPUID.cpp,main.cpp。 把这个功能写成了类,也参考了网上其
2009-08-20 14:50:00
4196
原创 开博处女作
第一:论坛啊,博客啊,混得久了,发现有许多知识搜索到了并没有及时的记录下来,等到再用的时候已经找不到了。第二:有些人的转载,尤其是对代码的分享,没有经过测试,造成了以讹传讹的现象。我捕捉了这个错误,但是又没有途径分享给别人。第三:经过了这么多年对图像处理,代码编程的学习,有一些知识沉淀了下来,希望能够与人交流,更上一层楼。发明电梯演讲的麦肯锡认为人们通常只能记住一二三,所以就基于以上三
2009-08-20 13:54:00
412
全国医院信息化建设标准与规范(试行)
2018-05-03
利用VBA代码从一个表格检索另一个表格并且复制找到的内容
2010-02-24
测试CPUID,MMX,SSE
2009-11-16
SSE4 Programming Reference
2009-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人