counting pixels in an image(ocr)

Thread Solved

Join Date: Nov 2008
Posts: 43
Reputation: kiddo39 is an unknown quantity at this point 
Solved Threads: 0
kiddo39 kiddo39 is offline Offline
Light Poster

counting pixels in an image(ocr)

 
0
  #1
Dec 3rd, 2008
I have a small image with a black background and red lines in it and I need to count the red pixels. I know I need PIL, but I'm not sure which method to use. Then once I have the counts I need to equate them to a character, so if the red lines in the image form a circle and have x amount of red pixels, its = '0', and if the image forms a straight line and is found to have x amount of pixels it's = 'l'.

  1. import Image
  2. #mypic.jpg is the circle
  3. im=image.open("mypic.jpg")
  4. im.getcolors(R)
  5. # if statement here

Any suggestions?
Reply With Quote Quick reply to this message  
Join Date: May 2008
Posts: 893
Reputation: Paul Thompson has a spectacular aura about Paul Thompson has a spectacular aura about 
Solved Threads: 142
Sponsor
Paul Thompson's Avatar
Paul Thompson Paul Thompson is offline Offline
previously paulthom12345

Re: counting pixels in an image(ocr)

 
0
  #2
Dec 4th, 2008
Could you test how many pixels are red? Because a circle will require many more pixels to draw then a line.
I know when getting colours i used something like:
  1. import Image
  2. im = image.open("myPic.jpg")
  3. for pixel in im.getdata():
  4. #check if it is red
Make it idiot proof and someone will make a better idiot.
Check out my Site | and join us on IRC | Python Specific IRC
Reply With Quote Quick reply to this message  
Join Date: Oct 2004
Posts: 3,947
Reputation: vegaseat is just really nice vegaseat is just really nice vegaseat is just really nice vegaseat is just really nice vegaseat is just really nice 
Solved Threads: 915
Moderator
vegaseat's Avatar
vegaseat vegaseat is offline Offline
DaniWeb's Hypocrite

Re: counting pixels in an image(ocr)

 
0
  #3
Dec 4th, 2008
Played around with it a little ...
  1. # use PIL to count pixels in letters I and O
  2. # image file needs to be a bitmap file to maintain
  3. # red (255,0,0) and black (0,0,0) pixel colors correctly
  4.  
  5. from PIL import Image
  6.  
  7. # img_I.bmp --> 50x50 black bg + red I (times new roman, bold, 24)
  8. img_I = Image.open("img_I.bmp").getdata()
  9.  
  10. # img_O.bmp --> 50x50 black bg + red O (times new roman, bold, 24)
  11. img_O = Image.open("img_O.bmp").getdata()
  12.  
  13. # count red pixels of the I
  14. # list(img_I) is a list of (r,g,b) color tuples for each pixel
  15. # where (255,0,0) would be the red pixel
  16. red_I = 0
  17. for red in list(img_I):
  18. if red == (255,0,0):
  19. red_I += 1
  20.  
  21. print red_I # 76
  22.  
  23. # count red pixels of the O
  24. red_O = 0
  25. for red in list(img_O):
  26. if red == (255,0,0):
  27. red_O += 1
  28.  
  29. print red_O # 126
May 'the Google' be with you!
Reply With Quote Quick reply to this message  
Reply

This thread has been marked solved.
Perhaps start a new thread instead?
Message:



Other Threads in the Python Forum
Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC