Re: [問題] 關於灰階影像處理..
※ calais007.bbs@ptt.cc (淺水中) 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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 9 之 12 篇):