OpenCV 2.0: где находится adaptors.py? - PullRequest
3 голосов
/ 21 декабря 2011

Я пытаюсь использовать OpenCV 2.0 в Python на Mac.Мне нужно иметь возможность конвертировать между форматом OpenCV IPL и форматом PIL Python Imaging Library.

Главный ответ на этот вопрос Как мне создать изображение OpenCV из изображения PIL? предлагает использовать модуль с именем "opencv.adaptors", чтобы выполнить преобразование, но, поскольку я использую OpenCV 2.0, у меня нет модуля с именем "opencv" (вместо этого у меня есть "cv"), и там, похоже, не существует никаких"cv.adaptors".

Ответы [ 2 ]

2 голосов
/ 21 декабря 2011

Ответ, который вы указали, устарел.Причина, по которой адаптеры исчезли, заключается в том, что они больше не нужныПривязки Python для образов OpenCV теперь поддерживают интерфейс массива (__array_struct__ и __array_interface__), поэтому вы можете просто использовать метод Image.fromarray из PIL, чтобы идти в одну сторону, и cv.fromarray или cv.SetData, чтобы идтидругой путь.

0 голосов
/ 21 декабря 2011

Если вы используете OpenCV 2.0, вот несколько фрагментов из поваренной книги OpenCV 2.0 (у меня OpenCV 2.3, поэтому я не могу проверить, извините):

PIL Изображение дляOpenCV:

import Image
import cv
pi = Image.open('foo.png')       # PIL image
cv_im = cv.CreateImageHeader(pi.size, cv.IPL_DEPTH_8U, 1)
cv.SetData(cv_im, pi.tostring())

OpenCV в PIL Изображение:

cv_im = cv.CreateImage((320,200), cv.IPL_DEPTH_8U, 1)
pi = Image.fromstring("L", cv.GetSize(cv_im), cv_im.tostring())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...