Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請問一下影像處理的問題!

1 view
Skip to first unread message

import java.io;

unread,
Sep 18, 2003, 1:58:06 PM9/18/03
to
※ 引述《becke...@bbs.badcow.com.tw (存在...)》之銘言:
: 我是Java的初學者,我想請問一下,最近在研究影像處理的問題。
: 想問的是,我要如何才能讀出一張jpg影像的pixel的數(就是512*512這樣的)?
: 還有呀,我想把影像的每個點的值讀進一個陣列中,
: 修改後再存回影像中,該怎麼做呢?
: 請大家教教我。>"<

這幾天剛好在做這樣的事情,不過我的影像資料是raw格式的,
所以不必處理Header...

DataInputStream dis = new DataInputStream(new FileInputStream("檔名"));

for(int i = 0;i < 512;i++) {
for(int j = 0;j < 512;j++) {
array[i][j] = dis.readUnsignedByte(); //這是8位元的影像資料
array[i][j] = dis.readUnsignedShort(); //16位元
}
}

readUnsignedByte() or readUnsignedShort()
的傳回值是int,所以就存到一個int陣列中.

接下來就是處理陣列中每個位置的資料...

處理完後...

DataOutputStream dos = new DataOutputStream(new FileOutputStream("檔名"));

for(int i = 0;i < 512;i++) {
for(int j = 0;j < 512;j++) {
dos.writeByte((byte)(array[i][j]));
}
}

這樣就可以了!!
至於*.jpg這類有Header的資料我沒有處理過,
所以幫不上忙,希望回這篇能給你個參考!

--
[0m ╦═╮  [1;31m Origin:
[0;32m ╬═╯ [1;37m 作者來自 sw68-149-241.adsl.seed.net.tw
[1;32m ╩erl [1;36m 蔚藍海岸 [1;33m perl.tcu.edu.tw [1;32m (203.64.78.33) [0m

.....

unread,
Sep 19, 2003, 12:09:14 AM9/19/03
to
【 在 ray10...@perl.tcu.edu.tw (import java.io;) 的大作中提到: 】
: ※ 引述《becke...@bbs.badcow.com.tw (存在...)》之銘言:
: 這樣就可以了!!
: 至於*.jpg這類有Header的資料我沒有處理過,
: 所以幫不上忙,希望回這篇能給你個參考!

那可不可以請問一下..~如果適用C++的話...
怎麼去處理影像呢...??~也是去讀取影像然後存在陣列裡...
讀的是.bmp的話...謝謝....

--
[m [1;37m※ 來源:‧交大電控BBS www.cn.nctu.edu.tw‧[FROM: pc14983.cn.nctu] [m

import java.io;

unread,
Sep 22, 2003, 9:18:04 AM9/22/03
to
※ 引述《gree...@www.cn.nctu.edu.tw (.....)》之銘言:
: 【 在 ray10...@perl.tcu.edu.tw (import java.io;) 的大作中提到: 】
: : 這樣就可以了!!

: : 至於*.jpg這類有Header的資料我沒有處理過,
: : 所以幫不上忙,希望回這篇能給你個參考!
: 那可不可以請問一下..~如果適用C++的話...
: 怎麼去處理影像呢...??~也是去讀取影像然後存在陣列裡...
: 讀的是.bmp的話...謝謝....

C++的話

引入fstream.h
#include<fstream.h>
建立fstream物件
fstream inf;
inf.open("檔名",ios::in|ios::binary);

利用迴圈將資料讀入陣列

for(int i = 0;i < height;i++)
{
for(int j = 0;j < width;j++)
{
array[i][j] = (轉型)inf.get();
}
}

這樣就可以了
至於*.bmp的檔案我沒有處理過 :p
good luck!

--
[0m ╦═╮  [1;31m Origin:

[0;32m ╬═╯ [1;37m 作者來自 140.121.176.32

0 new messages