草庐IT

ctypes-opencv

全部标签

python - 为什么我需要 __declspec(dllexport) 来使某些函数可以从 ctypes 访问?

所以我正在学习使用Pythonctypes模块。这是我在Windows上使用gcc-shared(4.8版)编译的简单C文件,以获取示例.dll:#includeintaddition(inta,intb){returna+b;}我现在可以像这样从Python访问它:>>>fromctypesimport*>>>mylibc=CDLL(r"somepath\mysample.dll")>>>mylibc.addition>>>mylibc.addition(2,3)5现在我尝试对包含此函数的不同的、更大的和更复杂的.c文件做同样的事情:__declspec(dllexport)void

UE4使用OpenCV插件调用电脑摄像头

UE4使用OpenCV插件调用电脑摄像头使用的是UE4.27,参考两位大佬博客https://blog.csdn.net/d137578736/article/details/79037849?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-79037849-blog-126785890.pc_relevant_vip_default&depth_1-utm_source=distribute.pc_rel

android - 在 Qt Android 项目中使用 OpenCV 时的链接顺序

这个问题在这里已经有了答案:HowtointegrateOpenCVintoQtCreatorAndroidproject(3个答案)关闭8年前。我正在尝试在我从QtCreator构建的QtAndroid项目中使用OpenCV。我使用预构建的OpenCV-2.4.10-android-sdk,根据它们的大小判断,我正在链接到静态库。现在我遇到链接器错误,并且由于GCC中的链接顺序很重要,我怀疑这是因为我的链接顺序不正确(库按字母顺序排列)。考虑到我在Windows上进行交叉编译,正确的链接顺序是什么?我该如何找到它?这是来self的.pro文件:LIBS+=-L"c:/Workspac

c++ - 当前 OpenCV 中的 lib 文件夹(或其替代文件夹)在哪里?

我正在阅读一本为旧版OpenCV编写的书(OpenCV2ComputerVision,PACT),它告诉我在创建新属性表时将lib文件夹包含在我的VisualStudio2013属性管理器中。我在当前的GitHub版本(opencv-master,即OpenCV3.1.x)中没有看到名为lib的目录。此文件夹是否已被其他文件夹替换?我用cmake构建了OpenCV。我找到了一个4yearoldunansweredquestion其中有人也在寻找这个文件夹。他们尝试从另一个不再存在的目录构建库,但无论如何这对他们不起作用......另一位OpenCV用户刚刚告诉我GitHub不包含这些库

python - 如何将通过 ctype malloc 分配的二进制缓冲区保存到 Python 中的文件中?

我有以下代码importctypespBuf=ctypes.cdll.msvcrt.malloc(nBufSize)#wrotesomethingintothebuffer如何使用Python2.5将缓冲区的内容保存到文件中?您可能已经知道,这是行不通的,给出TypeError:argument1mustbestringorread-onlybuffer,notint:f=open("out.data","wb"f.write(pBuf) 最佳答案 也许用ctypes.create_string_buffer()分配缓冲区会更好而不

python - 无法在 Windows 7 上导入 ctypes

尝试导入ctypes时出现此错误的任何想法:>>>fromctypesimport*Traceback(mostrecentcalllast):File"",line1,infromctypesimport*File"C:/Python27\ctypes.py",line3,inlibc=ctypes.windll.msvcrtAttributeError:'module'objecthasnoattribute'windll' 最佳答案 "C:/Python27\ctypes.py"表示您在加载的路径中有一些杂散的ctypes.p

c++ - OpenCV显示和处理网络摄像头流

我正在寻找使用来自网络摄像头的opencv处理流。我的目标是检测每一帧的矩形。我能够显示结果,但帧速率非常慢,~1fps。这是我的源代码的概述:intmain(intargc,char**argv){CvCapture*cap=cvCreateCameraCapture(0);cvNamedWindow("LiveFeed",CV_WINDOW_AUTOSIZE);while(true){frame=cvQueryFrame(cap);if(!frame)printf("\nno");else{Matmat_img(frame);std::vector>rectangle=findSq

python - 在 Python 中释放通过 ctypes 分配的内存

我有一个基于ctypes的库,它包装了一个有时会分配需要释放的内存的C库。在Linux下这很容易,因为常见的glibc功能已链接到该C库中,我可以简单地对其调用free()。但是,当我在Windows下访问第三方编译的库时,似乎无法使用相同的功能。ctypes.util.find_msvcrt()看起来很有希望,但它返回None即使我在Windows下运行。我不确定这是否意味着源DLL是使用Microsoft工具链以外的东西构建的。所以,我只剩下需要释放的内存,而且没有明显、简单的方法来释放它。有人有什么想法吗? 最佳答案 使用MS

windows - 如何在 windows 中为 python 3.6(64 位)安装 openCV

我能够将openCV用于32位python,但我必须切换到64位才能使用tensorflow。我确实按照opencv页面here的说明进行操作.但是我仍然无法导入cv2或cv3。不过,我对替代方案持开放态度,我只是想将tensorflow与openCV一样好的东西一起使用。 最佳答案 升级到python3.6.264位架构后,我认为有同样的问题。但事实证明我是通过..安装的。pipinstallcv2...在python3.6.2x64而不是...pipinstallopencv-python

windows - OpenCV 2.4.5、eclipse CDT Juno、MinGW 错误 0xc0000005

在Windows764位、AMD处理器上,我安装了OpenCV2.4.5、eclipseCDTJuno和MinGW,一切都更新到了最新版本。之前eclipseCDT和MinGW编译100+源文件没有问题。他们甚至编译了这个小的OpenCV源文件,#include#include#include#includeusingnamespacestd;intmain(){IplImage*img1=cvLoadImage("lenna.png");cvShowImage("MyWindow1",img1);cv::Matimg2;img2=cv::imread("lenna.png",CV_L