Hacker Newsnew | past | comments | ask | show | jobs | submit | daedbe's commentslogin

Actually, it looks like Excalidraw[1] to me. The shading and line style match very closely.

[1] https://excalidraw.com/


The hatching and general hand-drawn style is probably done by rough.js, which is used by basically all those solutions.


I often see charts produced using matplotlib or plotly - often you can tell based on the colour schemes used. For example, the bar chart at the bottom of this paper looks like it was made with plotly. I think the reason for such variance in the style of charts is largely due to the flexibility frameworks such as matplotlib provide: you can control basically every aspect of a chart and use any number of predefined or custom stylesheets to change the look and feel.


A common alternative solution in this case would be to use an adaptive thresholding technique such as Otsu’s method.


Otsu's method finds a single threshold value in an adaptive way. This can't solve a scanned document thresholding problem.

btw: The iOS Notes app has quite a capable document scanning tool. It's cleverly hidden though.


I'm pretty happy with the scanning feature of Evernote, and I think there are some other nice apps in the Android app store, but my goal is to have a solution that is not captive (either to a specific vendor or to a SaaS solution).


Thanks, I was not aware of Otsu's method.

From the Wikipedia article, "Otsu's method performs badly in case of heavy noise, small objects size, inhomogeneous lighting and larger intra-class than inter-class variance." (Emphasis mine.)

Right now my solution is at the stage of local thresholds with a configurable block size.

Thanks to your pointer, I know now that my next steps will be to review the Niblack or the Bernsen algorithms. (Or just integrate ImageJ.)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: