图像处理? 非高手勿进!(100分)

  • 主题发起人 主题发起人 金少
  • 开始时间 开始时间

金少

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将一幅X光图像,圆心图像不变, 而将圆心外的黑色改为白色!
 
建立遮罩,再用反色...爱怎么干就怎么干吧!
 
To Israel:
能详细点吗, 最好有相关代码, 谢谢!
主要是遮罩方面!
 
用photoshop很简单,要编程很繁,以下为编程简要思路:
1、建立园的坐标
2、使用两个Timage,一个前台显示,一个后台处理
3、将图像装入后台
4、在后台根据图像像素数量循环每一点,确定该点的位置,如在园内不处理,否则颜色若为黑色,
改为白色。并将其拷贝到前台
 
试试图像处理控件FastLib。

我没用过,使用问题别问我。 :)
 
这就是高手啊,俗俗俗俗俗俗俗俗!
 
取像素点判断后进行替换,就是用像素的话速度有点慢,不知对速度有没有要求
 
to:ty_unix
高手低手在你的心中,难道你这样嘲笑别人就是高手吗?当然你问题提出来,谁都来可以
进来看,不会也可以学习,我们不应当限制什么
 
用bitblt吧.
 
项目忙完了 没事写了个过程 混分

procedure XLightImage(Bitmap:TBitmap;x:Integer;y:Integer;r:Integer;Color:TColor);
var
Bitmap1,Bitmap2:TBitmap;
begin
Bitmap1:=TBitmap.Create;
Bitmap2:=TBitmap.Create;
Bitmap1.Assign(Bitmap);
BitBlt(Bitmap1.Canvas.Handle,0,0,Bitmap1.Width,Bitmap1.Height,Bitmap2.Canvas.Handle,0,0,DSTINVERT);
Bitmap1.Canvas.Pen.color:=Color;
Bitmap1.Canvas.Brush.Color:=Color;
Bitmap1.Canvas.Chord(x-r,y-r,x+r,y+r,0,0,0,0);
TransparentBlt(Bitmap.Canvas.Handle,0,0,Bitmap.Width,Bitmap.Height,Bitmap1.Canvas.Handle,0,0,Bitmap1.Width,Bitmap1.Height,Color);
Bitmap1.Free;
Bitmap2.Free;
end;

Bitmap 需要处理的图象
x 圆心X坐标
y 圆心Y坐标
r 圆的半径
Color 定义的透明颜色,默认为白色,但我想了X光的图象是黑白的,所以我定义的是红色。
举例
XLightImage(Bitmap1,round(Bitmap1.Width/2),round(Bitmap1.Height/2),300,clred);
 
选择左上角定点座标,使用泛洪算法,把所有黑色的点处理掉就可以了。因为根据X光成像
原理,人体不可能出现全黑的颜色。除非是衣服上的金属扣子。但是那个位置不可能出现在
屏幕边缘。
你是做医学图象处理的?X光照片怎么获得,是通过DR来获取?
 
接受答案了.
 
To Dick:什幺是泛洪算法, 能给出详尽说明吗
最好有代码, 谢谢, 分数想办法给!
 
后退
顶部