Tag: c ++

Два отдельных процесса, совместно использующих один канал Camera OpenCv

У меня есть два отдельных процесса, которые используют VideoCapture в то же время, чтобы получить поток веб-камер изображений. Есть ли способ использовать один и тот же VideoCapture для нескольких процессов (чтобы эффективно экономить ресурсы)? Я рассматривал возможность использования mmap для переноса текущего изображения из одного процесса в другой, но я считаю, что есть лучший способ. […]

Связи Python на C ++ вызывают «местоположение чтения нарушения доступа 0x00000002»?

Я использую привязки CGAL Python для альфа-формы . У меня есть 8 массивов объектов CGAL.Triangulations_2.Vertex следующим образом: In [5]: len(alphaShapeVertices) Out[5]: 8 In [6]: for i, asv in enumerate(alphaShapeVertices): …: print i …: print asv 0 [<CGAL.Triangulations_2.Vertex object at 0x03C423E8>, <CGAL.Triangulations_2.Vertex object at 0x03C42420>, <CGAL.Triangulations_2.Vertex object at 0x03C42458>, <CGAL.Triangulations_2.Vertex object at 0x03C42490>, <CGAL.Triangulations_2.Vertex object at […]

Добавить функции-члены в класс Boost Python после факта?

В Boost Python вы можете открыть класс C ++ для Python следующим образом: object obj = class_<MyClass>("MyClass") .def("SomeFunc", &MyClass::SomeFunc) ; Предположим, у MyClass также есть функция SomeOtherFunc. Есть ли способ выпустить SomeOtherFunc на Python позже в коде BOOST_PYTHON_MODULE? Я попытался использовать возвращаемый объект, но у него нет свойства def. Я также попытался создать экземпляр MyClass […]

ctypes – передача структуры с указателем на другую структуру

В моем коде C у меня есть: typedef struct{ int info1; int info2; MoreData* md; } BasicData; typedef struct{ int extinfo[100]; char stuff[100]; } MoreData; Теперь у меня есть функция библиотеки C, которая принимает значение BasicData как аргумент, и я хочу называть его из Python. Для этого я создаю класс ctypes: class BasicData(Structure): _fields_ = […]

Возвращение массива структур в Cython

Я пытаюсь вернуть массив структур в Cython. // .pyx from libc.stdint cimport uint8_t cdef extern from "<apriltag.h>": cdef struct apriltag_detection: int id double c[2] double p[4][2] ctypedef apriltag_detection apriltag_detection_t cdef extern from "tag36h11_detector/tag36h11_detector.h": apriltag_detection_t* scan_frame(int width, int height, uint8_t* data); cdef class Detection: # how do I "link" this to the struct defined above? def […]

sqlite: проверка блокировки чтения / записи

У меня есть 2 процесса, которые оба имеют доступ к базе данных sqlite3. Хотя чтение не является проблемой в sqlite, только один процесс может записывать в базу данных. Согласно faq: http://www.sqlite.org/faq.html#q5 sqlite использует блокировки чтения / записи. Как проверить, заблокирована ли база данных для записи другим процессом, как из python, так и из c ++? […]

Swig, python и выходные строки

Я использую Swig для переноса интерфейса C, который выглядит так: int dosomething(char **str); где str – строка вывода. Например, из C он называется так: char *str= NULL; int val= dosomething(&str); … free(str); В Python я бы хотел назвать это так: val,str = dosomething() Тем не менее, python сохраняет отчетность TypeError: dosomething() takes exactly 1 arguments […]

C ++ – привязка Python с помощью ctypes – возврат нескольких значений в функцию

Я нашел этот пример связывания C ++ Python: вызов C / C ++ из python? Согласно ответу, я создал несколько пробных файлов: foo.cpp: #include <iostream> #include <utility> int bar_2(int a, int b){ return a*b; } std::pair<int, int> divide(int dividend, int divisor) { return std::make_pair(dividend / divisor, dividend % divisor); } extern "C" { int bar_2_py(int […]

Сбивание справочной собственности: как правильно освободить (через Py_DECREF) объекты объекта?

Я анализировал следующий код, который компилируется и работает правильно, но генерирует утечку памяти. cfiboheap является реализацией C кучи Фибоначчи, а следующий код представляет собой оболочку Cython (ее часть) для cfiboheap . Мои сомнения начинаются с функции вставки. Данные объекта были созданы где-то и переданы функции insert() . Так как функция хочет добавить этот объект к […]

Желательно ли возвращать 404 в вызове API в этом случае?

Скажем, есть api call / super-api / calendar / date / events. Ресурсные «события» создаются только при добавлении одного или нескольких событий к определенной дате в календаре. В настоящее время api возвращает 404, когда в календаре нет событий. Я думал, что api должен вернуть нулевые события или что-то подобное вместо 404. Но я не уверен […]

Python - лучший язык программирования в мире.