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

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

906 ratings
194 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.


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.

Filter by:

26 - 50 of 190 Reviews for Python Project: pillow, tesseract, and opencv

By Lukas F

May 27, 2019

not worth the Money, i am a bit disapointed. but still learned much but not because of the course instructions.

By Rohan G

Dec 22, 2019

Compared to previous courses , this course was really difficult to follow.

By Aku-Jaakko S

Feb 06, 2020

The biggest flaw of the course is its nonexistent teaching: the instructor does not even try to explain the concepts and cause-effect relationships needed to understand the course topics. The lectures don't really help you at all in the final project (which, better explained, would actually be quite nice).

The learner is required to know way too much on way too many levels; look up information, know Ph.D. level terminology of image manipulation to digest that information, be aware (in advance) of the limitations of accessing a certain file type using a library that only works with certain data types and so forth – it is just too much without any framework provided by the teaching staff.

In addition the forum is flooded with "Please review" messages, making it time-consuming to find any useful information (which there is, thanks to other learners!). Teaching staff's replies are generally hard to follow and, more often than not, unfriendly.

I can't recommend anybody to take this course as a stand-alone, there is dozens of better hands-on courses for Python out there.


Nov 23, 2019

Rushed and Unstructured course, Worst course ever!!

By Nadim F

Jun 03, 2019

A better way to submit the code for the last project is needed.

By jie

Apr 16, 2020

I give this course 3 stars because: Firstly, I did learn something from this project. Secondly, I am also a little dissapointed with this project.

Let me start with pros: Although my job doesn't require image processing, I believe in the future I may need skills with pillow, tesseract etc. So it is a very good starting point to learn something outside of pandas, numpy, seaborn, etc. Also, this course gives me opportunity to explore different libraries independently with a little guidence.

cons. As this is final project of 4 python programming courses from very beginning to advanced concepts like functions, classes. I was looking forward to a comprehensive project which could cover all the concepts and skills we learned from previous 4 courses, plus a little expoloration of new library. Also, I really love final projects of past 4 courses in this specialization, especially the last two projects (my favorite is the final project of the third course). With milestones, step by step missions, and application of almost all the stuff learned previously.

As I had previous coding experiences in java and C++(not professional programmer though), it is not too tough for me to figure out what to do with this project(still a little challenging in the beginning) I can see how tough it is to those who never coded before.

I do recommend this project to those who have some experiences with python and would love to explore more python libraries. For pure beginners, I recommend UMich to redesign this course.

Anyway, it is a fantastic specialization, and I really learned a lot. The learning platform and in-lecture practice is just amazing. Thank you UMich team. Although I am not alum of Umich, still wanna say: Go Blue!

By M.D N F

Dec 26, 2019

The instructor was just reading the code and at many places, the screen doesn't show what the instructor is intended to show.

Anyways, Thanks to everyone, I learned a lot from this specialisation.

By Liam A

Mar 14, 2020

Not a good course. The lectures are not well organized and don't give sufficient information or a structured understanding of the material (PIL, PyTesseract and OpenCV). The course is also too short for the amount of material it needs to cover. The assignment and capstone project give very poor guidance for the solution, and a lot of trial and error is needed (which is not instructive or educational).

By Chilakala V

Dec 19, 2019

I understand that the course aims to force the learners to take a more real-world approach. However, this gets quite cumbersome and I saw myself lost at many places without any clue. At least offer a final go-to place when everything seems confusing. This will also ensure that no one will give up halfway.

By Yvonne H

May 01, 2020

This course is a complete divergence from the Python for Everybody course and the 4 courses in this specialization. Wasting time digging through pillow etc documentation. Incredibly poor way to start the last course of the Python 3 specialization - unless one is into image manipulation which I am not. The goal for me was to learn python and apply to real world data issues such as forecasting. Modules like numpy would have been much more applicable to work through. I will be taking the data science specialization from another provider (IBM or Stanford (alma mater)) and do not plan to take another course from University of Michigan due to this last course being so poorly administered. The gym analogy was poor excuse for not taking the time to put together more suitable assignments. Such a shame because the first 8 courses were fine.

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 Praveen K

Jun 21, 2020

I felt the previous four courses lack programming opportunities. Gladly, this course tries to make up for this shortcoming. I think this course is a little bit challenging than the previous courses but not that difficult. If you have really grasped the concepts then the assignments will not be that hard. Please be a learner who loves to explore things. There will be a few Python libraries introduced in this course and those libraries do magic. It was great fun to use them and see their real-life usages. don't just stop exploring those libraries after the completion of the keystone project assignment. Thanks to all the instructors for this brilliant course and my special heartfelt thanks to the indefatigable teaching staff who always replied to queries in the discussion forums.

By Ufuk T

Sep 20, 2019

I recommend the course that improves your skills using Tesseract, Opencv, and Pillow libraries. I liked the assignments and challenges.

By yjmaxpayne

Aug 01, 2019

Great exercises, love jupyter notebook!

By Markus Z

Jul 03, 2020

To be honest the test of week1 was really frustrating. This course is totally different then the 4 previous courses. Course 1-4 with Steve and Paul was more like riding a bike with training wheels.

Then on course 5 Christopher came along and kicked them away :-) Felt quite frustrating. But at the end this is more like in real live, where you have to find the solutions on your own.

The lectures are ok. The video when you just watch someone reading the text didn't help much.


Apr 11, 2020

This course might be good for some who are interested to learn PIL and OCV but for python language specialization this course is a bit off topic. They should have taught advanced programming concepts after classes and inheritance e.g. idiomatic programming. This course is taught at a high speed too. Sometimes it becomes hard to follow. May be in future they add more relevant content related to language instead of this course, in the specialization. The focus of this course is to teach how to get help, use and read documentation from different python libraries, which do not required a separate course to my point of view. Neither this course covers pillow, tesseract, and opencv concepts in detail.

