Chevron Left
Back to Python Project: pillow, tesseract, and opencv

Learner Reviews & Feedback for Python Project: pillow, tesseract, and opencv by University of Michigan

1,284 ratings
300 reviews

About the Course

This course will walk you through a hands-on project suitable for a portfolio. You will be introduced to third-party APIs and will be shown how to manipulate images using the Python imaging library (pillow), how to apply optical character recognition to images to recognize text (tesseract and py-tesseract), and how to identify faces in images using the popular opencv library. By the end of the course you will have worked with three different libraries available for Python 3 to create a real-world data-analysis project. The course is best-suited for learners who have taken the first four courses of the Python 3 Programming Specialization. Learners who already have Python programming skills but want to practice with a hands-on, real-world data-analysis project can also benefit from this course. This is the fifth and final course in the Python 3 Programming Specialization....

Top reviews


Jun 24, 2020

This last course is much more challenging than the prior four, but provides a very good launch pad for taking what you've learned and getting you actually using the skills in building Python code.


May 05, 2019


Filter by:

1 - 25 of 295 Reviews for Python Project: pillow, tesseract, and opencv

By Artem E

May 07, 2019

Really this is awfull course. I finished other courses of the specialization and waited untill this course is ready. So I just audit the materials of the course. And I have no the least intention to pay for subscription about $50 just to get course certificate and specialization certificate. I'll cannot respect myself after that if I'll do so.

The lections are terrible! There you can see the lector himself verbally explaining something without any hint of slides or other auxiliary visual materials and spelling (!) (:facepalm:) the commands to write in the terminal. Or you can see the scrolled IPython Notebook with the voice of the lector that is reading word-to-word(!) the comments from notebook (:facepalm:). Probably for the case if you have difficalties with reading yourself.

By the way, video and audio in the the lections of second type are poorly synchronized. And at least for the one lection they were recorded separately because in video are shown one version of library while the voice speaks about other version!

Also the lections practically do not give you knowledge about PIL, Tesseract and OpenCV. It is suggested that you will learn yourself from documentation, google and sourse code (!) (:facepalm:).

Why then should I spare my time on this course and pay for subscription? I can learn myself in this way without this course.

By Ross M

May 23, 2019

This course, the fifth and final in the specialisation, feels like a rushed job. Quite disappointing given this was the supposed climax of the specialisation.

By Christoph V

Jul 25, 2019

This course is a disgrace. The questions at hand are poorly explained and you are expected to invest a lot of time researching yourself and then even more time to find the right parameters by trial and error. The jupyter notebook environemnt where you are supposed to do the final assignment is not fast enough to run the code in a reasonable amount of time, so most time is wasted waiting. All this is contradicting the reason, as to why i am doing these courses. I am working full time. I do not have the time to search for everything myself. If you need this course for the specialisation, i advice you to download python and the necessary modules to do the assignement on you own pc. This seriously speeds everything up.

By Amit C

May 28, 2019

Honestly, after taking the first 4 courses from the specialization, I had high hopes from this course as well but the content doesn't seem up to the mark. The pace is really fast and not much explanation is provided should have been better considering the simplicity with which concepts were taught in the first 4 courses.

By Liu J

Oct 09, 2019


1. Huge difficulty gap between course 4 and course 5, like 1+1 to rocket science kind.

2. It's definitely not beginner level, I even doubt whether it counts as intermediate level, because I had other intermediate level courses before, never felt like this.

3. The instructions in the last exercise are ambiguous and confusing. No tips, no milestone, makes me unable to know if I am on the right track, and extreme frustrated.

Conclusion: I don't know why this course counts as beginner level, it definitely isn't. For me it's like a trap to get more easy sweety subscription money. If you just want a beginner level introduction to python, just the four previous courses are enough. If you want a python specialization, this so called "beginner" specialization does NOT WORTH THE EFFORT. GO FOR ANOTHER COURSE.

By Michael K

Apr 10, 2020

There are aspects of this course I consider worthy of 4+ stars, and there are aspects I consider worthy of 2 or less stars. So splitting down the middle with 3 stars. I appreciate what the instructor was aiming for, to push students into a hands-on, realistic programming project using third-party libraries, but the execution was quite lacking.


1) While I felt the other 4 courses of the Specialization were too basic and too easy, this one is quite the opposite. It throws a real-world type programming project at you and gives you a serious challenge. Being challenged is when you learn the most.

2) Learning how to integrate third-party libraries is a very useful skill.

3) Nice to use a real Python environment like Jupyter Notebooks instead of a sandbox online environment.


1) Enormous difficulty jump from the previous course in the Specialization to this one. If I didn't already have programming experience with other languages I would have likely found this course borderline incomprehensible.

2) The course can't quite seem to be decide whether it wants you to setup your own Jupyter Notebook environment or use the Coursera Notebook. At first it seems to encourage you to create your own, but then doesn't give you a link to download the accessory files (images, etc) that are required to follow along. You have to search through the forums to find it. But, later on, you're introduced to a package Kraken that simply does not work on Windows (without actually telling you this so I wasted hours trying to install the complicated dependency chain through Conda only to find out the main Kraken package is Mac/Linux only). So then you're forced into using the Coursera notebook anyway for that part, and it is extremely slow.

