2011-03-29 28 views
6

Görüntüdeki piksellerin değerini değiştirmek istiyorum, bunun için görüntüyü matris olarak kaydetmem gerekiyor. Bu işi nasıl yapabilirim? Lütfen yol göster.görüntü işleme

cevap

6
BufferedImage image = ImageIO.read(..); 
image.setRGB(x, y, rgb); 

Kontrol image.setRGB kullanma BufferedImage

1

dokümantasyonu son derece yavaştır.

FastBitmap fb = new FastBitmap(bufferedImage); 

int x = fb.getRed(0,0); 

//If you prefer to retrieve the matrix you can do too. 
int[][][] image = new int[fb.getHeight][fb.getWidth][3]; 
fb.toArrayRGB(image); 
1

Öncelikle bir BufferedImage içine görüntüyü okuyun:

Sen Catalano Framework

Örnek kullanabilirsiniz.

BufferedImage image = ImageIO.read(new File("...")); 

O zaman bu gibi 2D dizideki yapısı gibi matris oluşturmak ve set RGB:

for(int i = 0; i < image.getWidth(); i++){ 
    for(int j = 0; j < image.getHeight(); j++){ 
    image.setRGB(i, j, rgb); 
    } 
} 
0
  • Görüntü verilerinin 2d temsilidir (piksel bilgileri)

  • 2D X anlamına gelir & y yol tarifi. Görüntünün durumunda, yönleri genellikle piksel değerini değiştirmek için satır olarak & sütunları

  • davranılır, bu satır ve piksel konum alınıyor kolonlar

  • o sınıf öğretmeni ele alıyor gibi yerini almak zorunda onun oturma pozisyonunda bilinmeyen öğrenci (örn: 2 tezgah 3. kişi) biz onun satırlara göre piksel ve sütun konumunu

ele almak zorunda bu gibi

  • İlgili konular