Michigan please review the content in this course and make it more relevant to python programming, I know you can do better. See you in another specialization.

By Yongjian F

Jul 12, 2019

The Peer-review project is not well designed. The instruction about what to submit is misleading. Students are confused about what to submit, uploading a PDF like before, or pasting the whole HTML file?

This becomes clear only after you submit and start to review peer's submission. Students are supposed to copy and paste their code into the submission window. But there is a BIG problem of this approach. The pasted code lose all the formatting, and python relies on formatting. Even if I want to copy a peer's codes and try to run them in Jupyter, the codes are all messed up. There is no way to figure out what my classmate wants to do.

By Nate R M

May 25, 2019

There are significant problems with processing and submitting the capstone project; the Coursera Jupyter notebook runs out of memory when working on a particular file (U Mich, you might want to simply reduce some of the image sizes). In addition, the submission process doesn't work without linking outside to a google drive or something of the kind.

The information, though, was excellent, and I'm happy I've completed the whole specialization. Course 3/5 for the reasons listed above (they're quite frustrating) specialization 5/5.

By Muhammad A

Apr 12, 2020

Even though the pillow, tesseract and opencv libraries are very cool and interesting to use - the project does not present a useful challenge. The instructor felt like he was just reading code off a script and there was no interactive problem-solving or debugging.

The project's scope was too specific in its usability and the explanation of the libraries was also lacking. It leaves too much for you to figure out on your own - which would be great if it was challenges related to writing good code, but the challenges were related to figuring out how to use these specific libraries and spend time finding methods which let you do what you wanted it to. I think the project can be improved by giving more clearer instructions on the libraries, but more challenge on the programming logic.

Given the nature of image processing, a lot of time was also spend waiting for the code to finish running before you can debug (and each run took minutes)

By Pablo T

Jun 26, 2020

Very disappointed with this course. They assume you can spend a lot of time learning image manipulation libraries. Personally I have limited time and no interest in image processing.

After going through the previous courses in the specialization I'm not going to complete it.

I think they should offer other options for the final project.

By James M S

Apr 02, 2020

Unfortunately, the assignment is too hard to work on with the Coursera notebook and the submission of the project is very hard to peer review. Most of us have to copy paste then add the newline (as if we are coding other person's work)

By Bart M

Apr 13, 2020

Great specialization, but the final course project was poorly constructed and tedious.

By Yin L H

Jun 23, 2020

The lecture time for this course is too short. You have to learn a lot by yourself.

By Aleksey M

Apr 29, 2020

Compared to the first 4 courses of this specialization, which are excellent, this one is a disaster.

The organization is poor. Installation instructions are full of errata and prone to conflicts in a variety of environments. This leads to frustrated students and teaching staff, who are losing their professional tone in the forums. I get it, I also would not want to be troubleshooting massive multi-library installations for a variety of OSs for however-many-students Coursera hosts. Figuring out "what to do next" requires excessive guesswork and assumption. For instance, simply downloading and moving the lecture's .ipynb files to your local environment is only _alluded to briefly, in an optional video, without ever showing it done on screen_. The course then proceeds into an unrelated lecture. Feels very disconnected and jarring.

The lectures are poor. They consist of the professor talking into the camera with no accompanying materials, and again a lack of clear direction. A concrete example: the professor talks through navigating to /usr/lib/python/site-packages/PIL/ file and opening it in a text editor, all _without showing the screen or terminal_, while explicitly spelling out "See-Dee" (cd) and explaining that's how you change directories... What? There are several problems with this. 1) It is NOT an effective teaching technique to talk through such multiple dir/file traversals without showing the terminal, as it's easy to get lost from where the prof is talking about. 2) Even if there is an assumption here that the students are *SO* comfortable/advanced with *nix already that you can just talk them through that many cd's AND opening a text editor without messing up the file, WHY do you feel the need to explain what "cd" and "ls" do as if it's our first time using it? There is a strong and jarring disconnect here that makes it feel like the course was unfinished - as if the prof believed he'd have an onscreen accompaniment that never materialized. BAD.

The jump in difficulty from the first 4 courses is huge, but it's largely because so many intermediary steps are ignored entirely or poorly explained. The logical composition of this course is nonsense - simple things are explained while complex things are overlooked. If by design it's _intended_ to provoke solution-searching from the student, then at least let the student know that they're expected to find the solution themselves.

Overall I found this really frustrating, and a huge disappointment. Poorly thought-out, poorly executed. I imagine the people actually finishing this course are the ones who are REALLY invested in learning computer vision / these libraries for their own needs, and if you have that motivation, you can give it a try. Otherwise, I see no reason to bang your head against the wall fighting upstream against this course's shortcomings. There are plenty of other resources online for learning python and simpler projects with better documentation, that would be a more natural next step from the previous courses.

Again - this does not reflect on courses 1-4 of the specialization, which are very good.

By Hanno H

Apr 20, 2020

This course ruins the entire Specification. Its incredibly hard to do the exercise, because the lecturer thinks its a good idea to not provide the needed information so that you "learn" by finding the things you expected to be taught online.

The course work is, and I quote, "a project with minimal scaffolding. Expect to use the the discussion forums to gain insights! It’s not cheating to ask others for opinions or perspectives". In other words, part of the learning target is to work through bad or incomplete documentation and to solve an exercise that is stated without providing the information you need to solve it. Unless someone else already went through the moves, the lecturer fully expects you to fail by yourself.

If I wanted to feel the pain of learning without help or instructions, I would have just worked with the online manuals ... which is what this exercise openly tells you they want you to do. Its a shame for the other 4 courses, which are well done and have passionate lecturers.

What a waste of my time.