3) While it's good to experience integrating third-party libraries, I feel like this project uses too many. Including one (Kraken) that isn't even used in the final project, so why complicate things by covering it?

4) The way you submit the final project is a total mess. You have to copy & paste your code into a text box and then submit it. Another student then has to copy & paste the code into their Jupyter environment to test it out and give you a grade. But Coursera messes up the formatting to your code when you submit, which makes your code unusable by the other student. So you have to copy & paste your code to an online document like Google Docs and provide a link to the Google Doc. Just seems needlessly complicated and messy.

The Python 3 Specialization which this course is part of was good, but I would not recommend taking this as a standalone course.

By Kenneth S

Nov 29, 2019

One of the worst courses I've taken in a long time. Chris Brooks has a terrible teaching style and leaves you hanging with either too much (confusing) info, or not enough (frustrating) info. By Flow Theory, this is completely counter to educational research. The project really SHOULD be fun and enjoyable, but instead it's a frustrating mess that you don't want to think about once it's over.

By Jeff B

Mar 31, 2020

I'm writing this in hopes that the content owners take note and make some adjustments. After weaning us off of the on-line workbook (which is a very nice tool) and completing the previous four courses (which were very well done), this course takes a jarring turn. For starters, the video to install Python went so far into the weeds I had to uninstall everything I was told to install and search for assistance from the web. Because I work full time, I lost about a week just undoing and redoing the installation in my spare time. The video lectures are average, although I found myself doing searches several times to understand why something was coded the way it was. The Jupyter notebook they provide is unexpectedly unstable; I found myself copying all of my code to a separate file after losing portions of it, and more than once the kernel stopped and restarted itself, which really required a reboot to get it working properly again. My final observation is the scoring - it's entirely pass or fail. I don't agree with this - the project has several facets that I think can and should be assessed individually. Yes, I understand that some university courses choose to grade a final project in such a way, but in a case like this I don't think it's appropriate. At one point, my frustration level was high enough that I seriously considered forgoing the specialization certificate because I was spending too much time on it. The previous four courses were excellent; please don't conclude the student's experience with a capstone project that feels like it was launched and then neglected. It's like the specialization's Kingdom of the Crystal Skull.

By Ronan R

Apr 01, 2020

This course was a huge disappointment. After going through the first courses of the Python 3 Programming Specialisation, you would expect more of the final module. The subjects covered are extremely interesting and were basically the reason I started this specialisation in the first place, but they are not really taught. This could have easily been a 8-week course, but they did everything in a hurry and crammed the most interesting subjects in 3 badly organised weeks.

There is no teaching method here. There is only a programmer that shows you he can do some cool things with these python modules and then asks you: "Can you do the same?".

There is no supporting presentation, only a video of his screen while using an online tool (that glitches a lot and has no real use for you in the real world) while he's speaking so fast about the code he is going to write that you will have to pause and go back several times to read what that code is doing and try to figure it out by yourself. Actually, the videos themselves are a waste of time, since everything he says is written as comments in the tool you're going to use anyway, because he was just reading everything that's written there.

I fully support the logic that a programmer should go and read the documentation of the modules in order to understand better how the functions and methods and classes work, but we already do that everyday. He even says some of that documentation is incomplete and badly written. I came here looking for a course, a teacher, BECAUSE the documentation is not enough. Having someone to actually guide you through those codes and documentation is what I expect from a programming teacher. This course DOES NOT deliver that. What this course gives, you can get by going to any forum on the web.

By Jeffrey C

Mar 31, 2020

The first four courses of this specialization were great. This course, however, is aimless and low effort. Ideally, this course would force the student to apply everything they learned in the first 4 classes to produce something interesting. Instead, it's a meandering skimming of a few image processing libraries. Was the goal to teach us how to read Python documentation? There are plenty of other ways to do that with simpler libraries that don't require long detours into abstract details about graphics.

Lectures and instructions are riddled with errors. One video features a head shot of the instructor giving a verbal narration of navigating a console window. It feels like they meant to overlay it with someone actually performing the actions on a computer, but instead you get to imagine in your mind what a command prompt must look like. The python installation instruction video is wrong top to bottom - while the narrator reads out the instructions, the video actually shows them failing on input... but the instructor moves on. The final project is too complicated for the Coursera Jupyter environment and it takes ages to run. You can install the environment on your own computer, but the instructions for that are wrong too and don't have the right libraries (one isn't available for Windows!). Some of the lecture videos are the instructor literally reading, word for word, the Jupyter notebook pages.

Plenty of students have posted to the message boards with solutions to the many issues with the materials, some going back a year. But nobody seems to want to actually update the course. I powered through the technical issues and nonsensical videos in this course to get the specialization, but I feel no more accomplished for it, as the challenge in this course is to figure out what the heck you're supposed to be learning here.

By Luis A V A

