public class BlackWhite {
public static void main(String[] args)
{
try
{
BufferedImage original = ImageIO.read(new File("colorimage"));
BufferedImage binarized = new BufferedImage(original.getWidth(), original.getHeight(),BufferedImage.TYPE_BYTE_BINARY);
int red;
int newPixel;
int threshold =230;
for(int i=0; i<original.getWidth(); i++)
{
for(int j=0; j<original.getHeight(); j++)
{
// Get pixels
red = new Color(original.getRGB(i, j)).getRed();
int alpha = new Color(original.getRGB(i, j)).getAlpha();
if(red > threshold)
{
newPixel = 0;
}
else
{
newPixel = 255;
}
newPixel = colorToRGB(alpha, newPixel, newPixel, newPixel);
binarized.setRGB(i, j, newPixel);
}
}
ImageIO.write(binarized, "jpg",new File("blackwhiteimage"));
}
catch (IOException e)
{
e.printStackTrace();
}
}
private static int colorToRGB(int alpha, int red, int green, int blue) {
int newPixel = 0;
newPixel += alpha;
newPixel = newPixel << 8;
newPixel += red; newPixel = newPixel << 8;
newPixel += green; newPixel = newPixel << 8;
newPixel += blue;
return newPixel;
}
}
मुझे एक काला और सफेद आउटपुट छवि मिली, लेकिन जैसा कि मैंने छवि को ज़ूम किया, मैंने कुछ ग्रे क्षेत्र की खोज की। मैं आउटपुट छवि को केवल काले या सफेद रंगों को रखना चाहता हूं।रंगीन छवि को शुद्ध काले और सफेद छवि में परिवर्तित करने के लिए कैसे करें (0-255 प्रारूप)
कृपया मुझे बताएं कि क्या मैं अपने वर्तमान दृष्टिकोण में सही या गलत हूं? और यदि मैं हूं, तो कृपया एक और तरीका सुझाएं।
आप 'अल्फा' क्यों देखते हैं? – TheBronx