摘要: 这个本来没啥 不是什么算法 绝技。 都不值得一提。其实这个是医学影像胶片曝光时排版的一个逻辑。dicom标准第三部分 主要是讲IOD定义 在第166页有这样的描述:表C.13.5-1图象盒象素描述组件属性名称 标记 说明图象位置 (2020,0010) 基于图象显示格式(2010,0010)的胶片的图象位置。参阅C.13.5.1的规范。这个所谓的“基于图象显示格式(2010,0010)的胶片的图象位置”到底是啥意思呢 ?还是像往常一样拿个实例瞧瞧:20 20 10 00 ............ ..00000010 02 00 00 00 02 0020 20 10 00 ..... 阅读全文
posted @ 2013-05-27 01:07 assassinx 阅读(2587) 评论(2) 推荐(1) 编辑
摘要: 说到底无非几个事情 :1传输语法确定 2数据元素读取 3 7fe0,0010元素 也就是图像数据处理。关于这整个过程已经不想多说了 在我的上上一篇博客里已经基本实现了。 当然还很有问题比如图像调窗就有bug 这个以后再说吧。众所周知dicom格式文件是由一个接一个连续的“数据元素”组成的。 这次我们只讲怎样去处理文件里一种特殊的数据元素:那就是VR为SQ类型的元素 还有delimited 也就是界定标识付 我们暂且把它归为一类。 为什么特殊呢?因为其他元素都很简单 ,根据传输语法:-> tag_有无显式VR_len_VF 这样的结构。 len是数据长度, VF是固定字节数的字节流数据。 阅读全文
posted @ 2013-05-18 02:10 assassinx 阅读(6005) 评论(3) 推荐(4) 编辑
摘要: GB2312是简体中文系统的标准编码 用“区” 跟“位”的概念表示 称之为区位码 区指代大的范围 位相当于偏移量。每个汉字占两个字节高位字节”的范围是0xB0-0xF7,“低位字节”的范围是0xA1-0xFE。它的规律好像是按拼音a到z的顺序排列的“啊”字是GB2312之中的第一个汉字,它的区位码就是1601为此我们现在用代码的方式输出一个汉字c#下是little字节序 b0跑后面去了。1 ushort u = 0xa1b0;2 byte[] chs =BitConverter.GetBytes(u);3 Console.Write(Encoding.GetEncoding("GB2 阅读全文
posted @ 2013-03-04 18:29 assassinx 阅读(1065) 评论(0) 推荐(1) 编辑
摘要: Dicom全称是医学数字图像与通讯,这里讲的暂不涉及通讯那方面的问题 只讲*.dcm 也就是diocm格式文件的读取,读取本身是没啥难度的 无非就是字节码数据流处理。只不过确实比较繁琐。好了 正题 分析整体结构先是128字节所谓的导言部分,说俗点就是没啥意义的破数据 跳过就是了,然后是dataElement依次排列的方式 就是一个dataElement接一个dataElement的方式排到文件结尾 通俗的讲dataElement就是指tag 就是破Dicom标准里定义的数据字典。tag是4个字节表示的 前两字节是组号后两字节是偏移号 比如0008,0018。所有dataElement在文件中都 阅读全文
posted @ 2013-01-09 13:39 assassinx 阅读(40764) 评论(39) 推荐(16) 编辑
摘要: 常规经典多线程和异步 简单的线程处理 及同步: public class MuThread { int a = 0; int i = 0; private volatile bool _run=true; public void method(object par) { while (_run) { 阅读全文
posted @ 2012-11-06 19:03 assassinx 阅读(926) 评论(0) 推荐(0) 编辑
摘要: 颜色的规律,个人理解 纯属扯淡 见谅。有些网上抄的 炒剩饭。知识的海洋很深奥 就像一个神奇的盒子 貌似理解了 可能有些东西再过几年都没能理解颜色模式色彩是由物体所反射光的波长来决定的RGB加色模式RGB为三个能量值 能量值的强弱直观的反映了明与暗 能量值越强越亮而CMY减色模式是跟RGB互逆的一种方式介质是白的 然后要把颜料涂上去 展现各种色彩。物体是什么 物体可以反射光 但同时也要吸收一定的能量值,所以从本质上看把颜料涂上去是一个变暗的过程。CMY正符合了这种原理。你看RGB三原色交叉部分不正是CMY吗 自然界是多么的神奇。HSB(HSL) 色调饱和度亮度模式以另外一种不同的理念进行色彩的调 阅读全文
posted @ 2012-10-04 03:45 assassinx 阅读(17888) 评论(4) 推荐(2) 编辑
摘要: 上一次讲到哪了,说了下bmp位图格式以及图像处理入门。门也入了 搞点别的吧,好 我们继续接着折腾。bmp格式的数据就放在内存里 你爱折腾不折腾他就在那总之一句话 搞清楚他的结构 用你清晰的逻辑去处理它。我们这次要做的事情是降低颜色深度及调色板处理,反正我是找了园子里也没看见类似的东西 都是C++或者其他什么的。总之我们要做的这两个事情都要用到调色板。要想取得一个图像的调色板的所有颜色Image.Palette.Entries 就可以了 得到的是一个Color数组。有些固定颜色深度的图像 都有默认的调色板比如4位(16色)8位(256色)等。 你用过win31 或者win95没装显卡驱动时一定见 阅读全文
posted @ 2012-06-05 18:24 assassinx 阅读(3691) 评论(0) 推荐(0) 编辑
摘要: 本来就是入门的 那就先说下gdi 跟 bmp 这些东西吧。1 gdi跟bmpvc里的CDC 也就是设备上下文 相当于c#里的graphics ,也有lineTo等方法。其实我们在c#中使用graphics的时候就已经在使用gdi+了我们却浑然不觉那么gdi到底在哪里呢 试着在c盘搜索gdiplus或... 阅读全文
posted @ 2012-03-07 21:43 assassinx 阅读(6016) 评论(5) 推荐(9) 编辑
摘要: 这可能是菜鸟程序员最喜欢搞的事了哈,并且乐此不彼O(∩_∩)O哈!最开始本来只是想写段远程传文件的代码 写着写着我就突发奇想 想把别人电脑的截屏传过来,是不是很邪恶 嘿嘿倒腾了一阵原来还是挺简单的 并且速度好像还挺快。 在这里我就不谈socket编程的基本了哈 直奔主题我们要实现的功能是:在我有需要的时候就把受害人电脑的截屏数据传到我电脑上简单分析一下 参见灰鸽子 啊那啥的常见木马程序我们就知道主动传数据的一方 也就是server程序是放在受害人电脑上的 client程序是放在我电脑上的什么叫有需要呢 就是我主动去连server端。server端一检测到有连接就把数据发过来然后断开连接 一检测 阅读全文
posted @ 2012-02-18 19:00 assassinx 阅读(15518) 评论(45) 推荐(20) 编辑
摘要: 服务端:class Client{ TcpClient clientSocket; StreamWriter writer; public Client(TcpClient client) { clientSocket = client; NetworkStream stream = clientSocket.GetStream(); writer = new StreamWriter(stream,Encoding.ASCII); } public void write(string str) ... 阅读全文
posted @ 2012-02-14 16:38 assassinx 阅读(470) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示