JAVA how to get rgb values from an image

  • Context: Java 
  • Thread starter Thread starter atie
  • Start date Start date
  • Tags Tags
    Image Java
Click For Summary

Discussion Overview

The discussion revolves around programming in Java to identify the ripeness of a banana using image processing techniques. Participants explore how to extract RGB values from images and consider the implications of image encoding and data representation.

Discussion Character

  • Exploratory
  • Technical explanation
  • Homework-related

Main Points Raised

  • One participant expresses a desire to identify banana ripeness using AI techniques and seeks guidance on extracting RGB values from images.
  • Another participant notes that an image consists of multiple pixels (width * height) and emphasizes the importance of understanding the image's color model.
  • A participant inquires about how to determine the encoding of the image and questions whether converting the image to binary retains color values.
  • One participant mentions successfully converting the image to grayscale and binary but finds the resulting binary string excessively long and asks about methods to shorten it, including resizing the image.

Areas of Agreement / Disagreement

Participants generally agree on the need to extract pixel data and understand image encoding, but there are varying levels of understanding regarding these concepts. The discussion remains unresolved regarding the best methods for processing the image data.

Contextual Notes

Participants express uncertainty about image encoding and its implications for color value retention. There are also unresolved questions about the efficiency of binary representation of image data.

atie
Messages
3
Reaction score
0
hello,

i'm kinda new in this programming thingy so i hope you guys can help me.

i wanted to code a program that can identify whether a banana is ripe or not. basically, i have two image of banana; one yellow in color and another one is green. so I'm thinking about using AI technique (backpropagation maybe) to identify the banana ripeness.

i search for some article on how to do it and most of them start with loading the image and extract the rgb value. this is what I've done. its not much because i don't know what to do next. can anybody help?

import java.io.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;

public class banana
{
public static void main(String [] args)throws Exception
{
//get image
File imageFile= new File("yellowbanana.jpg");
BufferedImage image = ImageIO.read(imageFile);

//if file not exist
if(!(imageFile.exists())){
System.out.println("File NOT exists");
System.exit(0);}

int w = image.getWidth();
int h = image.getHeight();

System.out.println("w=" + w + ", h=" + h);

next i should get the pixel of the image. is it correct?
 
Technology news on Phys.org
atie said:
hello,

i'm kinda new in this programming thingy so i hope you guys can help me.

i wanted to code a program that can identify whether a banana is ripe or not. basically, i have two image of banana; one yellow in color and another one is green. so I'm thinking about using AI technique (backpropagation maybe) to identify the banana ripeness.

i search for some article on how to do it and most of them start with loading the image and extract the rgb value. this is what I've done. its not much because i don't know what to do next. can anybody help?

import java.io.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;

public class banana
{
public static void main(String [] args)throws Exception
{
//get image
File imageFile= new File("yellowbanana.jpg");
BufferedImage image = ImageIO.read(imageFile);

//if file not exist
if(!(imageFile.exists())){
System.out.println("File NOT exists");
System.exit(0);}

int w = image.getWidth();
int h = image.getHeight();

System.out.println("w=" + w + ", h=" + h);

next i should get the pixel of the image. is it correct?

Unless the image is very small, it probably won't consist of a pixel, but will instead consist of w * h pixels. You also need to know how the image is encoded - its color model, which indicates how many bits are used for red, green, and blue, and if there are alpha bits.
 
thnk you for ur reply mark..

the banana image i have is 400pixels height and 400pixels width..

how may i know how the image is encoded? i don't understand that part.

oh, btw, i change my coding. i convert the banana image into binary. is changing the image to binary retain the color values?
 
Since you are using the BufferedImage class, you should be looking at the documentation for it (see http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/image/BufferedImage.html ).

You can find out how the data is encoded by using the getType method on BufferedImage. This method returns one of the constants that describes the color encoding scheme.
 
Last edited by a moderator:
hye.. i managed to convert image into grayscale and into binary... however the binary string i got is too long (like 42 pagesssss!). how can i make it shorter? do i need to resize the picture's pixel or something?
 

Similar threads

  • · Replies 19 ·
Replies
19
Views
3K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 28 ·
Replies
28
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
3K