image processing/analysis in Python
Comparing and Contrasting Python's many Image Processing Libraries - Stack Overflow
Image Processing, In Python? - Stack Overflow
What is the best library for simple image recognition?
Is Python good for Image Processing?
Is PIL the Python Imaging Library?
Is PIL and Pillow the Same?
Videos
How do I learn image processing/analysis in Python?
How do I even begin to learn image processing/analysis in Python? What math do I need to pick-up and what popular exercises should I do first before tackling something like this?
(Also, in the future of this research I might need to do video analysis, how do you suggest I approach that?)
I help maintain a page on the libvips wiki comparing 20 or so common image processing libraries for speed and memory use, including quite a few Python systems.
https://github.com/libvips/libvips/wiki/Speed-and-memory-use
The benchmark is very simple: load a 5,000 x 5,000 pixel RGB TIFF, crop 100 pixels from each edge, shrink 10%, sharpen with a 3x3 convolution, and save again. It's a silly test, but simple to implement and it does exercise convolution, load/save, resample and pixel manipulation.
The test is on the libvips wiki, so of course libvips (and pyvips, the Python binding) wins, but the results are a reasonable guide, at least for simple tasks like this, in my experience. It's also fun to compare the code.
System | Run time (secs) | Peak mem use (MB)
---------------------------------------------------------------
libvips C 8.8 | 0.15 | 40
pyvips 2.1.6 | 0.18 | 49
Pillow-SIMD 5.3 | 0.36 | 230
NetPBM 10.0-15.3 | 0.60 | 75
sips 10.4.4 | 0.70 | 268
GraphicsMagick 1.3.28 | 0.64 | 493
ImageMagick 6.9.7-4 | 0.82 | 463
OpenCV 3.2 | 0.93 | 222
ImageMagick 7.0.8 | 1.37 | 733
ImageJ 1.51 | 2.84 | 770
scipy 1.2 + Pillow | 4.33 | 361
Here's the same thing graphically:

I have used mahotas extensively, but currently switched to scikit-image. I found scikit-image a bit more extensive in its functionality than mahotas (I need to test various image processing algoorithms frequently). Mahotas main advantage is simple codes with good documentation, which is is agreement with its mahotas-principles. So, if you require basic functions and faster operation, go for Mahotas. I haven't done a detailed study of scipy-nd image, but looking at the list of available functions, skimage would have the upperhand.
The best-known library is PIL. However if you are simply doing basic manipulation, you are probably better off with the Python bindings for ImageMagick, which will be a good deal more efficient than writing the transforms in Python.
Depending on what you mean by "image processing", a better choice might be in the numpy based libraries: mahotas, scikits.image, or scipy.ndimage. All of these work based on numpy arrays, so you can mix and match functions from one library and another.
I started the website http://pythonvision.org which has more information on these.
I'm writing a script that requires me to figure out how many of an object are on the screen. The objects are kinda low resolution, think the ducks from Duck Hunt. I want to be able to track them in the screen and know their RGB value, even if acreen orientation changes.
However, I don't know much Python, let alone machine learning, so I'd like a library that has some capabilities built in.
I've tried pyautogui, but it doesn't always register the objects on screen, and I can't figure out how its confidence interval stuff works. I've heard of opencv, but it looks like it requires some machine learning knowledge.
Cheers.