看板java
标 题Re: [问题] 关於灰阶影像处理..
发信站月光海洋BBS (Wed Dec 13 13:43:16 2006)
转信站ptt!ctu-reader!news.nctu!mobbs
※ [email protected] (浅水中) wrote:
> ※ 引述《devlish (灰色地带)》之铭言:
> : 请问,如果以用BufferImage来做处理为概念,要将小弟所写的上面的程式码继续往下写
> : 先将Load的图片转为灰阶,然後再将其中的影像转为二维的灰阶阵列,并且将结果与原先
> : 的图片一同显示於两个不同的window,也就是说,除了原先显示的图片之外,还要多显示
> : 一个处理过的灰阶影像图片(已抓到Pixel值的)
> : 小弟在书上看到一个Utilities的方法,但试下来的结果就只有
> : image=Utilities.makeBufferedImage(image);
> : 这一条成功而已,而且原先会显示的Pixel值也不再显示了.......= "=
> : 上面的叙述有点乱,可能因为我的脑袋也是一团乱....
> : 想请教,以这样的叙述下来,有什麽好的方法可以呈现出来....
> 基本上我有几点觉得很困惑
> 1.为什麽一定要转成二维的来做灰阶?
> 你的演算法真的是做灰阶吗?我看起来觉得不像
> 我的感觉是在做矩阵运算
> 是在做RGB转成Y,Cb,Cr的运算吧!
> gray应该是RGB三个值要相等
> 你的怎麽算也不会相等
> 2.你要画两张图
> 为什麽不一开始先把原图就直接画出来
> 做完图型运算後再把结果画出来
> 这样就会很完美的显示两张图了阿
转灰阶公式Gray = 0.299 * R + 0.587 * G + 0.114 * B
以下就是在做转灰阶不是吗?
for(int j=y;j<h;j++){
for(int i=x;i<w;i++){
X3=i*3;
gray=(int)(0.299*da[j][X3]+0.587*da[j][X3+1]+0.114*da[j][X3+2]);
da[j][X3]=da[j][X3+1]=da[j][X3+2]=gray;
}
}
是先转成二维 再做灰阶
我之前在做影像处理 需要详细的Pixel值 才会想要先转成二维
不然转灰阶 我记得有现成的方法可以用吧= =?
至於第二个问题 我记得java对於物件是传参照吧
如果直接对传进来的图片修改 那原图也会被更改到
--
だれかとだれかつなぐ
赤い糸
--
◣ ███ ███ ☆ Post by Pistachi
◢█ ▉▉█ █▇█ ★ From 220-134-160-26.HINET-IP.hinet.net
◥█◤ ﹉ ﹍ ﹋ 月光海洋BBS 《mobbs.stut.edu.tw》 163.26.220.130