一个初学者有关显示的问题.

aspen 2000-09-01 06:33:00
我有一个关于显示的很让头疼的问题.就是如何在win32环境下显示8bit色深以上的灰度图.现在我只能根据windows的RGB模式,很初级的做到8bit灰度显示.可是针对医学图像,多数为10bit,12bit或以上,现在束手无策.请各位明白人点拨指教.谢谢.
...全文
156 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
aspen 2000-09-03
  • 打赏
  • 举报
回复
holly,
我认真读过了你的解决方案.我现在所有的文件是DCM格式的,在win9x中,不能直接显示.必须先进行转换.具体的讲我就是想把这种原本基于unix的文件格式移植到pc机上.
我的方法本质上与你所提出的'简单的方法'相同,但是我采用了交互.读出图像矩阵(一般每个像素占2byte)后,由用户根据感官选择调整显示图像的亮度,对比度等.不同的选择,可以观察到不同程度的细节. 可是我不太满意.(毕竟很不完美)
第二种方案我可以试一试,我想我还能做得到.但是效果真的不能保证...
第三种方案,听起来真的很有道理!但是连怎么下手我都不知道... 如果你也有兴趣的话,请帮帮我.
数据我有的是.已经发给你了.大概你应该已经收到了.
欢迎各位网友多多赐教.
Holly 2000-09-02
  • 打赏
  • 举报
回复
另外,能否给我一些试验用医学图片格式,我很想知道我的方案的具体实施效果!
另外最后的方案还存在许多发挥的地方!
Holly 2000-09-02
  • 打赏
  • 举报
回复
你可能需要自己将8bits以上的色彩深度的图用近似的方法在屏幕上显示,因为直接显示是不可能的,除非硬件上支持!
我提一个方案你看是否能解决问题:
假设将12bits(简称C12)-->8bits(C8);
那么C12所能表示的颜色数是4096个,而C8只有256个;

简单的办法:
将C12的图中所有的颜色值用 value8 = value12*256/4096 的公式直接处理一编,生成专门在显示器上的显示的格式!(这种方法实现简单,用于预览图片时较好,但失真严重)

略微合理的办法:
针对每一幅图,建立一个颜色表,用统计的方法找出该图片中使用频度最高的256个然后根据颜色值的大小分别对应C8中256个灰度颜色,其他的用这256个颜色中大小最为相近的值代替,生成在屏幕上显示的图片!(失真的程度降低,某些情况可以完全不失真,可以大概浏览,实用性有待试验)

变通的方法:
放弃在显示器上继续用灰度显示的方案,而是变成用真彩替代的方式,建立一个有4096种颜色的调色板,将4096种灰度分别用不同的真彩颜色替代;调色板的建立需要通过试验观察确定,一旦有了一个,就可以重复使用!

个人认为最后的方案最为合理,可用!
Areslee 2000-09-02
  • 打赏
  • 举报
回复
这个是有点难,不过新的显示卡都有32BIT色的模式,虽说在绝大部分卡中是作为高速24BIT色模式用,但也许会有支持更多色彩深度的卡。
aspen 2000-09-02
  • 打赏
  • 举报
回复
好像不行...因为RGB色彩模式中,为了显示灰度图,用的方法(大多数情况下采用)是令R=G=B,这样,即使是24bit的DIB,其实对灰度图显示的能力仅仅是(24/3=)8bit.灰度图不是真彩图.Areslee,不知道我是不是理解对了你的意思.再帮我想想办法...
Areslee 2000-09-01
  • 打赏
  • 举报
回复
只要在建立DC时以高彩色方式建立就行了。如:
hDC=BeginPaint(hWnd,&ps);
HBITMAP h=LoadImage(hInstance,"True color Bitmap.bmp",IMAGE_BITMAP,20,20,LR_DEFAULTCOLOR);

SelectObject(hDC,h);
HDC hNew=CreateCompatibleDC(hDC);


这下hNew这个新的DC就可以显示高彩色位图了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