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

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

4.0
stars
1,911 ratings

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

PM

Jun 23, 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.

RF

Apr 1, 2021

This course gave great insight in how to approach a new library which I believe is one of the most powerful skills a programmer can have. Keep up the great work that you guys have been doing.

Filter by:

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

By Sebastiano F

Oct 11, 2020

Absolutely awful course, I would have given 0 stars if possible..

There's an enormous gap between the previous courses and this one; concept are not explained thoroughly and to complete the final project you have to look for suggestions back and forth from the discussion forum or on the internet.

The course really ruined this specialization, which was awesome from course 1 to 4.

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.

By Geon W P

Dec 30, 2020

They just throw you an unorganized super short text book and a video of the prof just reading it without any explanation.

Then they give you an assignment that you can't do with what they taught even if someone actually managed to learn from their material.

on their assignment they literally say "These hints aren't really enough, we should probably generate some more." which just means that they haven't taught you enough for you to do this but oh well

https://pillow.readthedocs.io/en/3.0.x/reference/Image.html

for pillow just go through this site....

it's not worth paying for this course even though the other 4courses in this specialization was good.

This last course just gets me speechless with the way it is made.....

By Gannon O

Dec 18, 2020

Abysmal. Just take it down or keep it optional for those that have already completed the other courses. Not only is there little to no actually teaching, the topic is somewhat far removed from what someone might in counter in a real life work setting - All this has been said hundreds of times in the course forums already though....

By BO F

Jan 8, 2021

Terrible! There is a huge gap between the first four courses and the final course. Although the first courses are pretty good, the last course is too hard for students to understand.

By TSE M H

Nov 23, 2019

Rushed and Unstructured course, Worst course ever!!

By Nicoletta H

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 ram k k

May 4, 2019

V

a

e

r

y

G

o

o

d

s

p

e

c

i

a

l

i

z

a

t

i

o

n

f

o

r

p

y

t

h

o

n

3

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 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/Image.py 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 Yvonne H

May 1, 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 Don S

Jan 18, 2021

The project was pretty good. The course content was lacking and the teaching assistant was very rude and unhelpful. I plan to try the next Specialization, but if the first course isn't better I'll be looking elsewhere.

By Sagar M

Mar 3, 2021

Very Poor Course Compared to the previous courses in the Specialization, the teacher is also very monotonous and boring, People should avoid this course if not a part of the specialization.

By Mohammad H

Dec 9, 2020

Very badly taught. Actually he doesn't teach anything. He introduces you to some modules and says go read the rest, and do the project. Disappointing

By Gerson R

Sep 10, 2020

The first 4 courses were like really good, awesome actually. The problem is the 5th one. I think it was a mess due to the following reasons:

-There were uncorrected mistakes that seemed to be there for like several months or even a year without solving.

-The submission system for the final project was a nightmare and the Notepad++ solution they gave us was not working at all (I saw other students complaining about this in the forums). I had to copy my code several lines at a time to ensure that it would not lose formatting and checking that it had the correct indentation at each moment. Even then, after ensuring that everything was alright and seeing my own submission, there were some lines that were not formatted correctly even if I did input them correctly. I had to put a disclaimer to say that it was not my fault if the indentation was not the correct one. This situation has been going on for months and action has not been taken. This is unacceptable.

-We were required to execute someone else's code for review in our own environment. I could only copy and paste another fellow student's code for review when using Microsoft Edge (Chrome and Firefox did not do the trick).

-The staff moderating the forums was not really helpful. I asked about how to download a file that could not be download through the environment, but he would not say that the pinned posts in the forum were intended to help. Normally you do not expect to have that many errors in your course material, so it is normal to NOT expect that many tips to be available in the forums.

-Each iteration of the code is like really low execute. The instructor claims that the big file in the final assignment took like 10 minutes to process, but that is far from reality. This leads to my next point.

-The theoretical contents have not been clear and useful. We were told that certain things could be done to improve processing of the image, but none of it seemed to actually make anything better. For instance, when we applied the bounding boxes to the OCR, it did not seem to actually improve anything. What is more, it made OCR to work worse.

-One of the parameters that were needed to make the pyteseract module correctly was not explained during the course. I would get really bad results over and over until I found one of the parameters and set it to a reasonable value. Even if the course is based on kraken, pyteseract and OpenCV, it is maybe a bit ambitious to expect the student to try and use those parameters, one of them without even mentioning it in the lectures. It would be understandable if the material provided was much faster to compute, but exploring two parameters, each with its own set of values is a really time consuming process.

