找回密码
 立即注册

QQ登录

只需一步,快速开始

逍遥zw

注册会员

6

主题

15

帖子

150

积分

注册会员

积分
150
逍遥zw
注册会员   /  发表于:2017-8-10 11:43  /   查看:4262  /  回复:6
Leadtools在用AnnContainerMapper进行标注图像坐标转换的时候需要得到屏幕和图像的Dpi,屏幕的容易,但是加载好的图像的DPI如何获取?
  1. // Set its mapper, assuming the screen DPI is 96 and the image DPI is 300
  2.             container.Mapper = new AnnContainerMapper(screenDpiX, screenDpiY, imageDpiX, imageDpiY);
复制代码
DicomTag里有一个PixelSpacing,他的解释是每个像素(pixel)点之间的距离,单位是毫米,DPI表示每英寸(25.4毫米)点(dot)的个数,按照理解我直接用25.4除以PixelSpacing的这个值应该就是dpi,但是得到的结果差了三倍左右,这是为什么?难道DICOM 图像一个pixel不是对应一个dot?还有什么其他更准确的方法能够得到图像的DPI?

6 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-10 14:05:14
沙发
这个计算方法应该是没有问题的。为什么说是差了3倍呢
回复 使用道具 举报
逍遥zw
注册会员   /  发表于:2017-8-10 14:55:52
板凳
Richard.Ma 发表于 2017-8-10 14:05
这个计算方法应该是没有问题的。为什么说是差了3倍呢

我在同一个区域自己画了一块,用系统的标注工具标了一块,自己画的那块用上面的方法转成标注,跟真正的标注差了大概三倍。把里面图像DPI提高三倍就和真正的标注差不多了,换了好几个图像都是这样。是不是图像里面一个像素(pixel)包含了三个点(dot)?pixelSpacing是像素之间的距离,但是dpi是点之间的?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-10 16:10:05
地板
参考下这个帖子里的转换方法RectFromContainerCoordinates,是不是需要在屏幕坐标和实际坐标之间先进行转换
http://gcdn.gcpowertools.com.cn/ ... &extra=page%3D1
回复 使用道具 举报
逍遥zw
注册会员   /  发表于:2017-8-10 16:16:15
5#
Richard.Ma 发表于 2017-8-10 16:10
参考下这个帖子里的转换方法RectFromContainerCoordinates,是不是需要在屏幕坐标和实际坐标之间先进行转换 ...

这个帖子就是我发的,我就是按照这个来做的
回复 使用道具 举报
逍遥zw
注册会员   /  发表于:2017-8-10 16:16:36
6#
Richard.Ma 发表于 2017-8-10 16:10
参考下这个帖子里的转换方法RectFromContainerCoordinates,是不是需要在屏幕坐标和实际坐标之间先进行转换 ...

这个帖子就是我发的,我就是按照这个来做的
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2017-8-10 19:03:47
7#
哈哈,没注意,我是想说在对图像进行缩放时,标注应该是会随着图片进行放大缩小的,
你自己画的和真正的标注这两个我有点不好理解,只有其中一个用leadtools的标注工具画的吗?以哪个为准呢?

可能我对你的问题理解的有误差,方便的话,你可以明天早上9点以后打我们的服务电话029-88331988-244,电话沟通可能更方便一些。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部