На странице файла menpo показано, что двоичный файл OpenCV 3.2 существует только для Python 2.7 / 3.4 / 3.5 и на платформе linux-64
Вы можете перейти на сайт этого , чтобы получить нужную вам версию.
opencv_python‑3.2.0‑cp36‑cp36m‑win_amd64.whl
является основным. opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win_amd64.whl
- тот, который содержит модули opencv-contrib таких как модуль text
для привязки к движку OCR tesseract и многие другие. Оба двоичных файла для OpenCV 3.2 с привязкой Python 3.6 для Windows 64-bit. Чтобы установить его, 1) загрузите двоичный файл на локальный диск, 2) откройте командную строку Anaconda и 3) введите команду ниже в каталог, в котором находится бинарный файл.
pip install opencv_python‑3.2.0+contrib‑cp36‑cp36m‑win_amd64.whl
Надеюсь на эту помощь.
Обновление 2018-02-22:
Кодированные файлы OpenCV 3.4.0 теперь доступны на неофициальном сайте и заменены OpenCV 3.3.0
Почему код был циклом навсегда?
Типичный float
может точно представлять около 2 32 sup> чисел, 0.1
не является одним из них. Так что код больше похож.
float f = 1.0;
while (f != 0.0) {
f = f - a_number_close_to_one_tenth;
printf("%.1f\n", f);
}
Повторные вычитания "пропустить" 0,0.
Вместо этого используйте >=
, и код будет повторять ожидаемое количество раз (или, может быть, еще раз). Используйте печать с более высокой точностью, чтобы понять почему.
float f = 1.0;
while (f >= 0.0) {
f = f - a_number_close_to_one_tenth;
printf("%.17e\n", f);
}
Это проблема с плавающей запятой. Попробуйте >
вместо !=
float f = 1.0;
while (f > 0.0) {
f = f - 0.1;
printf("%.1f\n", f);
}