在c#中使用opencv的一种方法

本文介绍了一种在C#中使用OpenCV进行图像处理的方法,特别是如何通过DLL封装OpenCV的seamlessClone方法来实现图片的半透明融合。首先创建一个VC动态链接库项目,然后在C#中调用该DLL,确保所有必要的dll库文件位于正确的位置。
摘要由CSDN通过智能技术生成

一直没怎么用过c#做开发,加上这次一共用c#做过两个程序,第一个是关于修改网页的,用C#结合com组件还是很方便的。这次帮别人demo一个用c#实现图片裁剪和半透明融合的功能演示程序。功能挺简单的,就是把一张固定大小的图片先做边缘羽化,然后贴到一个圆形泡泡形状的底图上,最后把结果半透明融合到一张背景图上。

C#实现图像的羽化、将图片裁剪复制到一个圆形图片这些都挺简单的,最后一步融合到背景图上需要用到opencv的seamlessClone方法。网上搜索c#使用opencv的方法有很多,一种是直接使用opencv的C#版本,一种是先把opencv的方法封装到一个dll然后用c#调用这个dll导出的方法。对于我这个需求,后一种方法最合算了。我只用到了一个方法而已。vc中怎么使用opencv就不说了,直接开始吧。

第一先用VC创建一个win32项目,选择生成dll动态链接库。添加一个cpp文件,代码如下。

 

// opencvImage.cpp : Defines the exported functions for the DLL application.
//

#include "stdafx.h"
#include <opencv2/core/core.hpp>
#include "opencv2/photo.hpp"

#ifdef _DEBUG
#pragma comment(lib,"opencv_core331d.lib")
#pragma comment(lib,"opencv_imgproc331d.lib")
#pragma comment(lib,"opencv_photo331d.lib")
#else
#pragma comment(lib,"opencv_core331.lib")
#pragma comm
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值