C#(C Sharp)是一款
windows
上的
开发
语言,其优势是
开发
窗口程序比较简单快捷。
OpenCV
是一款常用的图像处理库,但是官方支持C++和Python。
OpenCvSharp
是一款使得
OpenCV
支持C#
开发
的一个库。基于
Visual
Studio
开发
。
github地址:https://github.com/shimat/
opencvsharp
当前最新版本为4.6.0
https://github.com/shimat/
opencvsharp
_samples/引用里已经自动添加了相关的引用:查
Mat source = new Mat(@"1.bmp", ImreadModes.Color);
提示出错:“
OpenCvSharp
.NativeMethods”的类型初始值设定项引发异常。
https://blog.csdn.net/jameshater/article/details/79642384
由于方法一连不上网,因此一开始使用第二个方...
摄像头与电脑的连接
首先,你需要获得hikvision摄像头的密码以及用户名(不知道的可以去打客服电话进行咨询),这里不做介绍;
其次,将电脑的ip设置与hikvision同频段,一般来说,海康威视的ip为192.168.1.64,电脑设置如下:
最后,使用IE浏览器(其他可能不支持),输入ip:192.168.1.64并登陆
输入用户名和密码即可获取视频画面(可以观察到,视频有畸变)
使用python+
openCV
获取监控画面
在使用
openCV
获取监控画面,具体代码如下
url格式为:“rtsp:
the type initializer for '' threw an exception
问题:程序启动时初始化主窗口类时,弹出该错误。调查:查看类的构造函数是否会有异常抛出。解决:去掉类的构造函数中可能出现的异常。
//////////////////////
环境
:
windows
2003 x64,Oracle 10g x64,odp.net(正确安装),.net fram...
Unhandled Exception:
OpenCvSharp
.
OpenCvSharp
Exception: Failed to create VideoCapture System.TypeInitializationException: The type initializer for ‘
OpenCvSharp
.NativeMethods’ threw an exception.
OpenCvSharp
.
OpenCvSharp
Exception: Unable to load shared
我在
Win
10
VS
2015中运行
OpenCVSharp
时候初夏下面的问题:
System.TypeinnitializationException类型未经处理的异常在
OpencvSharp
中发生
其他信息:
OpencvSharp
.NativeMethods的类型初始值设置异常
解决方案:将
OpenCVSharp
Extern.dll 拷贝到
项目
文件
夹下 X64->
Debug
中就可以解决。
项目
地址为:https://github.com/shimat/
opencvsharp
1、直接封装了更多的
OpenCV
方法,降低了学习的难度,比EmguCV更便于使用
大部分继承了IDisposable接口,方便使用using语句
2、可以直接调用原始风格的
OpenCV
方法
3、可以将图像对象直接转换成GDI使用的Bitmap和WPF的WriteBitmap
4、支持Mono。
当托管代码调用非托管代码的时候,经常会出现如下
报错
:“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”。
二、原因分析
由于非托管代码的内存指针的回收是由非托管代码自身手动完成的,而不是像托管代码一样有统一的垃圾回收机制,比如.NET的GC。
所以对于托管代码的调用方来说无法控制其内存回收。以上问题的产生原因很可能是托管代码调用了已经被回收的非托管对象。封装
的好一点的非托管代码一般都会有内存释放的接口供外部调用,这样调用方就可以管理非托管代码的内存回收。
三、解决方法
尽量不用使用不.
打开/新建一个
项目
->选择工具(T)->NuGet包管理器(N)->管理解决方案的NuGet程序包(N)->
在搜索框中输入
OpenCVSharp
,搜索->选择适应电脑
系统
的版本安装->在
项目
中添加命名空间
OpenCVsharp
即可
亲测:
win7
系统
可装
OpenCV
sha
您可以按照以下步骤在
VS
2022的
项目
属性中添加xfeatures2d的头
文件
和库
文件
:
1. 首先,请确保您已经安装了
OpenCV
4.6,并且已经将其路径添加到了
系统
环境
变量中。
2. 打开您的
VS
2022
项目
,右键单击“
项目
”并选择“属性”。
3. 在属性页中选择“VC++目录”,然后选择“包含目录”选项卡。
4. 在“包含目录”选项卡中添加
OpenCV
4.6的include路径,例如:“C:\
opencv
\build\include”。
5. 接下来,选择“库目录”选项卡,并添加
OpenCV
4.6的库
文件
路径,例如:“C:\
opencv
\build\x64\vc16\lib”。
6. 然后,转到“链接器”选项卡,并选择“输入”。
7. 在“附加依赖项”中添加以下库
文件
名称:
opencv
_xfeatures2d460.lib
opencv
_features2d460.lib
opencv
_calib3d460.lib
opencv
_imgproc460.lib
opencv
_core460.lib
8. 最后,请单击“确定”来保存您的更改并关闭属性页。
现在,您已经成功添加了xfeatures2d的头
文件
和库
文件
。如果您按照以上步骤操作仍然遇到问题,请让我知道,我会尽我所能来帮助您解决问题。