Skip to main content

Reading Image in 1 Dimensional Array

Hello , I'm writing an application and I need to write a method which can read an Image, I found it hard complicated in some times, I wrote a One and I'd like to share it with you
note it is written with Java and it convert gray-scale images to binary 0-1 .

 public int [] read_image_in_1d () throws IOException{
        // array to be returned 
        int image_1d []= null ;
        // File object to hold the destination 
        File f = new File("test.jpg");
        // buffer for the Image 
        BufferedImage  image = ImageIO.read(f);
        // raster to the image
        Raster raster = image.getData();
        // width 
        int width = raster.getWidth();
        // height 
        int height = raster.getHeight();
        // initialization for the Array 
        image_1d = new int[width * height];
        int k = 0;
        //get the image in the array
        for(int i = 0 ; i < width ; i++)
            for(int j = 0 ; j < height ; j++)
            {
                  int d = raster.getSample(i, j, 0);
                      // threshold to be adjusted or application dependent 
                  if (d > 127 )
                      image_1d [k] = 1;
                  else 
                      image_1d [k] = 0 ;
                  k++;
            }    
        return image_1d ;
    } 

I hope it helps you, wish you Good luck in your project .

Comments

Popular posts from this blog

DevExpress C# Chart Tutorial

Hello , this blog post about Charting in DevExpress , I faced many problems I visited hundreds of pages to solve this problems , actually it was the first time I use DevExpress Charts, Work is not like school or university , in school if you don't know thing you can learn it any time you want , in work you have to do today task yesterday, I like to share my knowledge and skills with you , I hope this Post help you . // clear series on chart  chart.Series.Clear(); // clear Titles of chart chart.Titles.Clear(); // legend alignment  chart.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Center; chart.Legend.AlignmentVertical = LegendAlignmentVertical.Bottom; chart.Legend.Direction = LegendDirection.LeftToRight; // creating series // series view Type example Line DevExpress.XtraCharts.Series series = new DevExpress.XtraCharts.Series("series name ", ViewType.Line); // add title  DevExpress.XtraCharts.ChartTitle chtTitle = new DevExpress.XtraCharts.Cha...

Designing Entity Relationship Diagram (ERD)

Al Salmo Aliko . Hello, in this post I'll discuss with you how to design good Entity Relationship Diagram ERD . this article for: IT Students learning about database. you are having difficulties in creating ERD. you are developer that need help in database design.   let's ask ourselves Why good database design is good ? or why we need ERD?         when I started programming Eng / Eman Ahmed was my First teacher, she said you must write your code with pen, and now I told you good database design start with paper and pen or in technological terms start with ERD, ERD is the model which shows logical layout of your database. let's List some advantages of good database design : very low or no redundant data is stored.  supporting planed or unplanned queries. good design easy to maintain and modify. from first glance you can understand it. an ERD consist from Entities and relationships between them; there exist...

LeetCode Problem #11 Container With Most Water

LeetCode Problem #11 Container With Most Water Given  n  non-negative integers  a 1 ,  a 2 , ...,  a n  , where each represents a point at coordinate ( i ,  a i ).  n  vertical lines are drawn such that the two endpoints of line  i  is at ( i ,  a i ) and ( i , 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water. Note:  You may not slant the container and  n  is at least 2. The above vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water (blue section) the container can contain is 49. Problem Link Solution Number One O(n^2) Brute Force : Try all valid combinations  outer loop start from i = 0 to length of array inner loop start from j = i+1 to length of array  compare current area with new area and choose max. return max area. Solution Number Two O(n) : Linear Solution greedy algorithm: calc...