-It feels like most of the content in the lectures is junk and only 10% of that is really useful in the assigment. The other 90% actually makes things worse (as I said previously some recommended techniques did not work) and is presented in a convoluted way. I had this sensation many times during my university years, were the classes would be totally disconnected from the exam and with real practice. You feel like the lectures have been a total loss of time. I consider this bad teaching practice. I expected more from a university in the USA.

By Alexander A

Apr 30, 2020

Abysmal. Total abomination. Zero instruction. Extremely frustrating and major let down if you've been through courses 1-4 of the specialization. If getting the Specialization Certificate is very important to you, there are resources online that you can leverage to complete the project but that is done largely at the expense of any real learning, so I really hope UofM comes up with an alternative final project that is more consistent with the level of expertise attained in courses 1-5 (maybe something on implementing classic algorithms?).

By Alexander E

Apr 30, 2020

With all due respect this is the worst course I have taken in any online learning platforms. The "teaching" was abysmal if it could even be described as teaching. It's so disappointing considering the other four courses in the specialization were amazing and enjoyable. The only motivation I had for completing this course was for the certificate, whereas the motivation I had for the other courses was to learn.

By Meryem B y

Sep 1, 2022

I don't recommend it. The instructor in this course, Stephen Catto, is incredibly rude, and from browsing the forum, especially to students that have foreign names and bad English. If you use course material, existing stubs of code from the course, or browse forums, or hints, you'll most likely be failed and have to deal with such a disagreeable person. Please don't waste your energy and time as I did.

By Jason 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 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 Samanth N

Oct 4, 2020

The previous 4 courses were so much fun solely due to how the assignments were structured. This assignment however was filled with so many issues along the way. Firstly, computing image data takes a considerable amount of time, throw in face recognition modules like opencv and it becomes even harder. I have a few things I liked and did not like about this particular course:

What I liked:

1) The fact that the week 1 assignment was so intuitive and yet challenging actually kept me hooked on to this course and finish this specialization.

2) There are a lot of real-world applications with the content shared in this course. This happens to be the most (at least for me) practical course in the entire mega course for python.

3) This course offered a fairly good amount of interaction with the Jupyter notebooks.

What I don't like:

1) The week 1 assignment was actually fun and challenging at the same time but, the hints provided for this assignment were little to no help. I'm sure there are better ways to make students read the docs more but, this shouldn't be one of those methods.

2) The week 3 assignment was probably the most annoying assignment of this entire course. The assignment looks fairly easy but, the entire code takes over 20 minutes just to execute. This can be a real issue when you're dealing with experimenting with images and image data.

3) The files for this assignment were not readily available for use. I found out that they had the assets up for download in a separate thread which was not even pinned when it is so important.

4) The notebook was taking so damn long that I decided to install Jupyter and work on my local machine with those files. This was a great improvement over the Coursera Jupyter notebook, though the video guide on how to install and setup Jupyter is outdated.

5) After spending a ridiculous amount of time coding this assignment, when the time came for submission, it was an even bigger pain. The assignment requires you to post the code to a text field but, this text fields removes and destroys all the indenting and formatting. I spent hours on end trying to format it correctly before restoring to uploading my code to online codeshare platforms like GitHub.

6) The review process is even more difficult. You would have to run the peer's code and cross-examine their results. This was a huge pain since running the code can take anywhere from 20 - 40 minutes to complete.

I hope the team takes this feedback constructively and uses the above-mentioned points to help improve upon those aspects.

By Matthew G

Mar 9, 2021

This course was a big disappointment. The subject matter is great but the level of 'instruction' is totally lacking. This course took a big turn away from the rest of the series in that the other used very good pedagogy and this course felt like they spent hours preparing it.

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 Felipe D

Mar 21, 2021

Didn't like it. Unfortunately you have to acquire the knowledge by yourself. But even though you have the good will to endure this fight, Jupyter isn't prepared to deal with the huge amount of data processing (in my opinion), so, it's a wasting time game of trying, running and waiting forever to receive an error, instead of learning to solve problems. The assessment is overdimensioned for jupyter. Dealing with 25mb+ files is unacceptable, because as students we need to debug the code too many times on try-and-error basis. I felt like going crazy and nervous with this final assessment.

I did the first four courses in about two months (they were so great!), and this last one, it took me more than 5 months, because at some point in time, I just abandoned it. The course needs to continue with the pacing of the other instructors, that were so good, and I felt everything was chained into a purpose. This last one, does not have any purpose at all.

Did it, but do not recommend, afterall, before this one, I was excited in doing many courses, but as I was trapped into it, my apprenticeship was abruptly stopped. I'm feeling released now, as i ended this course, to continue learning other subjects.