Dekeystoning with a checkerboard
Moderator: peterZ
Re: Dekeystoning with a checkerboard
By the way, I say "we" because I'm not trying to usurp your fantastic project, not because I'm trying to insinuate that you need to give any thought to the things I suggest. Thanks for the great work, I may have some time over the weekend to play around with the 2D API.
Re: Dekeystoning with a checkerboard
If only there was a way to make Python as fast as Java and C++...
-
- Posts: 296
- Joined: 27 Nov 2010, 02:26
- E-book readers owned: PRS-505
- Number of books owned: 1250
- Location: Minneapolis, MN
- Contact:
Re: Dekeystoning with a checkerboard
You might want to look at BookScanWizard for correcting keystone issues with barcodes.
Its got the following advantages:
Here's a script you can run. This one assumes that the left & right images have already been merged into a single directory.
Create a file called book.bsw:
then call the command:
That will take the images in the directory called source, search for the barcodes, and use them to fix the perspective and write out the files to the tiff directory.
If you have the files in separate left and right folders, you can do this, which will automatically combine them:
First, move them to separate l & r directories.
Then use this script:
(the l & r directories should be subdirectories of "source")
One small note: the ScaleToDPI is optional. If you don't have it, it will keep the original DPI
The barcodes themselves are printed by running the tool interactively and choosing the option under tools to print the keystone correction images.
Its got the following advantages:
- It seems to more reliably find the codes in a bookscanning environment. (At least for me).
- It will make use of multiple processors.
- It uses bilinear interpolation, so there should be less aliasing ("jaggies") in the output.
- It saves them as tiff files, which is a bit better than 100% jpgs' because even 100% jpegs have some loss.
Here's a script you can run. This one assumes that the left & right images have already been merged into a single directory.
Create a file called book.bsw:
Code: Select all
LoadImages = source
SetDestination = tiff
Barcodes =
ScaleToDPI = 300
Code: Select all
bsw -batch
If you have the files in separate left and right folders, you can do this, which will automatically combine them:
First, move them to separate l & r directories.
Then use this script:
Code: Select all
LoadLRImages = source
SetDestination = tiff
Barcodes =
ScaleToDPI = 300
One small note: the ScaleToDPI is optional. If you don't have it, it will keep the original DPI
The barcodes themselves are printed by running the tool interactively and choosing the option under tools to print the keystone correction images.
Last edited by steve1066d on 07 Feb 2011, 14:10, edited 1 time in total.
Steve Devore
BookScanWizard, a flexible book post-processor.
BookScanWizard, a flexible book post-processor.
Re: Dekeystoning with a checkerboard
@steve1066d, do many people use your software? Just wondering, as it has matured greatly since my first download. I will be using it more often once my scanner is built.
-
- Posts: 296
- Joined: 27 Nov 2010, 02:26
- E-book readers owned: PRS-505
- Number of books owned: 1250
- Location: Minneapolis, MN
- Contact:
Re: Dekeystoning with a checkerboard
I'm not really sure how many are using it.. Its hard to gauge because if someone loads it from the webstart, I don't have any logs or counts to that tell me how often it is downloaded.
Steve Devore
BookScanWizard, a flexible book post-processor.
BookScanWizard, a flexible book post-processor.
- daniel_reetz
- Posts: 2812
- Joined: 03 Jun 2009, 13:56
- E-book readers owned: Used to have a PRS-500
- Number of books owned: 600
- Country: United States
- Contact:
Re: Dekeystoning with a checkerboard
I've been playing with it - and really, really like it and hope it sees wide adoption. I am personally thinking about trying to make a good quick intro video so people can see why it's powerful and easy, and so they can easily compare it to Scan Tailor.
Unfortunately, my time is super-limited right now and I've been poor on delivering on my ideas and promises to this community over the last while... I need to reclaim some of my life from work to make things happen properly.
Unfortunately, my time is super-limited right now and I've been poor on delivering on my ideas and promises to this community over the last while... I need to reclaim some of my life from work to make things happen properly.
Re: Dekeystoning with a checkerboard
Steve,
I don't see how you use your program. There doesn't seem any great set of instructions for barcodes on the wiki,website, or these forums. In particular:
1) What is the difference bewteen Barcodes and BarcodePerspective
2) I can print out the barcodes, but where do I put them? At the beginning of the book and then take a picture of those pages? Can it differentiate between left/right barcode pages?
3) Should the barcodes span the entire page? When I print them out they only occupy about a 4x4 box at the top-left of a 8.5x11 in paper
4) Do you have to use the -barcodes flag from the command line or can you just input it in the script area and then hit "submit"
5) Any chance to use a gui dialog rather than having the user type in commands?
I haven't got it to run yet. Either I get "array out of bound errors" and I am looking at the command syntax or the output is identical to the input, though it does seem to do a decent job with fixing the presepective. The only problem I see is that the book will shift slightly during scanning so applying a crop to all pages will likely clip some part of the page towards the end of the book.
Jack
I don't see how you use your program. There doesn't seem any great set of instructions for barcodes on the wiki,website, or these forums. In particular:
1) What is the difference bewteen Barcodes and BarcodePerspective
2) I can print out the barcodes, but where do I put them? At the beginning of the book and then take a picture of those pages? Can it differentiate between left/right barcode pages?
3) Should the barcodes span the entire page? When I print them out they only occupy about a 4x4 box at the top-left of a 8.5x11 in paper
4) Do you have to use the -barcodes flag from the command line or can you just input it in the script area and then hit "submit"
5) Any chance to use a gui dialog rather than having the user type in commands?
I haven't got it to run yet. Either I get "array out of bound errors" and I am looking at the command syntax or the output is identical to the input, though it does seem to do a decent job with fixing the presepective. The only problem I see is that the book will shift slightly during scanning so applying a crop to all pages will likely clip some part of the page towards the end of the book.
Jack
Re: Dekeystoning with a checkerboard
What's your platform, Java version, and BSW version? I haven't had any of those problems yet...
- daniel_reetz
- Posts: 2812
- Joined: 03 Jun 2009, 13:56
- E-book readers owned: Used to have a PRS-500
- Number of books owned: 600
- Country: United States
- Contact:
Re: Dekeystoning with a checkerboard
Not sure if you've seen this.o3h1p wrote:Steve,
I don't see how you use your program. There doesn't seem any great set of instructions for barcodes on the wiki,website, or these forums.
Re: Dekeystoning with a checkerboard
Yes I did Daniel, but it didn't seem to say anything really about fixing perspectives with barcodes.