I understand it's meant as a joke, but starting with
"Stampedes of middle-aged midwestern women, their toothless gums bloodthirsty for 75% off the latest season of Game of Thrones at the local Wal-Mart."
Could turn off a lot of people (women, older people, Wal-Mart shoppers, etc.) from what is otherwise a fun and well written technical post. I'd like to see HN being more inclusive. That said, enjoyed and upvoted the article.
Contrary to how some people react to the "PC police", it is possible to be funny without being super hurtful to entire categories of people for little gain.
There are levels of humour, but I agree with GP that the quoted quip is pretty rude (the toothless gum bit) , and it isn't even that funny!
Author of the post here. Sorry to offend you. Certainly wasn't trying to be an ass. But when you write tons and tons of programming tutorials, sometimes it's fun to introduce a little humor, otherwise it becomes extremely dull. If anything, the introduction simply pointed out the consumerism flaws related to Black Friday. I didn't mean to single out a group of people.
I find a good guide is to rewrite insults to aim at you, and your expected readers. If you don't want to do that, you probably shouldn't have put them in.
For what it's worth, I found the quip to be funny. I also found it to be appropriate in the context, as anyone who has braved the Black Friday crowd would (only once - lesson learned). But then again, I'm also one of those old curmudgeons who think that everybody gets their panties in a twist way to easily these days.
Translation: I've spent my life freely and casually belittling people I see as beneath me, and am annoyed that these uppity women and minorities are feeling empowered enough to call me out on it. They should all mind their place.
Being a privileged white male isn't what it used to be.
Why would you think anyone else is beneath you? I'm sorry that you feel privileged in some way because you are white, but everyone is created equal, regardless of race. You'll be a happier person if you live and let live, instead of letting people annoy you so easily.
Hey, how do you know he's an ass? Because you think he showed poor taste in that article?
You're going too far. "Written so badly," "written by someone with poor taste," call it whatever you will. But don't insult him just because you think his joke was offensive.
Don't forget there's a human being at the other end. Getting this kind of feedback is very discouraging and disappointing.
In fact, it's not even feedback, it's just an insult.
In all honesty, this comment and its children should just be deleted. It has degenerated this entire submission and, whether or not it was intentional, ruined any sort of discussion about the crux of the matter.
If you're a bloodthirsty, toothless, middle-age woman -- sorry this submission was not meant for you. Carry on, and read another one of the millions of posts on the internet.
This entire blog has loads of really interesting material on image manipulation with python. This blog was pretty interesting, it would have been cool to go the whole 9 yards and read the barcode though (maybe this technique isn't precise enough?)
Hey, author of the post here. Detecting the barcode is actually the easy part. Reading the barcode is substantially harder. And there are many different types of barcode variations. It's not a simple problem, unfortunately. However, this approach could be used to read the barcode. I'll add a post related to reading the barcode to queue though! Thanks for the great feedback.
If you restrict yourself to UPC barcodes it's actually quite easy. I've done it in pure Python, don't even need Numpy. Unfortunately it's not ready for prime time yet.
Funnily enough I was mucking about last night trying to get some bar code detection stuff going with python and it seemed everyone uses ZBar for that. Would that have done the job in this case? I guess the article is more of a teaching project than an attempt to read barcodes...
Yep, I've used Zbar for barcode detection in photographs before. It wasn't particularly fast for my usage, but a lot of the photos I was scanning weren't particularly well cropped around the bar code. I'd be interested in seeing some benchmarks between this approach and Zbar.
Also, a ton of the barcode scanning mobile apps use zbar as well (they all use zbar's default interface unchanged).
Is there a reason to be doing doing a closing, and then a sequence of erosions, followed by dilations?
Since closing(image, str.elem.) == erode(dilate(image, str.elem), str.elem), it
feels like you could better use an erosion (remove noise) followed by a closing (to fill up the empty spaces) instead of the other way around?
Great observation. But if you erode too early you run the risk of not being able to perform a closing and fill in the gaps between the vertical stripes of the barcode.
It only works for horizontal barcodes. It's certainly possible to extend this code to work for vertical ones as well. A Radon transform might be a good start. And if you want something more powerful there is Haar cascades or HOG descriptors + Linear SVM.
Apart from the fact of being an interesting article on CV, how would you avoid waiting to checkout to find out the price difference by scanning the barcode?
Actually, the only reason I mentioned movies/TV shows was because I had just watched the Black Friday episodes of South Park and used those as inspiration for the introduction.
"Stampedes of middle-aged midwestern women, their toothless gums bloodthirsty for 75% off the latest season of Game of Thrones at the local Wal-Mart."
Could turn off a lot of people (women, older people, Wal-Mart shoppers, etc.) from what is otherwise a fun and well written technical post. I'd like to see HN being more inclusive. That said, enjoyed and upvoted the article.