![]() |
|
![]() |
|
|
Thread Tools | Display Modes |
|
|
#1 |
|
Newbie
Join Date: Dec 2005
Posts: 2
Rep Power: 0
![]() |
Separating out shapes in a bitmap
Hi there,
I'm no programmer, but I need to find or write software for a rather unusual purpose. I need to partially automate the accurate recovery of the letterforms of a Renaissance font from printed pages, presented as monochrome bitmaps. Firstly, the program needs to isolate each of the black forms on the white background, placing each separately in memory. These forms do not stand in neat rectangles of white. I have no idea how to do this in the languages of which I understand a little, VB (5!) and Python, and a solution for either or in pseudocode would be wonderful. I assume this is easy for someone who knows what they're doing: I don't. Thanks very much, George |
|
|
|
|
|
#2 | |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
Quote:
I would suggest you begin with edge detection. I would also suggest you do that BEFORE you choose a language and write code. Algorithms are important. Googling on things like "edge detection", "Sobel", etc., will no doubt get you more than you really want. Should you reach a point where you have more specific questions, feel free to post back.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
|
#3 |
|
Programmer
Join Date: Nov 2004
Posts: 84
Rep Power: 5
![]() |
After doing that, you can start researching Fourier Transform of the Horizontal-Vertical Projections, Transformation Ring Projections, and Optical Character Recognition.
Here is a list of some providers: http://dir.yahoo.com/Business_and_Ec...ion__OCR_ICR_/
__________________
HijackThis Team-SFDC |
|
|
|
|
|
#4 |
|
Resident Grouch
![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jun 2005
Posts: 6,453
Rep Power: 10
![]() |
Here are some examples. The quality has been compromised in order to show them here. Lena has been processed with Sobel edge detection. The fingerprint has been processed simply with histogram (tonal) manipulations.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code. Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers |
|
|
|
|
|
#5 |
|
Newbie
Join Date: Dec 2005
Posts: 2
Rep Power: 0
![]() |
Thanks to you both, I shall get to work.
|
|
|
|
![]() |
| Bookmarks |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|