I installed OpenCV3.2 + python3.6.1 from this installation guide. (For the paths needed in guide I typed:
Edit: I\'m not sure, but I guess tha
I ran into a similar issue but on the C++ API perspective. Credits go out to mattmyne.
Window autosize was not working for macOS using cocoa. The window's image dimensions could not be found. This has been fixed by removing IP64 specific synthesize in window_cocoa.mm that was causing null reference for the window's contentView image property in cvShowImage (image reference was not linked to _image).
In a nutshell, OpenCV tried to support both 32 and 64-bit ObjC compilers but since Apple no longer supports 32-bit, some image synthesizing operations resulted in null references in 64-bit machines. More info
To resolve this, locate the file window_cocoa.mm; if built from source it'll be in opencv/modules/highgui/src.
Change this
@implementation CVView
#if defined(__LP64__)
@synthesize image;
#else // 32-bit Obj-C does not have automatic synthesize
@synthesize image = _image;
#endif
To this
@implementation CVView
@synthesize image = _image;
Do the same thing for the CVWindow
and CVSlider
implementations to accommodate videos as well.
Recompile OpenCV and test out your code.
If you just encounter the same problem, I can solve your problem. But you should take a look before you follow any further steps:
I will recommend you first delete OpenCV 3.2 from your mac.
Don't know how to delele? Here are the steps:
Read this answer first if you want to know what the following command do in details, then run the following command in your Terminal:
$> sudo find / -name "*opencv*" -exec rm -i {} \;
Please read every delete-checking message carefully, or you may delete some of your files containing "opencv" in filename, which may not related to OpenCV but may be your personal files.
Your cv2.so will still alive somewhere in your disk, go checkout where it is with the following command in Terminal:
$> ls -l /usr/local/lib/python3.6/site-packages/
In my case I found the cv2.so at .../python3.6/...
, you should press 'tab' at /usr/local/lib/python
then check out the site-packages
folder for each python version (,which maybe you're about to re-install the OpenCV,) to search cv2.so. if you found it, delete it.
Install OpenCV3.2 with Homebrew for Python2.7 / 3.6. Just follow all the steps, and keep in mind that Homebrew is your best friend.
Edit: The link works for both Python2.7 and 3.6.