Win7 64bit下MexOpenCV的安装,Matlab和C++ & OpenCV的完美结合

1. C++编译环境的安装(Win 7 64bit,x64平台)

VS2010 + Windows SDK7.1 + VS2010 Sp1 +  VC-Compiler-KB2519277

详细见本博客链接:Windows SDK 7.1 安装

 

2. OpenCV的安装

OpenCV2.4.x,解压缩安装在D:\OpenCV

D:\opencv\build\x64\vc10\bin加入到系统的Path里面

 

3. OpenCV的编译

用CMake + VS2010自己编译OpenCV

具体过程见本博客链接:Compile OpenCV 2.4.2 for Win 7 (64 bit) by using CMake+VS 2010

可以只用Release+x64生成解决方案,最好用Release和Debug都在+x64上生成一遍。

假设CMake编译好的OpenCV放在目录E:\opencv

用VS2010生成的文件默认是放在E:\OpenCV\install文件夹下面

D:\opencv此文件夹下面的build\x64\vc10下面的lib文件夹重名为lib_old,因为我们要换成新的64bit下面自己编译的lib文件。然后,将E:\OpenCV\install中新生成的lib文件夹整个复制放在D:\opencv\build\x64\vc10下面,作为我们新的lib文件夹。

 

4. MexOpenCV的安装

解压缩,假设安装到D:\Matlab\MexOpenCV

将此文件夹加到Matlab的Path里面并保存。

PS:Matlab必须是2011a及以后的版本。

用"mex –setup”设置我们用的编译器是Windows SDK 7.1。

如果以前编译过MexOpenCV,记得先运行cv.make('clean')清理一遍。

然后运行cv.make('opencv_path', 'D:\opencv')

将所有的cpp文件用mex编译一下。

至此收工,可以试着去运行MexOpenCV\samples里面的例程了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是用C++和OpenCV库实现的灰度变换函数: ```c++ #include <opencv2/opencv.hpp> #include <iostream> using namespace std; using namespace cv; void grayTransform(Mat& image, double alpha, double beta){ // 获取图像宽、高、通道数 int width = image.cols; int height = image.rows; int channels = image.channels(); // 判断输入图像是否为灰度图像 if(channels != 1){ cout << "输入图像不是灰度图像!" << endl; return; } // 对每一个像素进行灰度变换 for(int i = 0; i < height; i++){ for(int j = 0; j < width; j++){ int gray = image.at<uchar>(i, j); gray = saturate_cast<uchar>(alpha * gray + beta); image.at<uchar>(i, j) = gray; } } } int main(){ Mat image = imread("lena.jpg", IMREAD_GRAYSCALE); if(image.empty()){ cout << "读取图像失败!" << endl; return -1; } double alpha, beta; cout << "请输入灰度变换参数alpha和beta:" << endl; cin >> alpha >> beta; Mat result; grayTransform(image, alpha, beta); imshow("原图像", image); imshow("灰度变换后的图像", result); waitKey(0); return 0; } ``` 其中,`grayTransform()`函数对输入的灰度图像进行灰度变换,参数`alpha`和`beta`是灰度变换的参数。在`main()`函数中,用户可以输入灰度变换的参数,然后调用`grayTransform()`函数实现灰度变换,并显示原图像和变换后的图像。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值