Nov 05, 2019

Rushed and not well explained. Project can be finished If you are a mid python programmer.

By Luis M

Jan 03, 2020


1. Huge difficulty gap between course 4 and course 5, like 1+1 to rocket science kind.

2. It's definitely not beginner level, I even doubt whether it counts as intermediate level, because I had other intermediate level courses before, never felt like this.

3. The instructions in the last exercise are ambiguous and confusing. No tips, no milestone, makes me unable to know if I am on the right track, and extreme frustrated.

Conclusion: I don't know why this course counts as beginner level, it definitely isn't. For me it's like a trap to get more easy sweety subscription money. If you just want a beginner level introduction to python, just the four previous courses are enough. If you want a python specialization, this so called "beginner" specialization does NOT WORTH THE EFFORT. GO FOR ANOTHER COURSE.

By Zhen Z

Dec 12, 2019

I can see why this course has a sharp rating drop compared to the previous four in this specialization. While the previous four courses provided a great enviroment for zero background beginners to built up their basic Python skill set, the way students achieve a successful final project was always through intensive guiding (almost translating the code you're going to write completely in English with names of variables and objects all set for you). In this final course students are half-way pushed more towards the wild to work on something more like real-life projects that you may encouter at work and put your Python skills and programming mindset to a real test.

It's much more difficult compared to the previous four and students need to take more initiatives to actively think as a real programmer. There's no single way in avhieving the goal; and there's so much fun to read others' works to get inspired by different approaches to the same problem.

By Umang R

Jun 20, 2019

I understand the instructors objective to get us ready for solving real-world problems. As programmers, we will have to use new libraries at some point in time but the instructor's explanations were no way near to what other instructors had to offer in the specialization. The pedagogy becomes very different with respect to other courses in the specialization and there was not enough time to get used to it.

The assignments and projects in the course are really good. They really wanted students to put their minds to use.

By Kurt

Jun 13, 2019

This course requires additional knowledge, require the student to find information online or other methods. The projects are creative and interesting but I hope the description and the requirements could be more detailed.

By Md. H H S B

Jul 23, 2019

Not as great as previous courses... :(

By Jason J D

Jul 22, 2019

This course is a little difficult as compared to the previous courses in this specialization. The instructor does not help you much, but puts out hints and clues at times. Having said that, this is like a typical real world project, where you may have to read through the documentation of various libraries and learn how to use them. Overall, I would say that though this course does not meet the standards of the previous four courses, I personally found it to be useful and challenging! For those who are not aware how to work with complex Python libraries, the assignments could be difficult. Good luck!

By Siu K P L

Jun 14, 2019

I think the material was not so interesting. At least it didn't make me feel like working on it. The lecturer keeps reading stuff from he pre-written text.

By Nico

Jan 24, 2020

I just finished this course and the whole specialization and I cannot agree with the negative reviews. The four courses before built a strong foundation in python programming. It is the goal of capstone courses to create a real-life like situation where the programmer needs to help herself and do the research on her own. If one is not willing to do the work, then maybe programming isn't her thing. I found this course challenging, but absolutely doable. It's an awesome feeling when you finally get your certificate. I've done several courses by the Michigan School of Information and I will continue with Statistics and Data Science.

By Ustinov A

Jul 31, 2019

It's very interesting the assignment and the final project. But maybe you should think of changing the Jupiter notebook. It doesn't work correctly very often.

By ram k k

May 05, 2019


































By Jim C

Dec 03, 2019

Course was put together hastily and it shows. They were very late in putting it together while still charging everyone $50/month. Then the assignments were not very well explained, and the final assignment wasn't well explained or thought out, and had to be developed on the desktop as the Jupyter notebook didn't cut it. Overall I'd give this course a C, and it was definitely not up the standards I would have expected from the University of Michigan. Dr. Chuck from Python for Everybody would have done a much better job.

By Simona O

Jul 02, 2020

There were a lot of negative reviews for this course. And yes, this one was challenging for such a newbie as I am. When I read through first assignment (only 10 % for final grade!), I felt despair: how should I complete this one, I have no idea where to start and what to do. But then I was determined to at least try. I broke the problem into pieces and solved it bit by bit. And I finished it! I'm sure the road I took was not the easiest or the prettiest, but I did it, and it looked the way it supposed to look. It gave me confidence that I can become a programmer one day, and it gave me joy just for completing it. Maybe I'll never use the libraries I used in this course (as so many complains here), but it was a good learning experience - no more learning wheels to ride this bike - just go!

By Sophie T

Nov 09, 2019

It's not an easy course but it was well worth the effort. I learned a lot about pillow, tesseract and OpenCV.

By Mauricio G N

Jul 27, 2019

Not enough practices, instead of many lectures and a quite difficult assignment at the end. It gives the impression that Coursera sets challenges that are quite difficult so you are forced to pay another moth in order to finish.

Additionally not enough support on the installation of the libraries, so far nobody helped me to install de library Kraken in Ubuntu. In practical terms, you need to be hooked to Coursera server in order to code.